From ebc2aa26d3fa93bc8f130c61fd4bf695f6312479 Mon Sep 17 00:00:00 2001 From: spessasus Date: Sun, 15 Dec 2024 19:55:21 +0100 Subject: [PATCH] MIDI class cleanup properly fix #84 --- package.json | 2 +- src/spessasynth_lib/midi_parser/basic_midi.js | 378 +++++++++++++----- .../midi_parser/midi_builder.js | 107 +---- src/spessasynth_lib/midi_parser/midi_data.js | 230 ++++++----- .../midi_parser/midi_loader.js | 2 + src/spessasynth_lib/sequencer/sequencer.js | 5 +- .../synthetizer/worklet_processor.min.js | 18 +- src/website/js/main/local_main.js | 2 + src/website/js/sequencer_ui/lyrics.js | 1 + .../js/sequencer_ui/title_and_media_status.js | 12 +- .../methods/synthui_selector.js | 2 +- src/website/minified/demo_main.min.js | 86 ++-- src/website/minified/local_main.min.js | 78 ++-- 13 files changed, 520 insertions(+), 403 deletions(-) diff --git a/package.json b/package.json index 3b5cf327..a984e89a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "SpessaSynth", - "version": "3.23.6", + "version": "3.23.7", "type": "module", "scripts": { "start": "node src/website/server/server.js", diff --git a/src/spessasynth_lib/midi_parser/basic_midi.js b/src/spessasynth_lib/midi_parser/basic_midi.js index dc0ccab5..93f4370c 100644 --- a/src/spessasynth_lib/midi_parser/basic_midi.js +++ b/src/spessasynth_lib/midi_parser/basic_midi.js @@ -1,128 +1,288 @@ +import { messageTypes } from "./midi_message.js"; +import { readBytesAsUintBigEndian } from "../utils/byte_functions/big_endian.js"; + export class BasicMIDI { - constructor() + /** + * The time division of the sequence, representing the number of ticks per beat. + * @type {number} + */ + timeDivision = 0; + + /** + * The duration of the sequence, in seconds. + * @type {number} + */ + duration = 0; + + /** + * The tempo changes in the sequence, ordered from the last change to the first. + * Each change is represented by an object with a tick position and a tempo value in beats per minute. + * @type {{ticks: number, tempo: number}[]} + */ + tempoChanges = [{ ticks: 0, tempo: 120 }]; + + /** + * A string containing the copyright information for the MIDI sequence if detected. + * @type {string} + */ + copyright = ""; + + /** + * The number of tracks in the MIDI sequence. + * @type {number} + */ + tracksAmount = 0; + + /** + * An array containing the lyrics of the sequence, stored as binary chunks (Uint8Array). + * @type {Uint8Array[]} + */ + lyrics = []; + + /** + * The tick position of the first note-on event in the MIDI sequence. + * @type {number} + */ + firstNoteOn = 0; + + /** + * The MIDI key range used in the sequence, represented by a minimum and maximum note value. + * @type {{min: number, max: number}} + */ + keyRange = { min: 0, max: 127 }; + + /** + * The tick position of the last voice event (such as note-on, note-off, or control change) in the sequence. + * @type {number} + */ + lastVoiceEventTick = 0; + + /** + * An array of MIDI port numbers used by each track in the sequence. + * @type {number[]} + */ + midiPorts = [0]; + + /** + * An array of channel offsets for each MIDI port, using the SpessaSynth method. + * @type {number[]} + */ + midiPortChannelOffsets = [0]; + + /** + * A list of sets, where each set contains the MIDI channels used by each track in the sequence. + * @type {Set[]} + */ + usedChannelsOnTrack = []; + + /** + * The loop points (in ticks) of the sequence, including both start and end points. + * @type {{start: number, end: number}} + */ + loop = { start: 0, end: 0 }; + + /** + * The name of the MIDI sequence. + * @type {string} + */ + midiName = ""; + + /** + * A boolean indicating if the sequence's name is the same as the file name. + * @type {boolean} + */ + midiNameUsesFileName = false; + + /** + * The file name of the MIDI sequence, if provided during parsing. + * @type {string} + */ + fileName = ""; + + /** + * The raw, encoded MIDI name, represented as a Uint8Array. + * Useful when the MIDI file uses a different code page. + * @type {Uint8Array} + */ + rawMidiName = undefined; + + /** + * The embedded soundfont in the MIDI file, represented as an ArrayBuffer, if available. + * @type {ArrayBuffer|undefined} + */ + embeddedSoundFont = undefined; + + /** + * The format of the MIDI file, which can be 0, 1, or 2, indicating the type of the MIDI file. + * @type {number} + */ + format = 0; + + /** + * The RMID (Resource Interchangeable MIDI) info data, if the file is RMID formatted. + * Otherwise, this field is undefined. + * Chunk type (e.g. "INAM"): Chunk data as binary array. + * @type {Object} + */ + RMIDInfo = {}; + + /** + * The bank offset used for RMID files. + * @type {number} + */ + bankOffset = 0; + + /** + * The actual track data of the MIDI file, represented as an array of tracks. + * Tracks are arrays of MidiMessage objects. + * @type {MidiMessage[][]} + */ + tracks = []; + + /** + * Copies a MIDI + * @param mid {BasicMIDI} + * @returns {BasicMIDI} + */ + static copyFrom(mid) { - /** - * The time division of the sequence - * @type {number} - */ - this.timeDivision = 0; - /** - * The duration of the sequence, in seconds - * @type {number} - */ - this.duration = 0; - /** - * The tempo changes in the sequence, ordered from last to first - * @type {{ticks: number, tempo: number}[]} - */ - this.tempoChanges = [{ ticks: 0, tempo: 120 }]; - /** - * Contains the copyright strings - * @type {string} - */ - this.copyright = ""; + const m = new BasicMIDI(); - /** - * The amount of tracks in the sequence - * @type {number} - */ - this.tracksAmount = 0; + m.midiName = mid.midiName; + m.midiNameUsesFileName = mid.midiNameUsesFileName; + m.fileName = mid.fileName; + m.timeDivision = mid.timeDivision; + m.duration = mid.duration; + m.copyright = mid.copyright; + m.tracksAmount = mid.tracksAmount; + m.firstNoteOn = mid.firstNoteOn; + m.keyRange = { ...mid.keyRange }; // Deep copy of keyRange + m.lastVoiceEventTick = mid.lastVoiceEventTick; + m.loop = { ...mid.loop }; // Deep copy of loop + m.format = mid.format; + m.bankOffset = mid.bankOffset; - /** - * The lyrics of the sequence as binary chunks - * @type {Uint8Array[]} - */ - this.lyrics = []; - - /** - * First note on of the MIDI file - * @type {number} - */ - this.firstNoteOn = 0; + // Copying arrays + m.tempoChanges = [...mid.tempoChanges]; // Shallow copy + m.lyrics = mid.lyrics.map(arr => new Uint8Array(arr)); // Deep copy of each binary chunk + m.midiPorts = [...mid.midiPorts]; // Shallow copy + m.midiPortChannelOffsets = [...mid.midiPortChannelOffsets]; // Shallow copy + m.usedChannelsOnTrack = mid.usedChannelsOnTrack.map(set => new Set(set)); // Deep copy + m.rawMidiName = mid.rawMidiName ? new Uint8Array(mid.rawMidiName) : undefined; // Deep copy + m.embeddedSoundFont = mid.embeddedSoundFont ? mid.embeddedSoundFont.slice() : undefined; // Deep copy - /** - * The MIDI's key range - * @type {{min: number, max: number}} - */ - this.keyRange = { min: 0, max: 127 }; + // Copying RMID Info object (deep copy) + m.RMIDInfo = { ...mid.RMIDInfo }; - /** - * The last voice (note on, off, cc change etc.) event tick - * @type {number} - */ - this.lastVoiceEventTick = 0; + // Copying track data (deep copy of each track) + m.tracks = mid.tracks.map(track => [...track]); // Shallow copy of each track array - /** - * Midi port numbers for each track - * @type {number[]} - */ - this.midiPorts = [0]; + return m; + } + + /** + * Updates all internal values + */ + flush() + { - /** - * Channel offsets for each port, using the SpessaSynth method - * @type {number[]} - */ - this.midiPortChannelOffsets = [0]; + // find first note on + const firstNoteOns = []; + for (const t of this.tracks) + { + // sost the track by ticks + t.sort((e1, e2) => e1.ticks - e2.ticks); + const firstNoteOn = t.find(e => (e.messageStatusByte & 0xF0) === messageTypes.noteOn); + if (firstNoteOn) + { + firstNoteOns.push(firstNoteOn.ticks); + } + } + this.firstNoteOn = Math.min(...firstNoteOns); + // find tempo changes + // and used channels on tracks + // and midi ports + // and last voice event tick + // and loop + this.lastVoiceEventTick = 0; + this.tempoChanges = [{ ticks: 0, tempo: 120 }]; + this.midiPorts = []; + this.midiPortChannelOffsets = []; + let portOffset = 0; /** - * All channels that each track uses * @type {Set[]} */ - this.usedChannelsOnTrack = []; - - /** - * The loop points (in ticks) of the sequence - * @type {{start: number, end: number}} - */ - this.loop = { start: 0, end: 0 }; - - /** - * The sequence's name - * @type {string} - */ - this.midiName = ""; - - /** - * The file name of the sequence, if provided in the MIDI class - * @type {string} - */ - this.fileName = ""; + this.usedChannelsOnTrack = this.tracks.map(() => new Set()); + this.tracks.forEach((t, trackNum) => + { + this.midiPorts.push(-1); + t.forEach(e => + { + // last voice event tick + if (e.messageStatusByte >= 0x80 && e.messageStatusByte < 0xF0) + { + if (e.ticks > this.lastVoiceEventTick) + { + this.lastVoiceEventTick = e.ticks; + } + } + + // tempo, used channels, port + if (e.messageStatusByte === messageTypes.setTempo) + { + this.tempoChanges.push({ + ticks: e.ticks, + tempo: 60000000 / readBytesAsUintBigEndian( + e.messageData, + 3 + ) + }); + } + else if ((e.messageStatusByte & 0xF0) === messageTypes.noteOn) + { + this.usedChannelsOnTrack[trackNum].add(e.messageData[0]); + } + else if (e.messageStatusByte === messageTypes.midiPort) + { + const port = e.messageData[0]; + this.midiPorts[trackNum] = port; + if (this.midiPortChannelOffsets[port] === undefined) + { + this.midiPortChannelOffsets[port] = portOffset; + portOffset += 16; + } + } + }); + }); - /** - * The raw, encoded MIDI name. - * @type {Uint8Array} - */ - this.rawMidiName = undefined; + this.loop = { start: this.firstNoteOn, end: this.lastVoiceEventTick }; - /** - * The MIDI's embedded soundfont - * @type {ArrayBuffer|undefined} - */ - this.embeddedSoundFont = undefined; + // reverse tempo and compute duration + this.tempoChanges.reverse(); + this.duration = MIDIticksToSeconds(this.lastVoiceEventTick, this); - /** - * The MIDI file's format - * @type {number} - */ - this.format = 0; - - /** - * The RMID Info data if RMID, otherwise undefined - * @type {Object} - */ - this.RMIDInfo = {}; - /** - * The bank offset for RMIDI - * @type {number} - */ - this.bankOffset = 0; - - /** - * The actual track data of the MIDI file - * @type {MidiMessage[][]} - */ - this.tracks = []; + // fix midi ports: + // midi tracks without ports will have a value of -1 + // if all ports have a value of -1, set it to 0, otherwise take the first midi port and replace all -1 with it + // why do this? some midis (for some reason) specify all channels to port 1 or else, but leave the conductor track with no port pref. + // this spessasynth to reserve the first 16 channels for the conductor track (which doesn't play anything) and use additional 16 for the actual ports. + let defaultP = 0; + for (let port of this.midiPorts) + { + if (port !== -1) + { + defaultP = port; + break; + } + } + this.midiPorts = this.midiPorts.map(port => port === -1 ? defaultP : port); + // add dummy port if empty + if (this.midiPortChannelOffsets.length === 0) + { + this.midiPortChannelOffsets = [0]; + } } } diff --git a/src/spessasynth_lib/midi_parser/midi_builder.js b/src/spessasynth_lib/midi_parser/midi_builder.js index c111c7e6..6dd90958 100644 --- a/src/spessasynth_lib/midi_parser/midi_builder.js +++ b/src/spessasynth_lib/midi_parser/midi_builder.js @@ -1,7 +1,6 @@ -import { BasicMIDI, MIDIticksToSeconds } from "./basic_midi.js"; +import { BasicMIDI } from "./basic_midi.js"; import { messageTypes, MidiMessage } from "./midi_message.js"; import { IndexedByteArray } from "../utils/indexed_array.js"; -import { readBytesAsUintBigEndian } from "../utils/byte_functions/big_endian.js"; import { SpessaSynthWarn } from "../utils/loggin.js"; export class MIDIBuilder extends BasicMIDI @@ -24,110 +23,6 @@ export class MIDIBuilder extends BasicMIDI this.addSetTempo(0, initialTempo); } - /** - * Updates all internal values - */ - flush() - { - - // find first note on - const firstNoteOns = []; - for (const t of this.tracks) - { - // sost the track by ticks - t.sort((e1, e2) => e1.ticks - e2.ticks); - const firstNoteOn = t.find(e => (e.messageStatusByte & 0xF0) === messageTypes.noteOn); - if (firstNoteOn) - { - firstNoteOns.push(firstNoteOn.ticks); - } - } - this.firstNoteOn = Math.min(...firstNoteOns); - - // find tempo changes - // and used channels on tracks - // and midi ports - // and last voice event tick - // and loop - this.lastVoiceEventTick = 0; - this.tempoChanges = [{ ticks: 0, tempo: 120 }]; - this.midiPorts = []; - this.midiPortChannelOffsets = []; - let portOffset = 0; - /** - * @type {Set[]} - */ - this.usedChannelsOnTrack = this.tracks.map(() => new Set()); - this.tracks.forEach((t, trackNum) => - { - this.midiPorts.push(-1); - t.forEach(e => - { - // last voice event tick - if (e.messageStatusByte >= 0x80 && e.messageStatusByte < 0xF0) - { - if (e.ticks > this.lastVoiceEventTick) - { - this.lastVoiceEventTick = e.ticks; - } - } - - // tempo, used channels, port - if (e.messageStatusByte === messageTypes.setTempo) - { - this.tempoChanges.push({ - ticks: e.ticks, - tempo: 60000000 / readBytesAsUintBigEndian( - e.messageData, - 3 - ) - }); - } - else if ((e.messageStatusByte & 0xF0) === messageTypes.noteOn) - { - this.usedChannelsOnTrack[trackNum].add(e.messageData[0]); - } - else if (e.messageStatusByte === messageTypes.midiPort) - { - const port = e.messageData[0]; - this.midiPorts[trackNum] = port; - if (this.midiPortChannelOffsets[port] === undefined) - { - this.midiPortChannelOffsets[port] = portOffset; - portOffset += 16; - } - } - }); - }); - - this.loop = { start: this.firstNoteOn, end: this.lastVoiceEventTick }; - - // reverse tempo and compute duration - this.tempoChanges.reverse(); - this.duration = MIDIticksToSeconds(this.lastVoiceEventTick, this); - - // fix midi ports: - // midi tracks without ports will have a value of -1 - // if all ports have a value of -1, set it to 0, otherwise take the first midi port and replace all -1 with it - // why do this? some midis (for some reason) specify all channels to port 1 or else, but leave the conductor track with no port pref. - // this spessasynth to reserve the first 16 channels for the conductor track (which doesn't play anything) and use additional 16 for the actual ports. - let defaultP = 0; - for (let port of this.midiPorts) - { - if (port !== -1) - { - defaultP = port; - break; - } - } - this.midiPorts = this.midiPorts.map(port => port === -1 ? defaultP : port); - // add dummy port if empty - if (this.midiPortChannelOffsets.length === 0) - { - this.midiPortChannelOffsets = [0]; - } - } - /** * Adds a new "set tempo" message * @param ticks {number} the tick number of the event diff --git a/src/spessasynth_lib/midi_parser/midi_data.js b/src/spessasynth_lib/midi_parser/midi_data.js index ea6bae99..1ae7d718 100644 --- a/src/spessasynth_lib/midi_parser/midi_data.js +++ b/src/spessasynth_lib/midi_parser/midi_data.js @@ -5,118 +5,167 @@ export class MidiData { /** - * @param midi {BasicMIDI} + * The time division of the sequence, representing the number of ticks per beat. + * @type {number} + */ + timeDivision = 0; + + /** + * The duration of the sequence, in seconds. + * @type {number} + */ + duration = 0; + + /** + * The tempo changes in the sequence, ordered from the last change to the first. + * Each change is represented by an object with a tick position and a tempo value in beats per minute. + * @type {{ticks: number, tempo: number}[]} + */ + tempoChanges = [{ ticks: 0, tempo: 120 }]; + + /** + * A string containing the copyright information for the MIDI sequence. + * @type {string} + */ + copyright = ""; + + /** + * The number of tracks in the MIDI sequence. + * @type {number} + */ + tracksAmount = 0; + + /** + * An array containing the lyrics of the sequence, stored as binary chunks (Uint8Array). + * @type {Uint8Array[]} + */ + lyrics = []; + + /** + * The tick position of the first note-on event in the MIDI sequence. + * @type {number} + */ + firstNoteOn = 0; + + /** + * The MIDI key range used in the sequence, represented by a minimum and maximum note value. + * @type {{min: number, max: number}} + */ + keyRange = { min: 0, max: 127 }; + + /** + * The tick position of the last voice event (such as note-on, note-off, or control change) in the sequence. + * @type {number} + */ + lastVoiceEventTick = 0; + + /** + * An array of MIDI port numbers used by each track in the sequence. + * @type {number[]} + */ + midiPorts = [0]; + + /** + * An array of channel offsets for each MIDI port, using the SpessaSynth method. + * @type {number[]} + */ + midiPortChannelOffsets = [0]; + + /** + * A list of sets, where each set contains the MIDI channels used by each track in the sequence. + * @type {Set[]} + */ + usedChannelsOnTrack = []; + + /** + * The loop points (in ticks) of the sequence, including both start and end points. + * @type {{start: number, end: number}} + */ + loop = { start: 0, end: 0 }; + + /** + * The name of the MIDI sequence. + * @type {string} + */ + midiName = ""; + + /** + * A boolean indicating if the sequence's name is the same as the file name. + * @type {boolean} + */ + midiNameUsesFileName = false; + + /** + * The file name of the MIDI sequence, if provided by the MIDI class. + * @type {string} + */ + fileName = ""; + + /** + * The raw, encoded MIDI name, represented as a Uint8Array. + * @type {Uint8Array} + */ + rawMidiName = undefined; + + /** + * A boolean indicating if the MIDI file contains an embedded soundfont. + * If the embedded soundfont is undefined, this will be false. + * @type {boolean} + */ + isEmbedded = false; + + /** + * The MIDI file's format, which can be 0, 1, or 2, indicating the type of the MIDI file. + * @type {number} + */ + format = 0; + + /** + * The RMID (Resource Interchangeable MIDI) info data, if the file is RMID formatted. + * Otherwise, this field is undefined. + * @type {Object} + */ + RMIDInfo = {}; + + /** + * The bank offset used for RMID files. + * @type {number} + */ + bankOffset = 0; + + /** + * Constructor that copies data from a BasicMIDI instance, except for tracks and embeddedSoundFont. + * @param {BasicMIDI} midi - The BasicMIDI instance to copy data from. */ constructor(midi) { - /** - * The time division of the sequence - * @type {number} - */ this.timeDivision = midi.timeDivision; - /** - * The duration of the sequence, in seconds - * @type {number} - */ this.duration = midi.duration; - /** - * The tempo changes in the sequence, ordered from last to first - * @type {{ticks: number, tempo: number}[]} - */ this.tempoChanges = midi.tempoChanges; - /** - * Contains the copyright strings - * @type {string} - */ this.copyright = midi.copyright; - - /** - * The amount of tracks in the sequence - * @type {number} - */ this.tracksAmount = midi.tracksAmount; - - /** - * The lyrics of the sequence as binary chunks - * @type {Uint8Array[]} - */ this.lyrics = midi.lyrics; - this.firstNoteOn = midi.firstNoteOn; - - /** - * The MIDI's key range - * @type {{min: number, max: number}} - */ this.keyRange = midi.keyRange; - - /** - * The last voice (note on, off, cc change etc.) event tick - * @type {number} - */ this.lastVoiceEventTick = midi.lastVoiceEventTick; - - /** - * Midi port numbers for each track - * @type {number[]} - */ this.midiPorts = midi.midiPorts; - - /** - * Channel offsets for each port, using the SpessaSynth method - * @type {number[]} - */ this.midiPortChannelOffsets = midi.midiPortChannelOffsets; - - /** - * All channels that each track uses - * @type {Set[]} - */ this.usedChannelsOnTrack = midi.usedChannelsOnTrack; - - /** - * The loop points (in ticks) of the sequence - * @type {{start: number, end: number}} - */ this.loop = midi.loop; - - /** - * The sequence's name - * @type {string} - */ this.midiName = midi.midiName; - - /** - * The file name of the sequence, if provided in the MIDI class - * @type {string} - */ + this.midiNameUsesFileName = midi.midiNameUsesFileName; this.fileName = midi.fileName; - - /** - * The raw, encoded MIDI name. - * @type {Uint8Array} - */ this.rawMidiName = midi.rawMidiName; - - /** - * Indicates if the midi has an embedded soundfont - * @type {boolean} - */ - this.isEmbedded = midi.embeddedSoundFont !== undefined; - - /** - * The RMID Info data if RMID, otherwise undefined - * @type {Object} - */ + this.format = midi.format; this.RMIDInfo = midi.RMIDInfo; - /** - * The bank offset for RMIDI - * @type {number} - */ this.bankOffset = midi.bankOffset; + + // Set isEmbedded based on the presence of an embeddedSoundFont + this.isEmbedded = midi.embeddedSoundFont !== undefined; } } + /** * * @type {MidiData} @@ -143,6 +192,7 @@ export const DUMMY_MIDI_DATA = { timeDivision: 0, keyRange: { min: 0, max: 127 }, isEmbedded: false, - RMIDInfo: undefined, - bankOffset: 0 + RMIDInfo: {}, + bankOffset: 0, + midiNameUsesFileName: false }; \ No newline at end of file diff --git a/src/spessasynth_lib/midi_parser/midi_loader.js b/src/spessasynth_lib/midi_parser/midi_loader.js index 9be675b8..1aeec431 100644 --- a/src/spessasynth_lib/midi_parser/midi_loader.js +++ b/src/spessasynth_lib/midi_parser/midi_loader.js @@ -582,6 +582,7 @@ class MIDI extends BasicMIDI this.fileName = fileName; this.midiName = this.midiName.trim(); + this.midiNameUsesFileName = false; // if midiName is "", use the file name if (this.midiName.length === 0) { @@ -590,6 +591,7 @@ class MIDI extends BasicMIDI consoleColors.info ); this.midiName = formatTitle(fileName); + this.midiNameUsesFileName = true; // encode it too this.rawMidiName = new Uint8Array(this.midiName.length); for (let i = 0; i < this.midiName.length; i++) diff --git a/src/spessasynth_lib/sequencer/sequencer.js b/src/spessasynth_lib/sequencer/sequencer.js index 3a66b7c9..24346f7a 100644 --- a/src/spessasynth_lib/sequencer/sequencer.js +++ b/src/spessasynth_lib/sequencer/sequencer.js @@ -8,6 +8,7 @@ import { } from "./worklet_sequencer/sequencer_message.js"; import { SpessaSynthWarn } from "../utils/loggin.js"; import { DUMMY_MIDI_DATA, MidiData } from "../midi_parser/midi_data.js"; +import { BasicMIDI } from "../midi_parser/basic_midi.js"; /** * sequencer.js @@ -95,7 +96,7 @@ export class Sequencer this.absoluteStartTime = this.synth.currentTime; /** - * @type {function(MIDI)} + * @type {function(BasicMIDI)} * @private */ this._getMIDIResolve = undefined; @@ -466,7 +467,7 @@ export class Sequencer case WorkletSequencerReturnMessageType.getMIDI: if (this._getMIDIResolve) { - this._getMIDIResolve(messageData); + this._getMIDIResolve(BasicMIDI.copyFrom(messageData)); } } } diff --git a/src/spessasynth_lib/synthetizer/worklet_processor.min.js b/src/spessasynth_lib/synthetizer/worklet_processor.min.js index f51c967e..0bf1af11 100644 --- a/src/spessasynth_lib/synthetizer/worklet_processor.min.js +++ b/src/spessasynth_lib/synthetizer/worklet_processor.min.js @@ -1,4 +1,4 @@ -var Ss=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>(typeof require<"u"?require:A)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var N=class extends Uint8Array{currentIndex;constructor(A){super(A),this.currentIndex=0}};function cA(t){let A=t.reduce((n,o)=>n+o.length,0),e=new N(A),s=0;for(let n of t)e.set(n,s),s+=n.length;return e}function Lt(t){t=Math.floor(t);let A=Math.floor(t/60),e=Math.round(t-A*60);return{minutes:A,seconds:e,time:`${A.toString().padStart(2,"0")}:${e.toString().padStart(2,"0")}`}}function Ds(t){return t.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}function SA(t){let A="";for(let e=0;e=128&&A<=224&&(s=e,n=A),{status:n,channel:s}}var k={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127},ws={8:2,9:2,10:2,11:2,12:1,13:1,14:2};var sA={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},le={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},qA=-1,DA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Fs=!1,Rs=!0,We=!1,Gs=!0;function xs(t,A,e,s){Fs=t,Rs=A,We=e,Gs=s}function p(...t){Fs&&console.info(...t)}function U(...t){Rs&&console.warn(...t)}function Ms(...t){Gs&&console.table(...t)}function ae(...t){We&&console.group(...t)}function QA(...t){We&&console.groupCollapsed(...t)}function V(){We&&console.groupEnd()}var Qe={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var r={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},J=[];J[r.startAddrsOffset]={min:0,max:32768,def:0};J[r.endAddrOffset]={min:-32768,max:32768,def:0};J[r.startloopAddrsOffset]={min:-32768,max:32768,def:0};J[r.endloopAddrsOffset]={min:-32768,max:32768,def:0};J[r.startAddrsCoarseOffset]={min:0,max:32768,def:0};J[r.modLfoToPitch]={min:-12e3,max:12e3,def:0};J[r.vibLfoToPitch]={min:-12e3,max:12e3,def:0};J[r.modEnvToPitch]={min:-12e3,max:12e3,def:0};J[r.initialFilterFc]={min:1500,max:13500,def:13500};J[r.initialFilterQ]={min:0,max:960,def:0};J[r.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};J[r.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};J[r.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};J[r.modLfoToVolume]={min:-960,max:960,def:0};J[r.chorusEffectsSend]={min:0,max:1e3,def:0};J[r.reverbEffectsSend]={min:0,max:1e3,def:0};J[r.pan]={min:-500,max:500,def:0};J[r.delayModLFO]={min:-12e3,max:5e3,def:-12e3};J[r.freqModLFO]={min:-16e3,max:4500,def:0};J[r.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};J[r.freqVibLFO]={min:-16e3,max:4500,def:0};J[r.delayModEnv]={min:-32768,max:5e3,def:-32768};J[r.attackModEnv]={min:-32768,max:8e3,def:-32768};J[r.holdModEnv]={min:-12e3,max:5e3,def:-12e3};J[r.decayModEnv]={min:-12e3,max:8e3,def:-12e3};J[r.sustainModEnv]={min:0,max:1e3,def:0};J[r.releaseModEnv]={min:-7200,max:8e3,def:-12e3};J[r.keyNumToModEnvHold]={min:-1200,max:1200,def:0};J[r.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};J[r.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};J[r.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};J[r.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};J[r.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};J[r.sustainVolEnv]={min:0,max:1440,def:0};J[r.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};J[r.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};J[r.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};J[r.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};J[r.keyNum]={min:-1,max:127,def:-1};J[r.velocity]={min:-1,max:127,def:-1};J[r.initialAttenuation]={min:-250,max:1440,def:0};J[r.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};J[r.coarseTune]={min:-120,max:120,def:0};J[r.fineTune]={min:-12700,max:12700,def:0};J[r.scaleTuning]={min:0,max:1200,def:100};J[r.exclusiveClass]={min:0,max:99999,def:0};J[r.overridingRootKey]={min:-1,max:127,def:-1};J[r.sampleModes]={min:0,max:3,def:0};var T=class{generatorType=r.INVALID;generatorValue=0;constructor(A=r.INVALID,e=0,s=!0){if(this.generatorType=A,e===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(e),s){let n=J[A];n!==void 0&&(this.generatorValue=Math.max(n.min,Math.min(n.max,this.generatorValue)))}}};function Ns(t,A,e){let s=J[t]||{min:0,max:32768,def:0},n=A.find(h=>h.generatorType===t),o=0;n&&(o=n.generatorValue);let i=e.find(h=>h.generatorType===t),a=s.def;i&&(a=i.generatorValue);let C=a+o;return t===r.initialAttenuation?C:Math.max(s.min,Math.min(s.max,C))}var q={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},uA={linear:0,concave:1,convex:2,switch:3},P=class t{currentValue=0;constructor(A){this.sourceEnum=A.srcEnum,this.modulatorDestination=A.dest,this.secondarySourceEnum=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform,this.modulatorDestination>58&&(this.modulatorDestination=r.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===r.reverbEffectsSend||this.modulatorDestination===r.chorusEffectsSend)}static copy(A){return new t({srcEnum:A.sourceEnum,secSrcEnum:A.secondarySourceEnum,transform:A.transformType,amt:A.transformAmount,dest:A.modulatorDestination})}static isIdentical(A,e,s=!1){return A.sourceEnum===e.sourceEnum&&A.modulatorDestination===e.modulatorDestination&&A.secondarySourceEnum===e.secondarySourceEnum&&A.transformType===e.transformType&&(!s||A.transformAmount===e.transformAmount)}sumTransform(A){return new t({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+A.transformAmount})}debugString(){function A(n,o){return Object.keys(n).find(i=>n[i]===o)}let e=A(uA,this.sourceCurveType);e+=this.sourcePolarity===0?" unipolar ":" bipolar ",e+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?e+=A(k,this.sourceIndex):e+=A(q,this.sourceIndex);let s=A(uA,this.secSrcCurveType);return s+=this.secSrcPolarity===0?" unipolar ":" bipolar ",s+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?s+=A(k,this.secSrcIndex):s+=A(q,this.secSrcIndex),`Modulator: +var Ss=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>(typeof require<"u"?require:A)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var N=class extends Uint8Array{currentIndex;constructor(A){super(A),this.currentIndex=0}};function cA(t){let A=t.reduce((n,o)=>n+o.length,0),e=new N(A),s=0;for(let n of t)e.set(n,s),s+=n.length;return e}function Lt(t){t=Math.floor(t);let A=Math.floor(t/60),e=Math.round(t-A*60);return{minutes:A,seconds:e,time:`${A.toString().padStart(2,"0")}:${e.toString().padStart(2,"0")}`}}function Ds(t){return t.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}function SA(t){let A="";for(let e=0;e=128&&A<=224&&(s=e,n=A),{status:n,channel:s}}var k={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127},ws={8:2,9:2,10:2,11:2,12:1,13:1,14:2};var sA={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},Qe={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},qA=-1,DA={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var Fs=!1,Rs=!0,We=!1,Gs=!0;function Ms(t,A,e,s){Fs=t,Rs=A,We=e,Gs=s}function p(...t){Fs&&console.info(...t)}function U(...t){Rs&&console.warn(...t)}function xs(...t){Gs&&console.table(...t)}function ae(...t){We&&console.group(...t)}function QA(...t){We&&console.groupCollapsed(...t)}function K(){We&&console.groupEnd()}var ue={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var r={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},J=[];J[r.startAddrsOffset]={min:0,max:32768,def:0};J[r.endAddrOffset]={min:-32768,max:32768,def:0};J[r.startloopAddrsOffset]={min:-32768,max:32768,def:0};J[r.endloopAddrsOffset]={min:-32768,max:32768,def:0};J[r.startAddrsCoarseOffset]={min:0,max:32768,def:0};J[r.modLfoToPitch]={min:-12e3,max:12e3,def:0};J[r.vibLfoToPitch]={min:-12e3,max:12e3,def:0};J[r.modEnvToPitch]={min:-12e3,max:12e3,def:0};J[r.initialFilterFc]={min:1500,max:13500,def:13500};J[r.initialFilterQ]={min:0,max:960,def:0};J[r.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};J[r.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};J[r.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};J[r.modLfoToVolume]={min:-960,max:960,def:0};J[r.chorusEffectsSend]={min:0,max:1e3,def:0};J[r.reverbEffectsSend]={min:0,max:1e3,def:0};J[r.pan]={min:-500,max:500,def:0};J[r.delayModLFO]={min:-12e3,max:5e3,def:-12e3};J[r.freqModLFO]={min:-16e3,max:4500,def:0};J[r.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};J[r.freqVibLFO]={min:-16e3,max:4500,def:0};J[r.delayModEnv]={min:-32768,max:5e3,def:-32768};J[r.attackModEnv]={min:-32768,max:8e3,def:-32768};J[r.holdModEnv]={min:-12e3,max:5e3,def:-12e3};J[r.decayModEnv]={min:-12e3,max:8e3,def:-12e3};J[r.sustainModEnv]={min:0,max:1e3,def:0};J[r.releaseModEnv]={min:-7200,max:8e3,def:-12e3};J[r.keyNumToModEnvHold]={min:-1200,max:1200,def:0};J[r.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};J[r.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};J[r.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};J[r.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};J[r.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};J[r.sustainVolEnv]={min:0,max:1440,def:0};J[r.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};J[r.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};J[r.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};J[r.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};J[r.keyNum]={min:-1,max:127,def:-1};J[r.velocity]={min:-1,max:127,def:-1};J[r.initialAttenuation]={min:-250,max:1440,def:0};J[r.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};J[r.coarseTune]={min:-120,max:120,def:0};J[r.fineTune]={min:-12700,max:12700,def:0};J[r.scaleTuning]={min:0,max:1200,def:100};J[r.exclusiveClass]={min:0,max:99999,def:0};J[r.overridingRootKey]={min:-1,max:127,def:-1};J[r.sampleModes]={min:0,max:3,def:0};var T=class{generatorType=r.INVALID;generatorValue=0;constructor(A=r.INVALID,e=0,s=!0){if(this.generatorType=A,e===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(e),s){let n=J[A];n!==void 0&&(this.generatorValue=Math.max(n.min,Math.min(n.max,this.generatorValue)))}}};function Ns(t,A,e){let s=J[t]||{min:0,max:32768,def:0},n=A.find(h=>h.generatorType===t),o=0;n&&(o=n.generatorValue);let i=e.find(h=>h.generatorType===t),a=s.def;i&&(a=i.generatorValue);let C=a+o;return t===r.initialAttenuation?C:Math.max(s.min,Math.min(s.max,C))}var q={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},uA={linear:0,concave:1,convex:2,switch:3},P=class t{currentValue=0;constructor(A){this.sourceEnum=A.srcEnum,this.modulatorDestination=A.dest,this.secondarySourceEnum=A.secSrcEnum,this.transformAmount=A.amt,this.transformType=A.transform,this.modulatorDestination>58&&(this.modulatorDestination=r.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===r.reverbEffectsSend||this.modulatorDestination===r.chorusEffectsSend)}static copy(A){return new t({srcEnum:A.sourceEnum,secSrcEnum:A.secondarySourceEnum,transform:A.transformType,amt:A.transformAmount,dest:A.modulatorDestination})}static isIdentical(A,e,s=!1){return A.sourceEnum===e.sourceEnum&&A.modulatorDestination===e.modulatorDestination&&A.secondarySourceEnum===e.secondarySourceEnum&&A.transformType===e.transformType&&(!s||A.transformAmount===e.transformAmount)}sumTransform(A){return new t({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+A.transformAmount})}debugString(){function A(n,o){return Object.keys(n).find(i=>n[i]===o)}let e=A(uA,this.sourceCurveType);e+=this.sourcePolarity===0?" unipolar ":" bipolar ",e+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?e+=A(k,this.sourceIndex):e+=A(q,this.sourceIndex);let s=A(uA,this.secSrcCurveType);return s+=this.secSrcPolarity===0?" unipolar ":" bipolar ",s+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?s+=A(k,this.secSrcIndex):s+=A(q,this.secSrcIndex),`Modulator: Source: ${e} Secondary source: ${s} Destination: ${A(r,this.modulatorDestination)} @@ -6,14 +6,14 @@ var Ss=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(A,e)=>( Transform type: ${this.transformType} -`}},Ut=960,Tt=uA.concave;function KA(t,A,e,s,n){return t<<10|A<<9|e<<8|s<<7|n}var Xe=[new P({srcEnum:KA(Tt,0,1,0,q.noteOnVelocity),dest:r.initialAttenuation,amt:Ut,secSrcEnum:0,transform:0}),new P({srcEnum:129,dest:r.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new P({srcEnum:KA(Tt,0,1,1,k.mainVolume),dest:r.initialAttenuation,amt:Ut,secSrcEnum:0,transform:0}),new P({srcEnum:13,dest:r.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new P({srcEnum:526,dest:r.fineTune,amt:12700,secSrcEnum:16,transform:0}),new P({srcEnum:650,dest:r.pan,amt:500,secSrcEnum:0,transform:0}),new P({srcEnum:KA(Tt,0,1,1,k.expressionController),dest:r.initialAttenuation,amt:Ut,secSrcEnum:0,transform:0}),new P({srcEnum:219,dest:r.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new P({srcEnum:221,dest:r.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new P({srcEnum:KA(uA.linear,0,0,0,q.polyPressure),dest:r.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new P({srcEnum:KA(uA.linear,0,0,1,k.tremoloDepth),dest:r.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new P({srcEnum:KA(uA.linear,1,0,1,k.releaseTime),dest:r.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new P({srcEnum:KA(uA.linear,1,0,1,k.brightness),dest:r.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new P({srcEnum:KA(uA.linear,1,0,1,k.timbreHarmonicContent),dest:r.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var dA=128,_e=147,ue=new Int16Array(_e).fill(0),kA=(t,A)=>ue[t]=A<<7;kA(k.mainVolume,100);kA(k.balance,64);kA(k.expressionController,127);kA(k.pan,64);kA(k.timbreHarmonicContent,64);kA(k.releaseTime,64);kA(k.attackTime,64);kA(k.brightness,64);kA(k.soundController6,64);kA(k.soundController7,64);kA(k.soundController8,64);kA(k.soundController9,64);kA(k.generalPurposeController6,64);kA(k.generalPurposeController8,64);kA(dA+q.pitchWheel,64);kA(dA+q.pitchWheelRange,2);var hA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},vt=Object.keys(hA).length,Ht=new Float32Array(vt);Ht[hA.modulationMultiplier]=1;var wA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function bs(t=!1){let A={midiControllers:new Int16Array(_e),lockedControllers:Array(_e).fill(!1),customControllers:new Float32Array(vt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:wA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}function te(t,A){t.lockPreset||(t.bank=A)}function XA(t){return t.drumChannel?128:t.bank}var Yt={velocityOverride:128};var ze={addMapping:0,deleteMapping:1,clearMappings:2},je=class{_keyMappings=[];handleMessage(A,e){switch(A){default:return;case ze.addMapping:this.addMapping(...e);break;case ze.clearMappings:this.clearMappings();break;case ze.deleteMapping:this.deleteMapping(...e)}}addMapping(A,e,s){this._keyMappings[A]===void 0&&(this._keyMappings[A]=[]),this._keyMappings[A][e]=s}deleteMapping(A,e){this._keyMappings[A]?.[e]!==void 0&&(this._keyMappings[A][e]=void 0)}clearMappings(){this._keyMappings=[]}setMappings(A){this._keyMappings=A}getMappings(){return this._keyMappings}getVelocity(A,e){let s=this._keyMappings[A]?.[e];return s?s.velocity:-1}hasOverridePatch(A,e){let s=this._keyMappings[A]?.[e]?.patch?.bank;return s!==void 0&&s>=0}getPatch(A,e){let s=this._keyMappings[A]?.[e];if(s)return s.patch;throw new Error("No modifier.")}};var Ls="spessasynth-worklet-system",Us=350,RA=9,$e=16,At="gs";var MA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10,setPreservePlaybackState:11},NA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function se(t,A){let e=0;for(let s=8*(A-1);s>=0;s-=8)e|=t[t.currentIndex++]<>>0}function Ts(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=Ne(t.messageStatusByte),s=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=s,e.status){case M.noteOn:let n=t.messageData[1];if(n>0)this.synth.noteOn(e.channel,t.messageData[0],n),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:n});else{this.synth.noteOff(e.channel,t.messageData[0]);let i=this.playingNotes.findIndex(a=>a.midiNote===t.messageData[0]&&a.channel===e.channel);i!==-1&&this.playingNotes.splice(i,1)}break;case M.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(i=>i.midiNote===t.messageData[0]&&i.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case M.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case M.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case M.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case M.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case M.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case M.systemExclusive:this.synth.systemExclusive(t.messageData,s);break;case M.setTempo:this.oneTickToSeconds=60/(ar(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),U("invalid tempo! falling back to 120 BPM"));break;case M.timeSignature:case M.endOfTrack:case M.midiChannelPrefix:case M.songPosition:case M.activeSensing:case M.keySignature:case M.sequenceNumber:case M.sequenceSpecific:break;case M.text:case M.lyric:case M.copyright:case M.trackName:case M.marker:case M.cuePoint:case M.instrumentName:case M.programName:this.post(NA.textEvent,[t.messageData,e.status]);break;case M.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case M.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:U(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(M).find(i=>M[i]===e.status)}`,g.warn,g.unrecognized,g.warn,g.value);break}}function vs(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===RA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function ar(t){return t.messageData.currentIndex=0,6e7/se(t.messageData,3)}function Hs(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let s=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(s.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Ys(){let t=0,A=1/0;return this.tracks.forEach((e,s)=>{this.eventIndex[s]>=e.length||e[this.eventIndex[s]].ticks>>0}function de(t,A,e){for(let s=0;s>s*8&255}function b(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function O(t,A){de(t,A,4)}function ne(t,A){let e=A<<8|t;return e>32767?e-65536:e}function Js(t){return t>127?t-256:t}function _(t,A,e=void 0,s=!0){if(e){let n=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(n.buffer)}else{let n=!1,o="";for(let i=0;i127)&&a!==10){if(s){n=!0;continue}else if(a===0){n=!0;continue}}o+=String.fromCharCode(a)}}return o}}function Ps(t,A=0){let e=t.length;A>0&&(e=A);let s=new N(e);return yA(s,t,A),s}function ge(t){return Ps(t,t.length+1)}function yA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let s=0;sA.length)for(let s=0;se.header!=="LIST"?!1:(e.chunkData.currentIndex=0,_(e.chunkData,4)===A))}function tt(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var st={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var nt=class{constructor(){this.timeDivision=0,this.duration=0,this.tempoChanges=[{ticks:0,tempo:120}],this.copyright="",this.tracksAmount=0,this.lyrics=[],this.firstNoteOn=0,this.keyRange={min:0,max:127},this.lastVoiceEventTick=0,this.midiPorts=[0],this.midiPortChannelOffsets=[0],this.usedChannelsOnTrack=[],this.loop={start:0,end:0},this.midiName="",this.fileName="",this.rawMidiName=void 0,this.embeddedSoundFont=void 0,this.format=0,this.RMIDInfo={},this.bankOffset=0,this.tracks=[]}};function fe(t,A){let e=0;for(;t>0;){let s=A.tempoChanges.find(o=>o.ticksde[t]=A<<7;kA(k.mainVolume,100);kA(k.balance,64);kA(k.expressionController,127);kA(k.pan,64);kA(k.timbreHarmonicContent,64);kA(k.releaseTime,64);kA(k.attackTime,64);kA(k.brightness,64);kA(k.soundController6,64);kA(k.soundController7,64);kA(k.soundController8,64);kA(k.soundController9,64);kA(k.generalPurposeController6,64);kA(k.generalPurposeController8,64);kA(dA+q.pitchWheel,64);kA(dA+q.pitchWheelRange,2);var hA={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},vt=Object.keys(hA).length,Ht=new Float32Array(vt);Ht[hA.modulationMultiplier]=1;var wA={Idle:0,RPCoarse:1,RPFine:2,NRPCoarse:3,NRPFine:4,DataCoarse:5,DataFine:6};function bs(t=!1){let A={midiControllers:new Int16Array(_e),lockedControllers:Array(_e).fill(!1),customControllers:new Float32Array(vt),NRPCoarse:0,NRPFine:0,RPValue:0,dataEntryState:wA.Idle,voices:[],sustainedVoices:[],cachedVoices:[],preset:this.defaultPreset,presetUsesOverride:!1,channelTransposeKeyShift:0,channelOctaveTuning:new Int8Array(12),keyCentTuning:new Int16Array(128),channelVibrato:{delay:0,depth:0,rate:0},velocityOverride:0,lockGSNRPNParams:!1,holdPedal:!1,isMuted:!1,drumChannel:!1,lockPreset:!1};for(let e=0;e<128;e++)A.cachedVoices.push([]);this.workletProcessorChannels.push(A),this.resetControllers(this.workletProcessorChannels.length-1),this.sendChannelProperties(),t&&this.callEvent("newchannel",void 0)}function se(t,A){t.lockPreset||(t.bank=A)}function XA(t){return t.drumChannel?128:t.bank}var Yt={velocityOverride:128};var ze={addMapping:0,deleteMapping:1,clearMappings:2},je=class{_keyMappings=[];handleMessage(A,e){switch(A){default:return;case ze.addMapping:this.addMapping(...e);break;case ze.clearMappings:this.clearMappings();break;case ze.deleteMapping:this.deleteMapping(...e)}}addMapping(A,e,s){this._keyMappings[A]===void 0&&(this._keyMappings[A]=[]),this._keyMappings[A][e]=s}deleteMapping(A,e){this._keyMappings[A]?.[e]!==void 0&&(this._keyMappings[A][e]=void 0)}clearMappings(){this._keyMappings=[]}setMappings(A){this._keyMappings=A}getMappings(){return this._keyMappings}getVelocity(A,e){let s=this._keyMappings[A]?.[e];return s?s.velocity:-1}hasOverridePatch(A,e){let s=this._keyMappings[A]?.[e]?.patch?.bank;return s!==void 0&&s>=0}getPatch(A,e){let s=this._keyMappings[A]?.[e];if(s)return s.patch;throw new Error("No modifier.")}};var Ls="spessasynth-worklet-system",Us=350,RA=9,$e=16,At="gs";var xA={loadNewSongList:0,pause:1,stop:2,play:3,setTime:4,changeMIDIMessageSending:5,setPlaybackRate:6,setLoop:7,changeSong:8,getMIDI:9,setSkipToFirstNote:10,setPreservePlaybackState:11},NA={midiEvent:0,songChange:1,textEvent:2,timeChange:3,pause:4,getMIDI:5,midiError:6};function _A(t,A){let e=0;for(let s=8*(A-1);s>=0;s-=8)e|=t[t.currentIndex++]<>>0}function Ts(t,A){if(this.ignoreEvents)return;if(this.sendMIDIMessages&&t.messageStatusByte>=128){this.sendMIDIMessage([t.messageStatusByte,...t.messageData]);return}let e=Ne(t.messageStatusByte),s=this.midiPortChannelOffsets[this.midiPorts[A]]||0;switch(e.channel+=s,e.status){case M.noteOn:let n=t.messageData[1];if(n>0)this.synth.noteOn(e.channel,t.messageData[0],n),this.playingNotes.push({midiNote:t.messageData[0],channel:e.channel,velocity:n});else{this.synth.noteOff(e.channel,t.messageData[0]);let i=this.playingNotes.findIndex(a=>a.midiNote===t.messageData[0]&&a.channel===e.channel);i!==-1&&this.playingNotes.splice(i,1)}break;case M.noteOff:this.synth.noteOff(e.channel,t.messageData[0]);let o=this.playingNotes.findIndex(i=>i.midiNote===t.messageData[0]&&i.channel===e.channel);o!==-1&&this.playingNotes.splice(o,1);break;case M.pitchBend:this.synth.pitchWheel(e.channel,t.messageData[1],t.messageData[0]);break;case M.controllerChange:this.synth.controllerChange(e.channel,t.messageData[0],t.messageData[1]);break;case M.programChange:this.synth.programChange(e.channel,t.messageData[0]);break;case M.polyPressure:this.synth.polyPressure(e.channel,t.messageData[0],t.messageData[1]);break;case M.channelPressure:this.synth.channelPressure(e.channel,t.messageData[0]);break;case M.systemExclusive:this.synth.systemExclusive(t.messageData,s);break;case M.setTempo:this.oneTickToSeconds=60/(ar(t)*this.midiData.timeDivision),this.oneTickToSeconds===0&&(this.oneTickToSeconds=60/(120*this.midiData.timeDivision),U("invalid tempo! falling back to 120 BPM"));break;case M.timeSignature:case M.endOfTrack:case M.midiChannelPrefix:case M.songPosition:case M.activeSensing:case M.keySignature:case M.sequenceNumber:case M.sequenceSpecific:break;case M.text:case M.lyric:case M.copyright:case M.trackName:case M.marker:case M.cuePoint:case M.instrumentName:case M.programName:this.post(NA.textEvent,[t.messageData,e.status]);break;case M.midiPort:this.assignMIDIPort(A,t.messageData[0]);break;case M.reset:this.synth.stopAllChannels(),this.synth.resetAllControllers();break;default:U(`%cUnrecognized Event: %c${t.messageStatusByte}%c status byte: %c${Object.keys(M).find(i=>M[i]===e.status)}`,g.warn,g.unrecognized,g.warn,g.value);break}}function vs(){for(let t=0;t<16;t++)this.synth.createWorkletChannel(!0),t===RA&&this.synth.setDrums(this.synth.workletProcessorChannels.length-1,!0)}function ar(t){return t.messageData.currentIndex=0,6e7/_A(t.messageData,3)}function Hs(){let t=this.currentTime;for(;this.playedTime1&&this.nextSong();return}let s=this.tracks[A][this.eventIndex[A]];if(this.playedTime+=this.oneTickToSeconds*(s.ticks-e.ticks),this.midiData.loop.end<=e.ticks&&this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}else if(t>=this.duration){if(this.loop&&this.currentLoopCount>0){this.currentLoopCount--,this.setTimeTicks(this.midiData.loop.start);return}this.eventIndex[A]--,this.pause(!0),this.songs.length>1&&this.nextSong();return}}}function Ys(){let t=0,A=1/0;return this.tracks.forEach((e,s)=>{this.eventIndex[s]>=e.length||e[this.eventIndex[s]].ticks>>0}function fe(t,A,e){for(let s=0;s>s*8&255}function b(t,A){t[t.currentIndex++]=A&255,t[t.currentIndex++]=A>>8}function V(t,A){fe(t,A,4)}function ne(t,A){let e=A<<8|t;return e>32767?e-65536:e}function Js(t){return t>127?t-256:t}function _(t,A,e=void 0,s=!0){if(e){let n=t.slice(t.currentIndex,t.currentIndex+A);return t.currentIndex+=A,new TextDecoder(e.replace(/[^\x20-\x7E]/g,"")).decode(n.buffer)}else{let n=!1,o="";for(let i=0;i127)&&a!==10){if(s){n=!0;continue}else if(a===0){n=!0;continue}}o+=String.fromCharCode(a)}}return o}}function Ps(t,A=0){let e=t.length;A>0&&(e=A);let s=new N(e);return yA(s,t,A),s}function ge(t){return Ps(t,t.length+1)}function yA(t,A,e=0){e>0&&A.length>e&&(A=A.slice(0,e));for(let s=0;sA.length)for(let s=0;se.header!=="LIST"?!1:(e.chunkData.currentIndex=0,_(e.chunkData,4)===A))}function tt(t){let A=0;for(;t;){let e=t[t.currentIndex++];if(A=A<<7|e&127,e>>7!==1)break}return A}var st={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"};var nt=class t{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];firstNoteOn=0;keyRange={min:0,max:127};lastVoiceEventTick=0;midiPorts=[0];midiPortChannelOffsets=[0];usedChannelsOnTrack=[];loop={start:0,end:0};midiName="";midiNameUsesFileName=!1;fileName="";rawMidiName=void 0;embeddedSoundFont=void 0;format=0;RMIDInfo={};bankOffset=0;tracks=[];static copyFrom(A){let e=new t;return e.midiName=A.midiName,e.midiNameUsesFileName=A.midiNameUsesFileName,e.fileName=A.fileName,e.timeDivision=A.timeDivision,e.duration=A.duration,e.copyright=A.copyright,e.tracksAmount=A.tracksAmount,e.firstNoteOn=A.firstNoteOn,e.keyRange={...A.keyRange},e.lastVoiceEventTick=A.lastVoiceEventTick,e.loop={...A.loop},e.format=A.format,e.bankOffset=A.bankOffset,e.tempoChanges=[...A.tempoChanges],e.lyrics=A.lyrics.map(s=>new Uint8Array(s)),e.midiPorts=[...A.midiPorts],e.midiPortChannelOffsets=[...A.midiPortChannelOffsets],e.usedChannelsOnTrack=A.usedChannelsOnTrack.map(s=>new Set(s)),e.rawMidiName=A.rawMidiName?new Uint8Array(A.rawMidiName):void 0,e.embeddedSoundFont=A.embeddedSoundFont?A.embeddedSoundFont.slice():void 0,e.RMIDInfo={...A.RMIDInfo},e.tracks=A.tracks.map(s=>[...s]),e}flush(){let A=[];for(let n of this.tracks){n.sort((i,a)=>i.ticks-a.ticks);let o=n.find(i=>(i.messageStatusByte&240)===M.noteOn);o&&A.push(o.ticks)}this.firstNoteOn=Math.min(...A),this.lastVoiceEventTick=0,this.tempoChanges=[{ticks:0,tempo:120}],this.midiPorts=[],this.midiPortChannelOffsets=[];let e=0;this.usedChannelsOnTrack=this.tracks.map(()=>new Set),this.tracks.forEach((n,o)=>{this.midiPorts.push(-1),n.forEach(i=>{if(i.messageStatusByte>=128&&i.messageStatusByte<240&&i.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=i.ticks),i.messageStatusByte===M.setTempo)this.tempoChanges.push({ticks:i.ticks,tempo:6e7/_A(i.messageData,3)});else if((i.messageStatusByte&240)===M.noteOn)this.usedChannelsOnTrack[o].add(i.messageData[0]);else if(i.messageStatusByte===M.midiPort){let a=i.messageData[0];this.midiPorts[o]=a,this.midiPortChannelOffsets[a]===void 0&&(this.midiPortChannelOffsets[a]=e,e+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Ie(this.lastVoiceEventTick,this);let s=0;for(let n of this.midiPorts)if(n!==-1){s=n;break}this.midiPorts=this.midiPorts.map(n=>n===-1?s:n),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Ie(t,A){let e=0;for(;t>0;){let s=A.tempoChanges.find(o=>o.ticks0&&(x+=this.tracks[y-1][this.tracks[y-1].length-1].ticks);w.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=x),Z=ws[I>>4],(I&240)===M.noteOn){H.add(rA);let nA=w.data[w.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,nA),this.keyRange.max=Math.max(this.keyRange.max,nA)}R=I;break}let AA=new N(Z),$=w.data.slice(w.data.currentIndex,w.data.currentIndex+Z);w.data.currentIndex+=Z,AA.set($,0);let IA=new ce(x,I,AA);switch(S.push(IA),rA){case-2:switch(I){case M.setTempo:this.tempoChanges.push({ticks:x,tempo:6e7/se($,3)});break;case M.marker:switch(_(AA,AA.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=x;break;case"loopend":Q=x}AA.currentIndex=0;break;case M.midiPort:let iA=AA[0];this.midiPorts[y]=iA,this.midiPortChannelOffsets[iA]===void 0&&(this.midiPortChannelOffsets[iA]=l,l+=16);break;case M.copyright:o||(this.copyright+=_(AA,AA.length,void 0,!1)+` +`," "),i=!0),this.RMIDInfo.IALB&&!this.RMIDInfo.IPRD&&(this.RMIDInfo.IPRD=this.RMIDInfo.IALB),this.RMIDInfo.PRD&&!this.RMIDInfo.IALB&&(this.RMIDInfo.IALB=this.RMIDInfo.IPRD),this.bankOffset=1,this.RMIDInfo[st.bankOffset]&&(this.bankOffset=F(this.RMIDInfo[st.bankOffset],2))}}a&&(this.bankOffset=0)}else n=s;let h=this.readMIDIChunk(n);if(h.type!=="MThd")throw K(),new SyntaxError(`Invalid MIDI Header! Expected "MThd", got "${h.type}"`);if(h.size!==6)throw K(),new RangeError(`Invalid MIDI header chunk size! Expected 6, got ${h.size}`);this.format=_A(h.data,2),this.tracksAmount=_A(h.data,2),this.timeDivision=_A(h.data,2),this.keyRange={min:127,max:0},this.lyrics=[],this.tempoChanges=[{ticks:0,tempo:120}];let d=null,Q=null;this.lastVoiceEventTick=0,this.midiPorts=[];let l=0;this.midiPortChannelOffsets=[],this.usedChannelsOnTrack=[],this.tracks=[];for(let y=0;y0&&(x+=this.tracks[y-1][this.tracks[y-1].length-1].ticks);w.data.currentIndexthis.lastVoiceEventTick&&(this.lastVoiceEventTick=x),Z=ws[I>>4],(I&240)===M.noteOn){H.add(rA);let nA=w.data[w.data.currentIndex];this.keyRange.min=Math.min(this.keyRange.min,nA),this.keyRange.max=Math.max(this.keyRange.max,nA)}R=I;break}let AA=new N(Z),$=w.data.slice(w.data.currentIndex,w.data.currentIndex+Z);w.data.currentIndex+=Z,AA.set($,0);let IA=new le(x,I,AA);switch(S.push(IA),rA){case-2:switch(I){case M.setTempo:this.tempoChanges.push({ticks:x,tempo:6e7/_A($,3)});break;case M.marker:switch(_(AA,AA.length).trim().toLowerCase()){default:break;case"start":case"loopstart":d=x;break;case"loopend":Q=x}AA.currentIndex=0;break;case M.midiPort:let iA=AA[0];this.midiPorts[y]=iA,this.midiPortChannelOffsets[iA]===void 0&&(this.midiPortChannelOffsets[iA]=l,l+=16);break;case M.copyright:o||(this.copyright+=_(AA,AA.length,void 0,!1)+` `);break;case M.lyric:this.lyrics.push(AA)}break;case-3:if(AA.slice(0,7).every((nA,iA)=>gr[iA]===nA)){let nA=AA.slice(7,$.length-3),iA=_(nA,nA.length)+` -`;this.copyright+=iA,p(`%cDecoded Roland SC message! %c${iA}`,g.recognized,g.value)}break;default:if((I&240)===M.controllerChange)switch(AA[0]){case 2:case 116:d=x;break;case 4:case 117:Q===null?Q=x:Q=0;break;case 0:a&&AA[1]!==0&&AA[1]!==127&&(p("%cDLS RMIDI with offset 1 detected!",g.recognized),this.bankOffset=1)}}}this.tracks.push(S),this.usedChannelsOnTrack.push(H),p(`%cParsed %c${this.tracks.length}%c / %c${this.tracksAmount}`,g.info,g.value,g.info,g.value)}p("%cAll tracks parsed correctly!",g.recognized),QA("%cCorrecting loops, ports and detecting notes...",g.info);let c=[];for(let y of this.tracks){let S=y.find(w=>(w.messageStatusByte&240)===M.noteOn);S&&c.push(S.ticks)}this.firstNoteOn=Math.min(...c),p(`%cFirst note-on detected at: %c${this.firstNoteOn}%c ticks!`,g.info,g.recognized,g.info),d!==null&&Q===null?(d=this.firstNoteOn,Q=this.lastVoiceEventTick):(d===null&&(d=this.firstNoteOn),(Q===null||Q===0)&&(Q=this.lastVoiceEventTick)),this.loop={start:d,end:Q},p(`%cLoop points: start: %c${this.loop.start}%c end: %c${this.loop.end}`,g.info,g.recognized,g.info,g.recognized);let f=0;for(let y of this.midiPorts)if(y!==-1){f=y;break}if(this.midiPorts=this.midiPorts.map(y=>y===-1?f:y),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0]),this.midiPortChannelOffsets.length<2?p("%cNo additional MIDI Ports detected.",g.info):p("%cMIDI Ports detected!",g.recognized),!i)if(this.tracks.length>1){if(this.tracks[0].find(y=>y.messageStatusByte>=M.noteOn&&y.messageStatusByteS.messageStatusByte===M.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=_(y.messageData,y.messageData.length,void 0,!1))}}else{let y=this.tracks[0].find(S=>S.messageStatusByte===M.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=_(y.messageData,y.messageData.length,void 0,!1))}if(this.fileName=e,this.midiName=this.midiName.trim(),this.midiName.length===0){p("%cNo name detected. Using the alt name!",g.info),this.midiName=Ds(e),this.rawMidiName=new Uint8Array(this.midiName.length);for(let y=0;yl>Q?l:Q),s=[];for(let Q=0;Q{i[f]>=c.length||c[i[f]].ticks0;){let Q=C(),l=t.tracks[Q];if(i[Q]>=l.length){a--;continue}let c=l[i[Q]];if(i[Q]++,c.messageStatusByte===M.midiPort){h[Q]=c.messageData[0];continue}let f=c.messageStatusByte&240;if(f!==M.noteOn&&f!==M.controllerChange&&f!==M.programChange&&f!==M.systemExclusive)continue;let y=(c.messageStatusByte&15)+t.midiPortChannelOffsets[h[Q]]||0,S=s[y];switch(f){case M.programChange:S.program=c.messageData[0],n(S);break;case M.controllerChange:if(c.messageData[0]!==k.bankSelect||d==="gs"&&S.drums)continue;let w=c.messageData[1],H=Math.max(0,w-t.bankOffset);if(d==="xg"){let G=w===120||w===126||w===127;G!==S.drums?(S.drums=G,S.bank=S.drums?128:H,n(S)):S.bank=S.drums?128:H;continue}s[y].bank=H;break;case M.noteOn:if(c.messageData[1]===0)continue;n(S),o[S.string].add(`${c.messageData[0]}-${c.messageData[1]}`);break;case M.systemExclusive:if(c.messageData[0]!==65||c.messageData[2]!==66||c.messageData[3]!==18||c.messageData[4]!==64||!(c.messageData[5]&16)||c.messageData[6]!==21){c.messageData[0]===67&&c.messageData[2]===76&&c.messageData[5]===126&&c.messageData[6]===0&&(d="xg");continue}let R=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][c.messageData[5]&15]+t.midiPortChannelOffsets[h[Q]],x=!!(c.messageData[7]>0&&c.messageData[5]>>4);S=s[R],S.drums=x,S.bank=x?128:0,n(S);break}}for(let Q of Object.keys(o))o[Q].size===0&&(p(`%cDetected change but no keys for %c${Q}`,g.info,g.value),delete o[Q]);return V(),o}function Ks(t,A){this.midiData.usedChannelsOnTrack[t].size!==0&&(this.midiPortChannelOffset===0&&(this.midiPortChannelOffset+=16,this.midiPortChannelOffsets[A]=0),this.midiPortChannelOffsets[A]===void 0&&(this.synth.workletProcessorChannels.length{this.assignMIDIPort(s,e)}),this.duration=this.midiData.duration,this.firstNoteTime=fe(this.midiData.firstNoteOn,this.midiData),p(`%cTotal song time: ${Lt(Math.ceil(this.duration)).time}`,g.recognized),this.post(NA.songChange,[new et(this.midiData),this.songIndex,A]),this.duration<=1&&(U(`%cVery short song: (${Lt(Math.round(this.duration)).time}). Disabling loop!`,g.warn),this.loop=!1),A)this.play(!0);else{let e=this._skipToFirstNoteOn?this.midiData.firstNoteOn-1:0;this.setTimeTicks(e),this.pause()}}function Os(t,A=!0){this.songs=t.reduce((e,s)=>{if(s.duration)return e.push(s),e;try{e.push(new ot(s.binary,s.altName||""))}catch(n){return this.post(NA.midiError,n.message),e}return e},[]),!(this.songs.length<1)&&(this.songIndex=0,this.songs.length>1&&(this.loop=!1),this.loadNewSequence(this.songs[this.songIndex],A))}function Zs(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function Ws(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex--,this.songIndex<0&&(this.songIndex=this.songs.length-1),this.loadNewSequence(this.songs[this.songIndex])}var be=ue.slice(0,128);function Xs(t,A=void 0){this.oneTickToSeconds=60/(120*this.midiData.timeDivision),this.synth.resetAllControllers(),this.sendMIDIReset(),this._resetTimers();let e=this.synth.workletProcessorChannels.length,s=Array(e).fill(8192),n=[];for(let a=0;aa===k.dataDecrement||a===k.dataIncrement||a===k.dataEntryMsb||a===k.dataDecrement||a===k.lsbForControl6DataEntry||a===k.RPNLsb||a===k.RPNMsb||a===k.NRPNLsb||a===k.NRPNMsb||a===k.bankSelect||a===k.lsbForControl0BankSelect||a===k.resetAllControllers,i=[];for(let a=0;a=A)break}else if(this.playedTime>=t)break;let h=Ne(C.messageStatusByte),d=h.channel+(this.midiPortChannelOffsets[this.midiPorts[a]]||0);switch(h.status){case M.noteOn:case M.noteOff:case M.keySignature:break;case M.pitchBend:s[d]=C.messageData[1]<<7|C.messageData[0];break;case M.programChange:let l=n[d];l.program=C.messageData[0],l.actualBank=l.bank;break;case M.controllerChange:let c=C.messageData[0];if(o(c)){let f=C.messageData[1];if(c===k.bankSelect){n[d].bank=f;break}else c===k.resetAllControllers&&(i[d]=Array.from(be));this.sendMIDIMessages?this.sendMIDICC(d,c,f):this.synth.controllerChange(d,c,f)}else i[d]===void 0&&(i[d]=Array.from(be)),i[d][c]=C.messageData[1];break;default:this._processEvent(C,a);break}this.eventIndex[a]++,a=this._findFirstEventIndex();let Q=this.tracks[a][this.eventIndex[a]];if(Q===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(Q.ticks-C.ticks)}if(this.sendMIDIMessages){for(let a=0;a>7,s[a]&127),i[a]!==void 0&&i[a].forEach((C,h)=>{C!==be[h]&&!o(h)&&this.sendMIDICC(a,h,C)}),n[a].program>=0&&n[a].actualBank>=0){let C=n[a].actualBank;this.sendMIDICC(a,k.bankSelect,C),this.sendMIDIProgramChange(a,n[a].program)}}else for(let a=0;a>7,s[a]&127),i[a]!==void 0&&i[a].forEach((C,h)=>{C!==be[h]&&!o(h)&&this.synth.controllerChange(a,h,C)}),n[a].program>=0&&n[a].actualBank>=0){let C=n[a].actualBank;this.synth.controllerChange(a,k.bankSelect,C),this.synth.programChange(a,n[a].program)}return!0}function _s(t=!1){if(this.midiData!==void 0){if(t){this.pausedTime=void 0,this.currentTime=0;return}if(this.currentTime>=this.duration){this.pausedTime=void 0,this.currentTime=0;return}this.paused&&(this._recalculateStartTime(this.pausedTime),this.pausedTime=void 0),this.sendMIDIMessages||this.playingNotes.forEach(A=>{this.synth.noteOn(A.channel,A.midiNote,A.velocity,!1,!0)}),this.setProcessHandler()}}function zs(t){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(NA.timeChange,currentTime-fe(t,this.midiData));let A=this._playTo(0,t);this._recalculateStartTime(this.playedTime),A&&this.play()}function js(t){this.absoluteStartTime=currentTime-t/this._playbackRate}function $s(t,A){switch(t){default:break;case MA.loadNewSongList:this.loadNewSongList(A[0],A[1]);break;case MA.pause:this.pause();break;case MA.play:this.play(A);break;case MA.stop:this.stop();break;case MA.setTime:this.currentTime=A;break;case MA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case MA.setPlaybackRate:this.playbackRate=A;break;case MA.setLoop:this.loop=A;break;case MA.changeSong:A?this.nextSong():this.previousSong();break;case MA.getMIDI:this.post(NA.getMIDI,this.midiData);break;case MA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break;case MA.setPreservePlaybackState:this.preservePlaybackState=A}}function An(t,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:DA.sequencerSpecific,messageData:{messageType:t,messageData:A}})}function en(t){this.post(NA.midiEvent,t)}function tn(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([M.controllerChange|t,A,e])}function sn(t,A){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([M.programChange|t,A])}function nn(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([M.pitchBend|t,e,A])}function on(){if(this.sendMIDIMessages){this.sendMIDIMessage([M.reset]);for(let t=0;t<$e;t++)this.sendMIDIMessage([M.controllerChange|t,k.allSoundOff,0]),this.sendMIDIMessage([M.controllerChange|t,k.resetAllControllers,0])}}var BA=class{constructor(A){this.synth=A,this.ignoreEvents=!1,this.sendMIDIMessages=!1,this.loopCount=1/0,this.currentLoopCount=this.loopCount,this.eventIndex=[],this.songIndex=0,this.playedTime=0,this.pausedTime=void 0,this.absoluteStartTime=currentTime,this._playbackRate=1,this.playingNotes=[],this.loop=!0,this.midiData=void 0,this.midiPorts=[],this.midiPortChannelOffset=0,this.midiPortChannelOffsets={},this._skipToFirstNoteOn=!0,this.preservePlaybackState=!1}set playbackRate(A){let e=this.currentTime;this._playbackRate=A,this.currentTime=e}get currentTime(){return this.pausedTime!==void 0?this.pausedTime:(currentTime-this.absoluteStartTime)*this._playbackRate}set currentTime(A){if(A>this.duration||A<0){this._skipToFirstNoteOn?this.setTimeTicks(this.midiData.firstNoteOn-1):this.setTimeTicks(0);return}if(this._skipToFirstNoteOn&&Arn?440*Math.pow(2,(t-6900)/1200):Pt[~~t-rt]}var Kt=-1660,Ir=1600,qt=new Float32Array((Ir-Kt)*100+1);for(let t=0;t.5?1:0,s?e*2-1:e;case uA.concave:return s?(e=e*2-1,e<0?-jA[~~(e*-fA)]:jA[~~(e*fA)]):jA[~~(e*fA)];case uA.convex:return s?(e=e*2-1,e<0?-Ie[~~(e*-fA)]:Ie[~~(e*fA)]):Ie[~~(e*fA)]}}var Vt=1,Ot=new Float32Array(1e3);for(let t=0;t=e.loopEnd;)s-=o;let a=~~s,C=a+1;for(;C>=e.loopEnd;)C-=o;let h=s-a,d=n[C],Q=n[a];A[i]=Q+(d-Q)*h,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end){t.finished=!0;return}let C=s-i,h=n[a],d=n[i];A[o]=d+(h-d)*C,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}function gn(t,A){let e=t.sample,s=e.cursor,n=e.loopEnd-e.loopStart,o=e.sampleData;if(t.sample.isLooping)for(let i=0;i=e.loopEnd;)s-=n;let a=~~s+1;for(;a>=e.loopEnd;)a-=n;A[i]=o[a],s+=e.playbackStep*t.currentTuningCalculated}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let i=0;i=e.end){t.finished=!0;return}A[i]=o[a],s+=e.playbackStep*t.currentTuningCalculated}}e.cursor=s}function In(t,A){let e=t.sample,s=e.cursor,n=e.sampleData;if(e.isLooping){let o=e.loopEnd-e.loopStart;for(let i=0;i=e.loopEnd;)s-=o;let a=~~s,C=a+1,h=C+1,d=h+1,Q=s-a;C>=e.loopEnd&&(C-=o),h>=e.loopEnd&&(h-=o),d>=e.loopEnd&&(d-=o);let l=n[a],c=n[C],f=n[h],y=n[d],S=.5*(f-l),w=l-2.5*c+2*f-.5*y,H=.5*(y-l)+1.5*(c-f);A[i]=((H*Q+w)*Q+S)*Q+c,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end||C>=e.end||h>=e.end){t.finished=!0;return}let Q=n[i],l=n[a],c=n[C],f=n[h],y=.5*(c-Q),S=Q-2.5*l+2*c-.5*f,w=.5*(f-Q)+1.5*(l-c);A[o]=((w*d+S)*d+y)*d+l,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}var En=.01,bA=100,Zt=90,Er=15e-6,PA=class t{currentSampleTime=0;sampleRate;currentAttenuationDb=bA;state=0;releaseStartDb=bA;releaseStartTimeSamples=0;currentReleaseGain=1;attackDuration=0;decayDuration=0;releaseDuration=0;attenuation=0;attenuationTargetGain=0;attenuationTarget=0;sustainDbRelative=0;delayEnd=0;attackEnd=0;holdEnd=0;decayEnd=0;constructor(A,e){this.sampleRate=A,this.canEndOnSilentSustain=e/10>=Zt}static startRelease(A){A.volumeEnvelope.releaseStartTimeSamples=A.volumeEnvelope.currentSampleTime,A.volumeEnvelope.currentReleaseGain=YA(A.volumeEnvelope.currentAttenuationDb),t.recalculate(A)}static recalculate(A){let e=A.volumeEnvelope,s=h=>Math.max(0,Math.floor(VA(h)*e.sampleRate));e.attenuationTarget=Math.max(0,Math.min(A.modulatedGenerators[r.initialAttenuation],1440))/10,e.attenuationTargetGain=YA(e.attenuationTarget),e.sustainDbRelative=Math.min(bA,A.modulatedGenerators[r.sustainVolEnv]/10);let n=Math.min(bA,e.sustainDbRelative);e.attackDuration=s(A.modulatedGenerators[r.attackVolEnv]);let o=A.modulatedGenerators[r.decayVolEnv],i=(60-A.targetKey)*A.modulatedGenerators[r.keyNumToVolEnvDecay],a=n/bA;e.decayDuration=s(o+i)*a,e.releaseDuration=s(A.modulatedGenerators[r.releaseVolEnv]),e.delayEnd=s(A.modulatedGenerators[r.delayVolEnv]),e.attackEnd=e.attackDuration+e.delayEnd;let C=(60-A.targetKey)*A.modulatedGenerators[r.keyNumToVolEnvHold];if(e.holdEnd=s(A.modulatedGenerators[r.holdVolEnv]+C)+e.attackEnd,e.decayEnd=e.decayDuration+e.holdEnd,e.state===0&&e.attackEnd===0&&(e.state=2),A.isInRelease){let h=Math.max(0,Math.min(bA,e.sustainDbRelative)),d=h/bA;switch(e.decayDuration=s(o+i)*d,e.state){case 0:e.releaseStartDb=bA;break;case 1:let l=1-(e.attackEnd-e.releaseStartTimeSamples)/e.attackDuration;e.releaseStartDb=20*Math.log10(l)*-1;break;case 2:e.releaseStartDb=0;break;case 3:e.releaseStartDb=(1-(e.decayEnd-e.releaseStartTimeSamples)/e.decayDuration)*h;break;case 4:e.releaseStartDb=h;break}e.releaseStartDb=Math.max(0,Math.min(e.releaseStartDb,bA)),e.releaseStartDb>=Zt&&(A.finished=!0),e.currentReleaseGain=YA(e.releaseStartDb);let Q=(bA-e.releaseStartDb)/bA;e.releaseDuration*=Q}}static apply(A,e,s,n){let o=A.volumeEnvelope,i=s/10,a=n;if(A.isInRelease){let h=o.currentSampleTime-o.releaseStartTimeSamples;if(h>=o.releaseDuration){for(let Q=0;Q=e.length)return;o.state++;case 1:for(;o.currentSampleTime=e.length)return}o.state++;case 2:for(;o.currentSampleTime=e.length)return;o.state++;case 3:for(;o.currentSampleTime=e.length)return;o.state++;case 4:for(o.canEndOnSilentSustain&&o.sustainDbRelative>=Zt&&(A.finished=!0);;)if(o.attenuation+=(o.attenuationTargetGain-o.attenuation)*a,e[C]*=o.attenuation*YA(o.sustainDbRelative+i),o.currentAttenuationDb=o.sustainDbRelative,o.currentSampleTime++,++C>=e.length)return}}};var pe=class t{a0=0;a1=0;a2=0;a3=0;a4=0;x1=0;x2=0;y1=0;y2=0;reasonanceCb=0;reasonanceGain=1;cutoffCents=13501;cutoffHz=20001;static apply(A,e,s,n){if(n&&s>13499&&A.filter.reasonanceCb===0)return;let o=A.filter;(o.cutoffCents!==s||o.reasonanceCb!==A.modulatedGenerators[r.initialFilterQ])&&(o.cutoffCents=s,o.reasonanceCb=A.modulatedGenerators[r.initialFilterQ],t.calculateCoefficients(o));for(let i=0;i=A.releaseStartTime&&(A.isInRelease=!0,PA.startRelease(A),JA.startRelease(A),A.sample.loopingMode===3&&(A.sample.isLooping=!1)),A.modulatedGenerators[r.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let i=A.targetKey,a=A.modulatedGenerators[r.fineTune]+t.customControllers[hA.channelTuning]+t.customControllers[hA.channelTransposeFine]+t.customControllers[hA.masterTuning]+t.channelOctaveTuning[A.midiNote%12]+t.keyCentTuning[A.midiNote],C=A.modulatedGenerators[r.coarseTune]+t.customControllers[hA.channelTuningSemitones],h=this.tunings[t.preset.program]?.[A.realKey];h?.midiNote>=0&&(i=h.midiNote,a+=h.centTuning),a+=(i-A.sample.rootKey)*A.modulatedGenerators[r.scaleTuning];let d=A.modulatedGenerators[r.vibLfoToPitch];if(d!==0){let I=A.startTime+VA(A.modulatedGenerators[r.delayVibLFO]),rA=Le(A.modulatedGenerators[r.freqVibLFO]),Z=it(I,rA,currentTime);a+=Z*(d*t.customControllers[hA.modulationMultiplier])}let Q=A.modulatedGenerators[r.initialFilterFc],l=Q,c=A.modulatedGenerators[r.modLfoToPitch],f=A.modulatedGenerators[r.modLfoToVolume],y=A.modulatedGenerators[r.modLfoToFilterFc],S=0;if(c+y+f!==0){let I=A.startTime+VA(A.modulatedGenerators[r.delayModLFO]),rA=Le(A.modulatedGenerators[r.freqModLFO]),Z=it(I,rA,currentTime);a+=Z*(c*t.customControllers[hA.modulationMultiplier]),S=-Z*f,l+=Z*y}if(t.channelVibrato.depth>0){let I=it(A.startTime+t.channelVibrato.delay,t.channelVibrato.rate,currentTime);I&&(a+=I*t.channelVibrato.depth)}let w=A.modulatedGenerators[r.modEnvToPitch],H=A.modulatedGenerators[r.modEnvToFilterFc],R=JA.getValue(A,currentTime);l+=R*H,a+=R*w;let x=~~(a+C*100);x!==A.currentTuningCents&&(A.currentTuningCents=x,A.currentTuningCalculated=Math.pow(2,x/1200));let G=new Float32Array(e.length);switch(this.interpolationType){case me.linear:default:an(A,G);break;case me.nearestNeighbor:gn(A,G);break;case me.fourthOrder:In(A,G)}pe.apply(A,G,l,Q>13499),PA.apply(A,G,S,this.volumeEnvelopeSmoothingFactor),this.panVoice(A,G,e,s,n,o)}function Cr(t,A){let e=0;return t.drumChannel&&(e+=5),A.isInRelease&&(e-=5),e+=A.velocity/25,e-=A.volumeEnvelope.state,A.isInRelease&&(e-=5),e-=A.volumeEnvelope.currentAttenuationDb/50,e}function hn(t){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Cr(s,n);A.push({channel:s,voice:n,priority:o})}A.sort((s,n)=>s.priority-n.priority);let e=A.slice(0,t);for(let{channel:s,voice:n}of e){let o=s.voices.indexOf(n);o>-1&&s.voices.splice(o,1)}}function cn(t,A=ln){t.releaseStartTime=currentTime,t.releaseStartTime-t.startTimeun=t);var Br=function(t){var A,e,s,n,o,i,a,C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",h="",d=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=C.indexOf(t.charAt(d++)),o=C.indexOf(t.charAt(d++)),i=C.indexOf(t.charAt(d++)),a=C.indexOf(t.charAt(d++)),A=n<<2|o>>4,e=(15&o)<<4|i>>2,s=(3&i)<<6|a,h+=String.fromCharCode(A),i!==64&&(h+=String.fromCharCode(e)),a!==64&&(h+=String.fromCharCode(s));while(d1&&(I.thisProgram=process.argv[1].replace(/\\/g,"/")),I.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(E){if(!(E instanceof Ge))throw E}),process.on("unhandledRejection",function(E,B){process.exit(1)}),I.quit=function(E){process.exit(E)},I.inspect=function(){return"[Emscripten Module object]"}):IA?(typeof read<"u"&&(I.read=function(B){return read(B)}),I.readBinary=function(B){var u;return typeof readbuffer=="function"?new Uint8Array(readbuffer(B)):(ee(typeof(u=read(B,"binary"))=="object"),u)},typeof scriptArgs<"u"?I.arguments=scriptArgs:typeof arguments<"u"&&(I.arguments=arguments),typeof quit=="function"&&(I.quit=function(E){quit(E)})):(Z||AA)&&(Z?document.currentScript&&(nA=document.currentScript.src):nA=self.location.href,nA=nA.indexOf("blob:")!==0?nA.split("/").slice(0,-1).join("/")+"/":"",I.read=function(B){var u=new XMLHttpRequest;return u.open("GET",B,!1),u.send(null),u.responseText},AA&&(I.readBinary=function(B){var u=new XMLHttpRequest;return u.open("GET",B,!1),u.responseType="arraybuffer",u.send(null),new Uint8Array(u.response)}),I.readAsync=function(B,u,m){var L=new XMLHttpRequest;L.open("GET",B,!0),L.responseType="arraybuffer",L.onload=function(){if(L.status==200||L.status==0&&L.response){u(L.response);return}m()},L.onerror=m,L.send(null)},I.setWindowTitle=function(E){document.title=E});var eA=I.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),lA=I.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||eA);for(t in rA)rA.hasOwnProperty(t)&&(I[t]=rA[t]);function LA(E){var B=c;return c=c+E+15&-16,B}function ns(E){var B=C[R>>2],u=B+E+15&-16;return C[R>>2]=u,u>=mA&&!hs()?(C[R>>2]=B,0):B}function os(E,B){return B||(B=16),E=Math.ceil(E/B)*B}function Xo(E){switch(E){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(E[E.length-1]==="*")return 4;if(E[0]!=="i")return 0;var B=parseInt(E.substr(1));return ee(B%8==0),B/8}}function we(E){we.shown||(we.shown={}),we.shown[E]||(we.shown[E]=1,lA(E))}rA=void 0;var _o={"f64-rem":function(E,B){return E%B},debugger:function(){}},mt=[];function kr(E,B){for(var u=0,m=u;m>>0)+4294967296*+(B>>>0):+(E>>>0)+4294967296*+(0|B)}function yt(E,B,u){return u&&u.length?I["dynCall_"+E].apply(null,[B].concat(u)):I["dynCall_"+E].call(null,B)}var Ye=0,rs=0;function ee(E,B){E||zA("Assertion failed: "+B)}function is(E){var B=I["_"+E];return ee(B,"Cannot call unknown function "+E+", make sure it is exported"),B}var as={stackSave:function(){xt()},stackRestore:function(){Gt()},arrayToC:function(E){var B,u,m=Oe(E.length);return B=E,u=m,n.set(B,u),m},stringToC:function(E){var B=0;if(E!=null&&E!==0){var u=(E.length<<2)+1;B=Oe(u),Es(E,B,u)}return B}},zo={string:as.stringToC,array:as.arrayToC};function gs(E,B,u,m,L){var X=is(E),j=[],Y=0;if(m)for(var pA=0;pA>0]=B;break;case"i16":i[E>>1]=B;break;case"i32":C[E>>2]=B;break;case"i64":tempI64=[B>>>0,+sr(tempDouble=B)>=1?tempDouble>0?(0|or(+ds(tempDouble/4294967296),4294967295))>>>0:~~+nr((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],C[E>>2]=tempI64[0],C[E+4>>2]=tempI64[1];break;case"float":d[E>>2]=B;break;case"double":Q[E>>3]=B;break;default:zA("invalid type for setValue: "+u)}}function Gr(E,B,u){switch((B=B||"i8").charAt(B.length-1)==="*"&&(B="i32"),B){case"i1":case"i8":return n[E>>0];case"i16":return i[E>>1];case"i32":case"i64":return C[E>>2];case"float":return d[E>>2];case"double":return Q[E>>3];default:zA("invalid type for getValue: "+B)}return null}function xr(E,B,u,m){typeof E=="number"?(X=!0,j=E):(X=!1,j=E.length);var L=typeof B=="string"?B:null;if(Y=u==4?m:[typeof Ve=="function"?Ve:LA,Oe,LA,ns][u===void 0?2:u](Math.max(j,L?1:B.length)),X){for(m=Y,ee((3&Y)==0),pA=Y+(-4&j);m>2]=0;for(pA=Y+j;m>0]=0;return Y}if(L==="i8")return E.subarray||E.slice?o.set(E,Y):o.set(new Uint8Array(E),Y),Y;for(var X,j,Y,pA,EA,CA,aA,W=0;W>0],(m!=0||B)&&(j++,!B||j!=B););B||(B=j);var Y="";if(X<128){for(;B>0;)L=String.fromCharCode.apply(String,o.subarray(E,E+Math.min(B,1024))),Y=Y?Y+L:L,E+=1024,B-=1024;return Y}return u=E,function(EA,CA){for(var aA=CA;EA[aA];)++aA;if(aA-CA>16&&EA.subarray&&Is)return Is.decode(EA.subarray(CA,aA));for(var W,FA,UA,TA,vA,ie,HA="";;){if(!(W=EA[CA++]))return HA;if(!(128&W)){HA+=String.fromCharCode(W);continue}if(FA=63&EA[CA++],(224&W)==192){HA+=String.fromCharCode((31&W)<<6|FA);continue}if(UA=63&EA[CA++],(240&W)==224?W=(15&W)<<12|FA<<6|UA:(TA=63&EA[CA++],(248&W)==240?W=(7&W)<<18|FA<<12|UA<<6|TA:(vA=63&EA[CA++],W=(252&W)==248?(3&W)<<24|FA<<18|UA<<12|TA<<6|vA:(1&W)<<30|FA<<24|UA<<18|TA<<12|vA<<6|(ie=63&EA[CA++]))),W<65536)HA+=String.fromCharCode(W);else{var xe=W-65536;HA+=String.fromCharCode(55296|xe>>10,56320|1023&xe)}}}(o,u)}function Nr(E){for(var B="";;){var u=n[E++>>0];if(!u)return B;B+=String.fromCharCode(u)}}function br(E,B){return function(m,L,X){for(var j=0;j>0]=m.charCodeAt(j);X||(n[L>>0]=0)}(E,B,!1)}var Is=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Pe(E,B,u,m){if(!(m>0))return 0;for(var L=u,X=u+m-1,j=0;j=55296&&Y<=57343&&(Y=65536+((1023&Y)<<10)|1023&E.charCodeAt(++j)),Y<=127){if(u>=X)break;B[u++]=Y}else if(Y<=2047){if(u+1>=X)break;B[u++]=192|Y>>6,B[u++]=128|63&Y}else if(Y<=65535){if(u+2>=X)break;B[u++]=224|Y>>12,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}else if(Y<=2097151){if(u+3>=X)break;B[u++]=240|Y>>18,B[u++]=128|Y>>12&63,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}else if(Y<=67108863){if(u+4>=X)break;B[u++]=248|Y>>24,B[u++]=128|Y>>18&63,B[u++]=128|Y>>12&63,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}else{if(u+5>=X)break;B[u++]=252|Y>>30,B[u++]=128|Y>>24&63,B[u++]=128|Y>>18&63,B[u++]=128|Y>>12&63,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}}return B[u]=0,u-L}function Es(E,B,u){return Pe(E,o,B,u)}function qe(E){for(var B=0,u=0;u=55296&&m<=57343&&(m=65536+((1023&m)<<10)|1023&E.charCodeAt(++u)),m<=127?++B:m<=2047?B+=2:m<=65535?B+=3:m<=2097151?B+=4:m<=67108863?B+=5:B+=6}return B}var Cs=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function Lr(E){for(var B=E,u=B>>1;i[u];)++u;if((B=u<<1)-E>32&&Cs)return Cs.decode(o.subarray(E,B));for(var m=0,L="";;){var X=i[E+2*m>>1];if(X==0)return L;++m,L+=String.fromCharCode(X)}}function Ur(E,B,u){if(u===void 0&&(u=2147483647),u<2)return 0;for(var m=B,L=(u-=2)<2*E.length?u/2:E.length,X=0;X>1]=j,B+=2}return i[B>>1]=0,B-m}function Tr(E){return 2*E.length}function vr(E){for(var B=0,u="";;){var m=C[E+4*B>>2];if(m==0)return u;if(++B,m>=65536){var L=m-65536;u+=String.fromCharCode(55296|L>>10,56320|1023&L)}else u+=String.fromCharCode(m)}}function Hr(E,B,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var m=B,L=m+u-4,X=0;X=55296&&j<=57343&&(j=65536+((1023&j)<<10)|1023&E.charCodeAt(++X)),C[B>>2]=j,(B+=4)+4>L)break}return C[B>>2]=0,B-m}function Yr(E){for(var B=0,u=0;u=55296&&m<=57343&&++u,B+=4}return B}function Jr(E){var B=qe(E)+1,u=Ve(B);return u&&Pe(E,n,u,B),u}function Pr(E){var B=qe(E)+1,u=Oe(B);return Pe(E,n,u,B),u}function qr(E){return E}function Kr(){var E,B=function(){var m=Error();if(!m.stack){try{throw Error(0)}catch(L){m=L}if(!m.stack)return"(no stack trace available)"}return m.stack.toString()}();return I.extraStackTrace&&(B+=` -`+I.extraStackTrace()),(E=B).replace(/__Z[\w\d_]+/g,function(u){var m,L=m=u;return u===L?u:u+" ["+L+"]"})}function St(E,B){return E%B>0&&(E+=B-E%B),E}function Bs(E){I.buffer=s=E}function Dt(){I.HEAP8=n=new Int8Array(s),I.HEAP16=i=new Int16Array(s),I.HEAP32=C=new Int32Array(s),I.HEAPU8=o=new Uint8Array(s),I.HEAPU16=a=new Uint16Array(s),I.HEAPU32=h=new Uint32Array(s),I.HEAPF32=d=new Float32Array(s),I.HEAPF64=Q=new Float64Array(s)}function hs(){var E=I.usingWasm?65536:16777216,B=2147483648-E;if(C[R>>2]>B)return!1;var u=mA;for(mA=Math.max(mA,16777216);mA>2];)mA=mA<=536870912?St(2*mA,E):Math.min(St((3*mA+2147483648)/4,E),B);var m=I.reallocBuffer(mA);return m&&m.byteLength==mA?(Bs(m),Dt(),!0):(mA=u,!1)}l=c=y=S=w=H=R=0,f=!1,I.reallocBuffer||(I.reallocBuffer=function(E){try{if(ArrayBuffer.transfer)B=ArrayBuffer.transfer(s,E);else{var B,u=n;B=new ArrayBuffer(E),new Int8Array(B).set(u)}}catch{return!1}return!!rr(B)&&B});try{(x=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{x=function(B){return B.byteLength}}var kt=I.TOTAL_STACK||5242880,mA=I.TOTAL_MEMORY||16777216;function $o(){return mA}function Fe(E){for(;E.length>0;){var B=E.shift();if(typeof B=="function"){B();continue}var u=B.func;typeof u=="number"?B.arg===void 0?I.dynCall_v(u):I.dynCall_vi(u,B.arg):u(B.arg===void 0?null:B.arg)}}mA=0?E:B<=32?2*Math.abs(1<=m&&(B<=32||E>m)&&(E=-2*m+E),E}var sr=Math.abs,nr=Math.ceil,ds=Math.floor,or=Math.min,re=0,Rt=null,Re=null;function zr(E){return E}I.preloadedImages={},I.preloadedAudios={};var fs="data:application/octet-stream;base64,";function Ke(E){return String.prototype.startsWith?E.startsWith(fs):E.indexOf(fs)===0}(function(){var B="main.wast",u="main.wasm",m="main.temp.asm.js";Ke(B)||(B=iA(B)),Ke(u)||(u=iA(u)),Ke(m)||(m=iA(m));var L={global:null,env:null,asm2wasm:_o,parent:I},X=null;function j(aA){return aA}function Y(){try{if(I.wasmBinary)return new Uint8Array(I.wasmBinary);if(I.readBinary)return I.readBinary(u);throw"both async and sync fetching of the wasm failed"}catch(aA){zA(aA)}}I.asmPreload=I.asm;var pA=I.reallocBuffer,EA=function(aA){aA=St(aA,I.usingWasm?65536:16777216);var W=I.buffer.byteLength;if(I.usingWasm)try{var FA=I.wasmMemory.grow((aA-W)/65536);return FA!==-1?I.buffer=I.wasmMemory.buffer:null}catch{return null}};I.reallocBuffer=function(aA){return CA==="asmjs"?pA(aA):EA(aA)};var CA="";I.asm=function(aA,W,FA){var UA;if(!(W=UA=W).table){var TA,vA=I.wasmTableSize;vA===void 0&&(vA=1024);var ie=I.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?ie!==void 0?W.table=new WebAssembly.Table({initial:vA,maximum:ie,element:"anyfunc"}):W.table=new WebAssembly.Table({initial:vA,element:"anyfunc"}):W.table=Array(vA),I.wasmTable=W.table}return W.memoryBase||(W.memoryBase=I.STATIC_BASE),W.tableBase||(W.tableBase=0),TA=function(xe,Be,Nt){if(typeof WebAssembly!="object")return lA("no native wasm support detected"),!1;if(!(I.wasmMemory instanceof WebAssembly.Memory))return lA("no native wasm Memory in use"),!1;function Ze(ZA,WA){if((X=ZA.exports).memory){var Me,bt,ys;Me=X.memory,bt=I.buffer,Me.byteLength0?u:qe(E)+1,L=Array(m),X=Pe(E,L,0,L.length);return B&&(L.length=X),L}function ei(E){for(var B=[],u=0;u255&&(m&=255),B.push(String.fromCharCode(m))}return B.join("")}c+=16,R=LA(4),w=(y=S=os(c))+kt,H=os(w),C[R>>2]=H,f=!0,I.wasmTableSize=4,I.wasmMaxTableSize=4,I.asmGlobalArg={},I.asmLibraryArg={abort:zA,assert:ee,enlargeMemory:hs,getTotalMemory:$o,abortOnCannotGrowMemory:function(){zA("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+mA+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(B,u,m){var L=xt();try{return I.dynCall_iii(B,u,m)}catch(X){if(Gt(L),typeof X!="number"&&X!=="longjmp")throw X;I.setThrew(1,0)}},___assert_fail:function(B,u,m,L){zA("Assertion failed: "+Je(B)+", at: "+[u?Je(u):"unknown filename",m,L?Je(L):"unknown function"])},___setErrNo:function(B){return I.___errno_location&&(C[I.___errno_location()>>2]=B),B},_abort:function(){I.abort()},_emscripten_memcpy_big:function(B,u,m){return o.set(o.subarray(u,u+m),B),B},_llvm_floor_f64:ds,DYNAMICTOP_PTR:R,tempDoublePtr:xA,ABORT:Ye,STACKTOP:S,STACK_MAX:w};var ms=I.asm(I.asmGlobalArg,I.asmLibraryArg,s);I.asm=ms,I.___errno_location=function(){return I.asm.___errno_location.apply(null,arguments)};var rr=I._emscripten_replace_memory=function(){return I.asm._emscripten_replace_memory.apply(null,arguments)};I._free=function(){return I.asm._free.apply(null,arguments)};var Ve=I._malloc=function(){return I.asm._malloc.apply(null,arguments)};I._memcpy=function(){return I.asm._memcpy.apply(null,arguments)},I._memset=function(){return I.asm._memset.apply(null,arguments)},I._sbrk=function(){return I.asm._sbrk.apply(null,arguments)},I._stb_vorbis_js_channels=function(){return I.asm._stb_vorbis_js_channels.apply(null,arguments)},I._stb_vorbis_js_close=function(){return I.asm._stb_vorbis_js_close.apply(null,arguments)},I._stb_vorbis_js_decode=function(){return I.asm._stb_vorbis_js_decode.apply(null,arguments)},I._stb_vorbis_js_open=function(){return I.asm._stb_vorbis_js_open.apply(null,arguments)},I._stb_vorbis_js_sample_rate=function(){return I.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},I.establishStackSpace=function(){return I.asm.establishStackSpace.apply(null,arguments)},I.getTempRet0=function(){return I.asm.getTempRet0.apply(null,arguments)},I.runPostSets=function(){return I.asm.runPostSets.apply(null,arguments)},I.setTempRet0=function(){return I.asm.setTempRet0.apply(null,arguments)},I.setThrew=function(){return I.asm.setThrew.apply(null,arguments)};var Oe=I.stackAlloc=function(){return I.asm.stackAlloc.apply(null,arguments)},Gt=I.stackRestore=function(){return I.asm.stackRestore.apply(null,arguments)},xt=I.stackSave=function(){return I.asm.stackSave.apply(null,arguments)};function Ge(E){this.name="ExitStatus",this.message="Program terminated with exit("+E+")",this.status=E}function Mt(E){E=E||I.arguments,!(re>0)&&(function(){if(I.preRun)for(typeof I.preRun=="function"&&(I.preRun=[I.preRun]);I.preRun.length;)er(I.preRun.shift());Fe(cs)}(),!(re>0)&&(I.calledRun||(I.setStatus?(I.setStatus("Running..."),setTimeout(function(){setTimeout(function(){I.setStatus("")},1),B()},1)):B())));function B(){!I.calledRun&&(I.calledRun=!0,Ye||(Ft||(Ft=!0,Fe(wt)),Fe(ls),I.onRuntimeInitialized&&I.onRuntimeInitialized(),function(){if(I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;)tr(I.postRun.shift());Fe(us)}()))}}function ti(E,B){(!B||!I.noExitRuntime||E!==0)&&(I.noExitRuntime||(Ye=!0,rs=E,S=G,Fe(Qs),Ar=!0,I.onExit&&I.onExit(E)),I.quit(E,new Ge(E)))}function zA(E){throw I.onAbort&&I.onAbort(E),E!==void 0?(eA(E),lA(E),E=JSON.stringify(E)):E="",Ye=!0,rs=1,"abort("+E+"). Build with -s ASSERTIONS=1 for more info."}if(I.dynCall_iii=function(){return I.asm.dynCall_iii.apply(null,arguments)},I.asm=ms,I.ccall=gs,I.cwrap=function(B,u,m,L){var X=(m=m||[]).every(function(j){return j==="number"});return u!=="string"&&X&&!L?is(B):function(){return gs(B,u,m,arguments,L)}},Ge.prototype=Error(),Ge.prototype.constructor=Ge,Re=function E(){I.calledRun||Mt(),I.calledRun||(Re=E)},I.run=Mt,I.abort=zA,I.preInit)for(typeof I.preInit=="function"&&(I.preInit=[I.preInit]);I.preInit.length>0;)I.preInit.pop()();I.noExitRuntime=!0,Mt(),I.onRuntimeInitialized=()=>{Qn=!0,un()},_A.decode=function(E){return function(u){if(!Qn)throw Error("Not initialized");var m={};function L(Be){return new Int32Array(I.HEAPU8.buffer,Be,1)[0]}function X(Be,Nt){var Ze=new ArrayBuffer(Nt*Float32Array.BYTES_PER_ELEMENT),he=new Float32Array(Ze);return he.set(new Float32Array(I.HEAPU8.buffer,Be,Nt)),he}m.open=I.cwrap("stb_vorbis_js_open","number",[]),m.close=I.cwrap("stb_vorbis_js_close","void",["number"]),m.channels=I.cwrap("stb_vorbis_js_channels","number",["number"]),m.sampleRate=I.cwrap("stb_vorbis_js_sample_rate","number",["number"]),m.decode=I.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var j,Y,pA,EA,CA=m.open(),aA=(j=u,Y=u.byteLength,pA=I._malloc(Y),(EA=new Uint8Array(I.HEAPU8.buffer,pA,Y)).set(new Uint8Array(j,0,Y)),EA),W=I._malloc(4),FA=I._malloc(4),UA=m.decode(CA,aA.byteOffset,aA.byteLength,W,FA);if(I._free(aA.byteOffset),UA<0)throw m.close(CA),I._free(W),Error("stbvorbis decode failed: "+UA);for(var TA=m.channels(CA),vA=Array(TA),ie=new Int32Array(I.HEAPU32.buffer,L(W),TA),HA=0;HA=0&&(s=this.workletProcessorChannels[e]),t.messageType){case sA.noteOn:this.noteOn(e,A[0],A[1],A[2]);break;case sA.noteOff:this.noteOff(e,A);break;case sA.pitchWheel:this.pitchWheel(e,A[0],A[1]);break;case sA.ccChange:this.controllerChange(e,A[0],A[1],A[2]);break;case sA.customcCcChange:s.customControllers[A[0]]=A[1];break;case sA.killNote:this.killNote(e,A);break;case sA.programChange:this.programChange(e,A[0],A[1]);break;case sA.channelPressure:this.channelPressure(e,A);break;case sA.polyPressure:this.polyPressure(e,A[0],A[1]);break;case sA.ccReset:e===qA?this.resetAllControllers():this.resetControllers(e);break;case sA.systemExclusive:this.systemExclusive(A);break;case sA.setChannelVibrato:if(e===qA)for(let i=0;i{let e=(A.midiControllers[dA+q.pitchWheelRange]>>7)+(A.midiControllers[dA+q.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[dA+q.pitchWheel],pitchBendRangeSemitones:e,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:DA.channelProperties,messageData:t})}function hr(t,A,e){let s=t,n=A<<7|e;return t===127&&A===127&&e===127?{midiNote:-1,centTuning:null}:{midiNote:s,centTuning:n*.0061}}function pn(t,A=0){let e=t[0];if(!(this.deviceID!==qA&&t[1]!==127&&this.deviceID!==t[1]))switch(e){default:U(`%cUnrecognized SysEx: %c${SA(t)}`,g.warn,g.unrecognized);break;case 126:case 127:switch(t[2]){case 4:let n;switch(t[3]){case 1:let o=t[5]<<7|t[4];this.setMIDIVolume(o/16384),p(`%cMaster Volume. Volume: %c${o}`,g.info,g.value);break;case 2:let a=((t[5]<<7|t[4])-8192)/8192;this.setMasterPan(a),p(`%cMaster Pan. Pan: %c${a}`,g.info,g.value);break;case 3:let C=(t[5]<<7|t[6])-8192;n=Math.floor(C/81.92),this.setMasterTuning(n),p(`%cMaster Fine Tuning. Cents: %c${n}`,g.info,g.value);break;case 4:n=(t[5]-64)*100,this.setMasterTuning(n),p(`%cMaster Coarse Tuning. Cents: %c${n}`,g.info,g.value);break;default:U(`%cUnrecognized MIDI Device Control Real-time message: %c${SA(t)}`,g.warn,g.unrecognized)}break;case 9:t[3]===1?(p("%cGM system on",g.info),this.system="gm"):t[3]===3?(p("%cGM2 system on",g.info),this.system="gm2"):(p("%cGM system off, defaulting to GS",g.info),this.system="gs");break;case 8:switch(t[3]){case 2:case 7:let o=4;t[3]===7&&o++;let i=t[o++],a=t[o++];for(let h=0;h>1&1)===1&&this.setOctaveTuning(15+A,C);for(let h=0;h<7;h++)(t[5]>>h&1)===1&&this.setOctaveTuning(7+h+A,C);for(let h=0;h<7;h++)(t[6]>>h&1)===1&&this.setOctaveTuning(h+A,C);p(`%cMIDI Octave Scale ${t[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${C.join(" ")}`,g.info,g.value);break;default:U(`%cUnrecognized MIDI Tuning standard message: %c${SA(t)}`,g.warn,g.unrecognized);break}break;default:U(`%cUnrecognized MIDI Realtime/non realtime message: %c${SA(t)}`,g.warn,g.unrecognized)}break;case 65:let s=function(){U(`%cUnrecognized Roland %cGS %cSysEx: %c${SA(t)}`,g.warn,g.recognized,g.warn,g.unrecognized)};if(t[2]===66&&t[3]===18){let n=t[7];if(t[6]===127){n===0?(p("%cGS Reset received!",g.info),this.resetAllControllers(!1),this.system="gs"):n===127&&(p("%cGS system off, switching to GM2",g.info),this.resetAllControllers(!1),this.system="gm2");return}else if(t[4]===64){if((t[5]&16)>0){let o=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][t[5]&15]+A;switch(t[6]){default:s();break;case 21:let i=n>0&&t[5]>>4;this.setDrums(o,i),p(`%cChannel %c${o}%c ${i?"is now a drum channel":"now isn't a drum channel"}%c via: %c${SA(t)}`,g.info,g.value,g.recognized,g.info,g.value);return;case 22:let a=n-64;this.transposeChannel(o,a),p(`%cChannel %c${o}%c pitch shift. Semitones %c${a}%c, with %c${SA(t)}`,g.info,g.recognized,g.info,g.value,g.info,g.value);return;case 28:let C=n;C===0&&(C=Math.floor(Math.random()*128)),this.controllerChange(o,k.pan,C);break;case 33:this.controllerChange(o,k.chorusDepth,n);break;case 34:this.controllerChange(o,k.reverbDepth,n);break;case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:let h=t.length-9,d=new Int8Array(12);for(let l=0;l=this.workletProcessorChannels.length)return;let o=t[6];switch(t[5]){case 1:this.controllerChange(n,k.bankSelect,o);break;case 2:this.controllerChange(n,k.lsbForControl0BankSelect,o);break;case 3:this.programChange(n,o);break;case 8:let i=this.workletProcessorChannels[n];if(i.drumChannel)return;let a=o-64;i.channelTransposeKeyShift=a;break;case 11:this.controllerChange(n,k.mainVolume,o);break;case 14:let C=o;C===0&&(C=Math.floor(Math.random()*127)),this.controllerChange(n,k.pan,C);break;case 19:this.controllerChange(n,k.reverbDepth,o);break;case 18:this.controllerChange(n,k.chorusDepth,o);break;default:U(`%cUnrecognized Yamaha XG Part Setup: %c${t[5].toString(16).toUpperCase()}`,g.warn,g.unrecognized)}}else this.system==="xg"&&U(`%cUnrecognized Yamaha XG SysEx: %c${SA(t)}`,g.warn,g.unrecognized);else this.system==="xg"&&U(`%cUnrecognized Yamaha SysEx: %c${SA(t)}`,g.warn,g.unrecognized);break}}var cr=1e3/200;function yn(t,A,e){if(A.transformAmount===0)return A.currentValue=0,0;let s;if(A.sourceUsesCC)s=t[A.sourceIndex];else{let h=A.sourceIndex+dA;switch(A.sourceIndex){case q.noController:s=16383;break;case q.noteOnKeyNum:s=e.midiNote<<7;break;case q.noteOnVelocity:s=e.velocity<<7;break;case q.polyPressure:s=e.pressure<<7;break;default:s=t[h];break}}let n=Ce[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=t[A.secSrcIndex];else{let h=A.secSrcIndex+dA;switch(A.secSrcIndex){case q.noController:o=16383;break;case q.noteOnKeyNum:o=e.midiNote<<7;break;case q.noteOnVelocity:o=e.velocity<<7;break;case q.polyPressure:o=e.pressure<<7;break;default:o=t[h]}}let i=Ce[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],a=A.transformAmount;A.isEffectModulator&&a<=1e3&&(a*=cr,a=Math.min(a,1e3));let C=n*i*a;return A.transformType===2&&(C=Math.abs(C)),A.currentValue=C,C}function $A(t,A,e=-1,s=0){let n=t.modulators,o=t.generators,i=t.modulatedGenerators;if(e===-1){i.set(o),n.forEach(h=>{let d=J[h.modulatorDestination],Q=i[h.modulatorDestination]+yn(A,h,t);i[h.modulatorDestination]=Math.max(d.min,Math.min(Q,d.max))}),PA.recalculate(t),JA.recalculate(t);return}let a=new Set([r.initialAttenuation,r.delayVolEnv,r.attackVolEnv,r.holdVolEnv,r.decayVolEnv,r.sustainVolEnv,r.releaseVolEnv,r.keyNumToVolEnvHold,r.keyNumToVolEnvDecay]),C=new Set;n.forEach(h=>{if(h.sourceUsesCC===e&&h.sourceIndex===s||h.secSrcUsesCC===e&&h.secSrcIndex===s){let d=h.modulatorDestination;C.has(d)||(i[d]=o[d],yn(A,h,t),n.forEach(Q=>{if(Q.modulatorDestination===d){let l=J[h.modulatorDestination],c=i[h.modulatorDestination]+Q.currentValue;i[h.modulatorDestination]=Math.max(l.min,Math.min(c,l.max))}}),C.add(d))}}),[...C].some(h=>a.has(h))&&PA.recalculate(t),JA.recalculate(t)}var Ce=[];for(let t=0;t<4;t++){Ce[t]=[[new Float32Array(fA),new Float32Array(fA)],[new Float32Array(fA),new Float32Array(fA)]];for(let A=0;A200&&e<40||this.highPerformanceMode&&e<10||i.isMuted)return;let a=A+i.channelTransposeKeyShift,C=a;if(A>127||A<0)return;let h=i.preset.program;this.tunings[h]?.[A]?.midiNote>=0&&(C=this.tunings[h]?.[A].midiNote),i.velocityOverride>0&&(e=i.velocityOverride);let d=this.keyModifierManager.getVelocity(t,A);d>-1&&(e=d);let Q=this.getWorkletVoices(t,C,e,i,o,a,s),l=i.voices;Q.forEach(c=>{let f=c.generators[r.exclusiveClass];f!==0&&l.forEach(G=>{G.generators[r.exclusiveClass]===f&&(this.releaseVoice(G,Dn),G.modulatedGenerators[r.releaseVolEnv]=-7e3,G.modulatedGenerators[r.releaseModEnv]=-7e3,PA.recalculate(G),JA.recalculate(G))}),$A(c,i.midiControllers);let y=c.modulatedGenerators[r.startAddrsOffset]+c.modulatedGenerators[r.startAddrsCoarseOffset]*32768,S=c.modulatedGenerators[r.endAddrOffset]+c.modulatedGenerators[r.endAddrsCoarseOffset]*32768,w=c.modulatedGenerators[r.startloopAddrsOffset]+c.modulatedGenerators[r.startloopAddrsCoarseOffset]*32768,H=c.modulatedGenerators[r.endloopAddrsOffset]+c.modulatedGenerators[r.endloopAddrsCoarseOffset]*32768,R=c.sample,x=G=>Math.max(0,Math.min(R.sampleData.length-1,G));if(R.cursor=x(R.cursor+y),R.end=x(R.end+S),R.loopStart=x(R.loopStart+w),R.loopEnd=x(R.loopEnd+H),R.loopEndthis.voiceCap&&this.voiceKilling(Q.length),l.push(...Q),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:t,velocity:e}))}function kn(t,A){if(A>127||A<0){U("Received a noteOn for note",A,"Ignoring.");return}let e=A+this.workletProcessorChannels[t].channelTransposeKeyShift;if(this.highPerformanceMode&&!this.workletProcessorChannels[t].drumChannel){this.killNote(t,e);return}this.workletProcessorChannels[t].voices.forEach(n=>{n.realKey!==e||n.isInRelease===!0||(this.workletProcessorChannels[t].holdPedal?this.workletProcessorChannels[t].sustainedVoices.push(n):this.releaseVoice(n))}),this.callEvent("noteoff",{midiNote:A,channel:t})}function wn(t,A){this.workletProcessorChannels[t].voices.forEach(e=>{e.realKey===A&&(e.modulatedGenerators[r.releaseVolEnv]=-12e3,this.releaseVoice(e))})}function Fn(t,A=!1){let e=this.workletProcessorChannels[t].voices;A?(e.length=0,this.workletProcessorChannels[t].sustainedVoices.length=0,this.sendChannelProperties()):(e.forEach(s=>{s.isInRelease||this.releaseVoice(s)}),this.workletProcessorChannels[t].sustainedVoices.forEach(s=>{this.releaseVoice(s)}))}function Rn(t=!1){p("%cStop all received!",g.info);for(let A=0;A$A(n,this.workletProcessorChannels[t].midiControllers,0,q.pitchWheel)),this.sendChannelProperties()}function Tn(t,A){let e=this.workletProcessorChannels[t];e.midiControllers[dA+q.channelPressure]=A<<7,this.workletProcessorChannels[t].voices.forEach(s=>$A(s,e.midiControllers,0,q.channelPressure)),this.callEvent("channelpressure",{channel:t,pressure:A})}function vn(t,A,e){this.workletProcessorChannels[t].voices.forEach(s=>{s.midiNote===A&&(s.pressure=e,$A(s,this.workletProcessorChannels[t].midiControllers,0,q.polyPressure))}),this.callEvent("polypressure",{channel:t,midiNote:A,pressure:e})}function Hn(t,A){if(A.length!==12)throw new Error("Tuning is not the length of 12.");this.workletProcessorChannels[t].channelOctaveTuning=A}function Yn(t,A,e,s=!1){let n=this.workletProcessorChannels[t];if(n===void 0){U(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(A>127){if(!s)return;switch(A){default:return;case Yt.velocityOverride:n.velocityOverride=e}}if(A>=k.lsbForControl1ModulationWheel&&A<=k.lsbForControl13EffectControl2&&A!==k.lsbForControl6DataEntry){let o=A-32;if(n.lockedControllers[o])return;n.midiControllers[o]=n.midiControllers[o]&16256|e&127,n.voices.forEach(i=>$A(i,n.midiControllers,1,o))}switch(A){case k.allNotesOff:this.stopAll(t);break;case k.allSoundOff:this.stopAll(t,!0);break;case k.bankSelect:let o=e;if(!s){switch(this.system){case"gm":p(`%cIgnoring the Bank Select (${e}), as the synth is in GM mode.`,g.info);return;case"xg":o===120||o===126||o===127?this.setDrums(t,!0):t%16!==RA&&this.setDrums(t,!1);break;case"gm2":o===120&&this.setDrums(t,!0)}n.drumChannel&&(o=128),o===128&&!n.drumChannel&&(o=XA(n))}te(n,o);break;case k.lsbForControl0BankSelect:this.system==="xg"?n.drumChannel||e!==127&&te(n,e):this.system==="gm2"&&te(n,e);break;case k.RPNLsb:n.RPValue=n.RPValue<<7|e,n.dataEntryState=wA.RPFine;break;case k.RPNMsb:n.RPValue=e,n.dataEntryState=wA.RPCoarse;break;case k.NRPNMsb:n.NRPCoarse=e,n.dataEntryState=wA.NRPCoarse;break;case k.NRPNLsb:n.NRPFine=e,n.dataEntryState=wA.NRPFine;break;case k.dataEntryMsb:this.dataEntryCoarse(t,e);break;case k.lsbForControl6DataEntry:this.dataEntryFine(t,e);break;case k.resetAllControllers:this.resetControllers(t);break;case k.sustainPedal:e>=64?n.holdPedal=!0:(n.holdPedal=!1,n.sustainedVoices.forEach(i=>{this.releaseVoice(i)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=e<<7,n.voices.forEach(i=>$A(i,n.midiControllers,1,A));break}this.callEvent("controllerchange",{channel:t,controllerNumber:A,controllerValue:e})}function Jn(t){this.midiVolume=t,this.setMasterPan(this.pan)}function Pn(t){this.masterGain=t*Wt,this.setMasterPan(this.pan)}function qn(t){this.pan=t,t=t/2+.5,this.panLeft=1-t,this.panRight=t}function Kn(t,A){A&&this.stopAll(t,!0),this.workletProcessorChannels[t].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:t,isMuted:A})}function Vn(t){this.workletProcessorChannels[t].lockGSNRPNParams=!0,this.workletProcessorChannels[t].channelVibrato.rate=0,this.workletProcessorChannels[t].channelVibrato.delay=0,this.workletProcessorChannels[t].channelVibrato.depth=0}function On(t,A,e,s){this.workletProcessorChannels[t].lockGSNRPNParams||(this.workletProcessorChannels[t].channelVibrato.rate=e,this.workletProcessorChannels[t].channelVibrato.delay=s,this.workletProcessorChannels[t].channelVibrato.depth=A)}function Zn(t,A){let e=this.workletProcessorChannels[t],s=()=>{e.channelVibrato.delay===0&&e.channelVibrato.rate===0&&e.channelVibrato.depth===0&&(e.channelVibrato.depth=50,e.channelVibrato.rate=8,e.channelVibrato.delay=.6)};switch(e.dataEntryState){default:case wA.Idle:break;case wA.NRPFine:if(this.system!=="gs"||e.lockGSNRPNParams)return;switch(e.NRPCoarse){default:if(A===64)return;U(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16).toUpperCase()} 0x${e.NRPFine.toString(16).toUpperCase()})%c data value: %c${A}`,g.warn,g.recognized,g.warn,g.unrecognized,g.warn,g.value);break;case 1:switch(e.NRPFine){default:if(A===64)return;U(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16)} 0x${e.NRPFine.toString(16)})%c data value: %c${A}`,g.warn,g.recognized,g.warn,g.unrecognized,g.warn,g.value);break;case 8:if(A===64)return;s(),e.channelVibrato.rate=A/64*8,p(`%cVibrato rate for %c${t}%c is now set to %c${A} = ${e.channelVibrato.rate}%cHz.`,g.info,g.recognized,g.info,g.value,g.info);break;case 9:if(A===64)return;s(),e.channelVibrato.depth=A/2,p(`%cVibrato depth for %c${t}%c is now set to %c${A} = ${e.channelVibrato.depth}%c cents range of detune.`,g.info,g.recognized,g.info,g.value,g.info);break;case 10:if(A===64)return;s(),e.channelVibrato.delay=A/64/3,p(`%cVibrato delay for %c${t}%c is now set to %c${A} = ${e.channelVibrato.delay}%c seconds.`,g.info,g.recognized,g.info,g.value,g.info);break;case 32:let i=A;this.controllerChange(t,k.brightness,A),p(`%cFilter cutoff for %c${t}%c is now set to %c${i}`,g.info,g.recognized,g.info,g.value)}break;case 24:let n=A-64;e.keyCentTuning[e.NRPFine]=n*100,p(`%cGS drum key tuning. MIDI note: %c${e.NRPFine}%c semitones: %c${n}`,g.info,g.recognized,g.info,g.value);break;case 29:let o=A;this.controllerChange(t,k.reverbDepth,o),p(`%cGS Drum reverb for %c${t}%c: %c${o}`,g.info,g.recognized,g.info,g.value);break}break;case wA.RPCoarse:case wA.RPFine:switch(e.RPValue){default:U(`%cUnrecognized RPN for %c${t}%c: %c(0x${e.RPValue.toString(16)})%c data value: %c${A}`,g.warn,g.recognized,g.warn,g.unrecognized,g.warn,g.value);break;case 0:e.midiControllers[dA+q.pitchWheelRange]=A<<7,p(`%cChannel ${t} bend range. Semitones: %c${A}`,g.info,g.value);break;case 2:this.setChannelTuningSemitones(t,A-64);break;case 1:this.setChannelTuning(t,A-64,!1);break;case 5:this.setModulationDepth(t,A*100);break;case 16383:this.resetParameters(t);break}}}function Wn(t,A){let e=this.workletProcessorChannels[t];switch(e.dataEntryState){default:break;case wA.RPCoarse:case wA.RPFine:switch(e.RPValue){default:break;case 0:if(A===0)break;e.midiControllers[dA+q.pitchWheelRange]|=A;let s=(e.midiControllers[dA+q.pitchWheelRange]>>7)+A/127;p(`%cChannel ${t} bend range. Semitones: %c${s}`,g.info,g.value);break;case 1:let o=e.customControllers[hA.channelTuning]<<7|A;this.setChannelTuning(t,o*.01220703125);break;case 5:let a=e.customControllers[hA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(t,a);break;case 16383:this.resetParameters(t);break}}}function Xn(t=!0){t&&p("%cResetting all controllers!",g.info),this.callEvent("allcontrollerreset",void 0);for(let A=0;A>7});if(this.workletProcessorChannels[A].lockedControllers[dA+q.pitchWheel]===!1){let s=this.workletProcessorChannels[A].midiControllers[dA+q.pitchWheel],n=s>>7,o=s&127;this.callEvent("pitchwheel",{channel:A,MSB:n,LSB:o})}}this.tunings=[],this.tunings=[];for(let A=0;127>A;A++)this.tunings.push([]);this.setMIDIVolume(1),this.system=At}function _n(t){let A=this.workletProcessorChannels[t],e=A.lockedControllers.reduce((n,o,i)=>(o&&n.push(i),n),[]);A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0);for(let n=0;n>7}),A.midiControllers[n]=o}A.channelVibrato={rate:0,depth:0,delay:0},A.holdPedal=!1;let s=A.customControllers[hA.channelTransposeFine];A.customControllers.set(Ht),A.customControllers[hA.channelTransposeFine]=s,this.resetParameters(t)}function zn(t){let A=this.workletProcessorChannels[t];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=wA.Idle}function jn(){let t=4;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==r.sampleID&&i.generatorType!==r.keyRange&&i.generatorType!==r.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:r.velRange,generatorValue:o.velRange.max<<8|Math.max(o.velRange.min,0)}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:r.keyRange,generatorValue:o.keyRange.max<<8|Math.max(o.keyRange.min,0)}),o.isGlobal||o.generators.push({generatorType:r.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new N(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.generatorZoneStartIndex=e;for(let o of n.generators)b(A,o.generatorType),b(A,o.generatorValue),e++}return O(A,0),gA(new oA("igen",A.length,A))}function $n(t,A,e,s,n){let o=this.samples.map((h,d)=>{e&&h.compressSample(s,n);let Q=h.getRawData();return p(`%cEncoded sample %c${d}. ${h.sampleName}%c of %c${this.samples.length}`,g.info,g.recognized,g.info,g.recognized),Q}),i=this.samples.reduce((h,d,Q)=>h+o[Q].length+46,0),a=new N(i);this.samples.forEach((h,d)=>{let Q=o[d],l,c,f=Q.length;h.isCompressed?(l=a.currentIndex,c=l+Q.length):(l=a.currentIndex/2,c=l+Q.length/2,f+=46),t.push(l),a.set(Q,a.currentIndex),a.currentIndex+=f,A.push(c)});let C=gA(new oA("smpl",a.length,a),new N([115,100,116,97]));return gA(new oA("LIST",C.length,C))}function Ao(t,A){let s=new N(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{yA(s,n.sampleName,20);let i=t[o];O(s,i);let a=A[o];O(s,a);let C=n.sampleLoopStartIndex+i,h=n.sampleLoopEndIndex+i;n.isCompressed&&(C-=i,h-=i),O(s,C),O(s,h),O(s,n.sampleRate),s[s.currentIndex++]=n.samplePitch,s[s.currentIndex++]=n.samplePitchCorrection,b(s,n.sampleLink),b(s,n.sampleType)}),yA(s,"EOS",46),gA(new oA("shdr",s.length,s))}function eo(){let t=10;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new N(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)b(A,o.sourceEnum),b(A,o.modulatorDestination),b(A,o.transformAmount),b(A,o.secondarySourceEnum),b(A,o.transformType),e++}return de(A,0,10),gA(new oA("imod",A.length,A))}function to(){let t=this.instruments.reduce((o,i)=>i.instrumentZones.length*4+o,4),A=new N(t),e=0,s=0,n=0;for(let o of this.instruments){o.instrumentZoneIndex=e;for(let i of o.instrumentZones)i.zoneID=e,b(A,s),b(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return b(A,s),b(A,n),gA(new oA("ibag",A.length,A))}function so(){let t=this.instruments.length*22+22,A=new N(t),e=0,s=0;for(let n of this.instruments)yA(A,n.instrumentName,20),b(A,e),e+=n.instrumentZones.length,n.instrumentID=s,s++;return yA(A,"EOI",20),b(A,e),gA(new oA("inst",A.length,A))}function no(){let t=4;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==r.instrument&&i.generatorType!==r.keyRange&&i.generatorType!==r.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:r.velRange,generatorValue:o.velRange.max<<8|Math.max(o.velRange.min,0)}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:r.keyRange,generatorValue:o.keyRange.max<<8|Math.max(o.keyRange.min,0)}),o.isGlobal||o.generators.push({generatorType:r.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new N(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.generatorZoneStartIndex=e;for(let o of n.generators)b(A,o.generatorType),b(A,o.generatorValue);e+=n.generators.length}return b(A,0),b(A,0),gA(new oA("pgen",A.length,A))}function oo(){let t=10;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new N(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)b(A,o.sourceEnum),b(A,o.modulatorDestination),b(A,o.transformAmount),b(A,o.secondarySourceEnum),b(A,o.transformType),e++}return de(A,0,10),gA(new oA("pmod",A.length,A))}function ro(){let t=this.presets.reduce((o,i)=>i.presetZones.length*4+o,4),A=new N(t),e=0,s=0,n=0;for(let o of this.presets){o.presetZoneStartIndex=e;for(let i of o.presetZones)i.zoneID=e,b(A,s),b(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return b(A,s),b(A,n),gA(new oA("pbag",A.length,A))}function io(){let t=this.presets.length*38+38,A=new N(t),e=0;for(let s of this.presets)yA(A,s.presetName,20),b(A,s.program),b(A,s.bank),b(A,e),O(A,s.library),O(A,s.genre),O(A,s.morphology),e+=s.presetZones.length;return yA(A,"EOP",20),b(A,0),b(A,0),b(A,e),O(A,0),O(A,0),O(A,0),gA(new oA("phdr",A.length,A))}var lr={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ao(t=lr){if(t.compress&&typeof t.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");QA("%cSaving soundfont...",g.info),p(`%cCompression: %c${t?.compress||"false"}%c quality: %c${t?.compressionQuality||"none"}`,g.info,g.recognized,g.info,g.recognized),p("%cWriting INFO...",g.info);let A=[];this.soundFontInfo.ISFT="SpessaSynth",t?.compress&&(this.soundFontInfo.ifil="3.0");for(let[x,G]of Object.entries(this.soundFontInfo))if(x==="ifil"||x==="iver"){let I=parseInt(G.split(".")[0]),rA=parseInt(G.split(".")[1]),Z=new N(4);b(Z,I),b(Z,rA),A.push(gA(new oA(x,4,Z)))}else if(x==="DMOD")A.push(gA(new oA(x,G.length,G)));else{let I=new N(G.length);yA(I,G),A.push(gA(new oA(x,G.length,I)))}let e=cA([new N([73,78,70,79]),...A]),s=gA(new oA("LIST",e.length,e));p("%cWriting SDTA...",g.info);let n=[],o=[],i=$n.call(this,n,o,t?.compress,t?.compressionQuality??.5,t.compressionFunction);p("%cWriting PDTA...",g.info),p("%cWriting SHDR...",g.info);let a=Ao.call(this,n,o);p("%cWriting IGEN...",g.info);let C=jn.call(this);p("%cWriting IMOD...",g.info);let h=eo.call(this);p("%cWriting IBAG...",g.info);let d=to.call(this);p("%cWriting INST...",g.info);let Q=so.call(this),l=no.call(this);p("%cWriting PMOD...",g.info);let c=oo.call(this);p("%cWriting PBAG...",g.info);let f=ro.call(this);p("%cWriting PHDR...",g.info);let y=io.call(this),S=cA([new N([112,100,116,97]),y,f,c,l,Q,d,h,C,a]),w=gA(new oA("LIST",S.length,S));p("%cWriting the output file...",g.info);let H=cA([new N([115,102,98,107]),s,i,w]),R=gA(new oA("RIFF",H.length,H));return p(`%cSaved succesfully! Final file size: %c${R.length}`,g.info,g.recognized),V(),R}var Ue=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(A,e){return this.generators.find(s=>s.generatorType===A)?.generatorValue??e}};var OA=class extends Ue{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},ye=class extends Ue{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var Qr=new Set([r.velRange,r.keyRange,r.instrument,r.exclusiveClass,r.endOper,r.sampleModes,r.startloopAddrsOffset,r.startloopAddrsCoarseOffset,r.endloopAddrsOffset,r.endloopAddrsCoarseOffset,r.startAddrsOffset,r.startAddrsCoarseOffset,r.endAddrOffset,r.endAddrsCoarseOffset,r.initialAttenuation,r.fineTune,r.coarseTune,r.keyNumToVolEnvHold,r.keyNumToVolEnvDecay,r.keyNumToModEnvHold,r.keyNumToModEnvDecay]);function go(t,A=!0){function e(Q,l){Q.push(...l.filter(c=>!Q.find(f=>f.generatorType===c.generatorType)))}function s(Q,l){return{min:Math.max(Q.min,l.min),max:Math.min(Q.max,l.max)}}function n(Q,l){Q.push(...l.filter(c=>!Q.find(f=>P.isIdentical(c,f))))}let o=[],i=[],a=[],C={min:0,max:127},h={min:0,max:127},d=t.presetZones.find(Q=>Q.isGlobal);d&&(i.push(...d.generators),a.push(...d.modulators),C=d.keyRange,h=d.velRange);for(let Q of t.presetZones){if(Q.isGlobal)continue;let l=Q.keyRange;Q.hasKeyRange||(l=C);let c=Q.velRange;Q.hasVelRange||(c=h);let f=Q.generators.map(I=>new T(I.generatorType,I.generatorValue));e(f,i);let y=[...Q.modulators];n(y,a);let S=Q.instrument.instrumentZones,w=[],H=[],R={min:0,max:127},x={min:0,max:127},G=S.find(I=>I.isGlobal);G&&(w.push(...G.generators),H.push(...G.modulators),R=G.keyRange,x=G.velRange);for(let I of S){if(I.isGlobal)continue;let rA=I.keyRange;I.hasKeyRange||(rA=R);let Z=I.velRange;if(I.hasVelRange||(Z=x),rA=s(rA,l),Z=s(Z,c),rA.maxnew T(eA.generatorType,eA.generatorValue));e(AA,w);let $=[...I.modulators];n($,H);let IA=[...$];for(let eA of y){let lA=IA.findIndex(LA=>P.isIdentical(eA,LA));lA!==-1?IA[lA]=IA[lA].sumTransform(eA):IA.push(eA)}let nA=AA.map(eA=>new T(eA.generatorType,eA.generatorValue));for(let eA of f){if(eA.generatorType===r.velRange||eA.generatorType===r.keyRange||eA.generatorType===r.instrument||eA.generatorType===r.endOper||eA.generatorType===r.sampleModes)continue;let lA=AA.findIndex(LA=>LA.generatorType===eA.generatorType);if(lA!==-1){let LA=nA[lA].generatorValue+eA.generatorValue;nA[lA]=new T(eA.generatorType,LA)}else{let LA=J[eA.generatorType].def+eA.generatorValue;nA.push(new T(eA.generatorType,LA))}}nA=nA.filter(eA=>eA.generatorType!==r.sampleID&&eA.generatorType!==r.keyRange&&eA.generatorType!==r.velRange&&eA.generatorType!==r.endOper&&eA.generatorType!==r.instrument&&eA.generatorValue!==J[eA.generatorType].def);let iA=new OA;iA.keyRange=rA,iA.velRange=Z,iA.keyRange.min===0&&iA.keyRange.max===127&&(iA.keyRange.min=-1),iA.velRange.min===0&&iA.velRange.max===127&&(iA.velRange.min=-1),iA.isGlobal=!1,iA.sample=I.sample,iA.generators=nA,iA.modulators=IA,o.push(iA)}}if(A){let Q=new OA;Q.isGlobal=!0;for(let f=0;f<58;f++){if(Qr.has(f))continue;let y={},S=J[f]?.def||0;y[S]=0;for(let w of o){let H=w.generators.find(G=>G.generatorType===f);if(H){let G=H.generatorValue;y[G]===void 0?y[G]=1:y[G]++}else y[S]++;let R;switch(f){default:continue;case r.decayVolEnv:R=r.keyNumToVolEnvDecay;break;case r.holdVolEnv:R=r.keyNumToVolEnvHold;break;case r.decayModEnv:R=r.keyNumToModEnvDecay;break;case r.holdModEnv:R=r.keyNumToModEnvHold}if(w.generators.find(G=>G.generatorType===R)!==void 0){y={};break}}if(Object.keys(y).length>0){let w=Object.entries(y).reduce((R,x)=>R[1]{let x=R.generators.findIndex(G=>G.generatorType===f);x!==-1?R.generators[x].generatorValue===H&&R.generators.splice(x,1):H!==S&&R.generators.push(new T(f,S))})}}let c=o.find(f=>!f.isGlobal).modulators.map(f=>P.copy(f));for(let f of c){let y=!0;for(let S of o){if(S.isGlobal||!y)continue;S.modulators.find(H=>P.isIdentical(H,f))||(y=!1)}if(y===!0){Q.modulators.push(P.copy(f));for(let S of o){let w=S.modulators.find(H=>P.isIdentical(H,f));w.transformAmount===f.transformAmount&&S.modulators.splice(S.modulators.indexOf(w),1)}}}o.splice(0,0,Q)}return o}var Io=20;function at(t,A,e,s,n,o,i){let a=i===0?0:1,C=new N(Io+a*16);O(C,Io),b(C,A),b(C,e);let h=s*.4,d=Math.floor(h*-65536);O(C,d),O(C,2);let Q=o-n,l=0;switch(i){default:case 0:a=0;break;case 1:l=0,a=1;break;case 3:l=1,a=1}return O(C,a),a===1&&(O(C,16),O(C,l),O(C,n),O(C,Q)),tA("wsmp",C)}var v={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},gt=new P({srcEnum:219,dest:r.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),It=new P({srcEnum:221,dest:r.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),Et=new P({srcEnum:129,dest:r.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),Ct=new P({srcEnum:13,dest:r.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var D={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Te=class{source;control;destination;scale;transform;constructor(A,e,s,n,o){this.source=A,this.control=e,this.destination=s,this.scale=n,this.transform=o}writeArticulator(){let A=new N(12);return b(A,this.source),b(A,this.control),b(A,this.destination),b(A,this.transform),O(A,this.scale<<16),A}};function Eo(t,A){if(t)switch(A){default:return;case k.modulationWheel:return v.modulationWheel;case k.mainVolume:return v.volume;case k.pan:return v.pan;case k.expressionController:return v.expression;case k.chorusDepth:return v.chorus;case k.reverbDepth:return v.reverb}else switch(A){default:return;case q.noteOnKeyNum:return v.keyNum;case q.noteOnVelocity:return v.velocity;case q.noController:return v.none;case q.polyPressure:return v.polyPressure;case q.channelPressure:return v.channelPressure;case q.pitchWheel:return v.pitchWheel;case q.pitchWheelRange:return v.pitchWheelRange}}function Co(t,A){switch(t){default:return;case r.initialAttenuation:return{dest:D.gain,amount:-A};case r.fineTune:return D.pitch;case r.pan:return D.pan;case r.keyNum:return D.keyNum;case r.reverbEffectsSend:return D.reverbSend;case r.chorusEffectsSend:return D.chorusSend;case r.freqModLFO:return D.modLfoFreq;case r.delayModLFO:return D.modLfoDelay;case r.delayVibLFO:return D.vibLfoDelay;case r.freqVibLFO:return D.vibLfoFreq;case r.delayVolEnv:return D.volEnvDelay;case r.attackVolEnv:return D.volEnvAttack;case r.holdVolEnv:return D.volEnvHold;case r.decayVolEnv:return D.volEnvDecay;case r.sustainVolEnv:return{dest:D.volEnvSustain,amount:1e3-A};case r.releaseVolEnv:return D.volEnvRelease;case r.delayModEnv:return D.modEnvDelay;case r.attackModEnv:return D.modEnvAttack;case r.holdModEnv:return D.modEnvHold;case r.decayModEnv:return D.modEnvDecay;case r.sustainModEnv:return{dest:D.modEnvSustain,amount:1e3-A};case r.releaseModEnv:return D.modEnvRelease;case r.initialFilterFc:return D.filterCutoff;case r.initialFilterQ:return D.filterQ}}function Bo(t,A){switch(t){default:return;case r.modEnvToFilterFc:return{source:v.modEnv,dest:D.filterCutoff,amt:A,isBipolar:!1};case r.modEnvToPitch:return{source:v.modEnv,dest:D.pitch,amt:A,isBipolar:!1};case r.modLfoToFilterFc:return{source:v.modLfo,dest:D.filterCutoff,amt:A,isBipolar:!0};case r.modLfoToVolume:return{source:v.modLfo,dest:D.gain,amt:A,isBipolar:!0};case r.modLfoToPitch:return{source:v.modLfo,dest:D.pitch,amt:A,isBipolar:!0};case r.vibLfoToPitch:return{source:v.vibratoLfo,dest:D.pitch,amt:A,isBipolar:!0};case r.keyNumToVolEnvHold:return{source:v.keyNum,dest:D.volEnvHold,amt:A,isBipolar:!0};case r.keyNumToVolEnvDecay:return{source:v.keyNum,dest:D.volEnvDecay,amt:A,isBipolar:!0};case r.keyNumToModEnvHold:return{source:v.keyNum,dest:D.modEnvHold,amt:A,isBipolar:!0};case r.keyNumToModEnvDecay:return{source:v.keyNum,dest:D.modEnvDecay,amt:A,isBipolar:!0};case r.scaleTuning:return{source:v.keyNum,dest:D.pitch,amt:A*128,isBipolar:!1}}}function ho(t){let A=Co(t.generatorType,t.generatorValue),e=A,s=0,n=t.generatorValue;A?.amount!==void 0&&(n=A.amount,e=A.dest);let o=Bo(t.generatorType,t.generatorValue);if(o!==void 0)n=o.amt,e=o.dest,s=o.source;else if(e===void 0){U(`Invalid generator type: ${t.generatorType}`);return}return new Te(s,0,e,n,0)}function co(t){if(t.transformType!==0){U("Other transform types are not supported.");return}let A=Eo(t.sourceUsesCC,t.sourceIndex),e=t.sourceCurveType,s=t.sourcePolarity,n=t.sourceDirection;if(A===void 0){U(`Invalid source: ${t.sourceIndex}, CC: ${t.sourceUsesCC}`);return}t.modulatorDestination===r.initialAttenuation&&(n=n===1?0:1);let o=Eo(t.secSrcUsesCC,t.secSrcIndex),i=t.secSrcCurveType,a=t.secSrcPolarity,C=t.secSrcDirection;if(o===void 0){U(`Invalid secondary source: ${t.secSrcIndex}, CC: ${t.secSrcUsesCC}`);return}let h=Co(t.modulatorDestination,t.transformAmount),d=h,Q=t.transformAmount;h?.dest!==void 0&&(d=h.dest,Q=h.amount);let l=Bo(t.modulatorDestination,t.transformAmount);if(l!==void 0)Q=l.amt,o=A,i=e,a=s,C=n,e=uA.linear,s=l.isBipolar?1:0,n=0,A=l.source,d=l.dest;else if(d===void 0){U(`Invalid destination: ${t.modulatorDestination}`);return}let c=0;return c|=i<<4,c|=a<<8,c|=C<<9,c|=e,c|=s<<14,c|=n<<15,new Te(A,o,d,Q,c)}var ur=new Set([r.sampleModes,r.initialAttenuation,r.keyRange,r.velRange,r.sampleID,r.fineTune,r.coarseTune,r.startAddrsOffset,r.startAddrsCoarseOffset,r.endAddrOffset,r.endAddrsCoarseOffset,r.startloopAddrsOffset,r.startloopAddrsCoarseOffset,r.endloopAddrsOffset,r.endloopAddrsCoarseOffset,r.overridingRootKey,r.exclusiveClass]);function Bt(t){for(let o=0;of.generatorType===a);if(C===void 0)continue;let h=i.generatorValue*-128,d=60/128*h,Q=C.generatorValue-d,l=t.generators.indexOf(i),c=t.generators.indexOf(C);t.generators[c]=new T(a,Q,!1),t.generators[l]=new T(i.generatorType,h,!1)}let A=t.generators.reduce((o,i)=>{if(ur.has(i.generatorType))return o;let a=ho(i);return a!==void 0?(o.push(a),p("%cSucceeded converting to DLS Articulator!",g.recognized)):U("Failed converting to DLS Articulator!"),o},[]),e=t.modulators.reduce((o,i)=>{if(P.isIdentical(i,It,!0)||P.isIdentical(i,gt,!0)||P.isIdentical(i,Et,!0)||P.isIdentical(i,Ct,!0))return o;let a=co(i);return a!==void 0?(o.push(a),p("%cSucceeded converting to DLS Articulator!",g.recognized)):U("Failed converting to DLS Articulator!"),o},[]);A.push(...e);let s=new N(8);O(s,8),O(s,A.length);let n=A.map(o=>o.writeArticulator());return tA("art2",cA([s,...n]))}function lo(t,A){let e=new N(12);b(e,Math.max(t.keyRange.min,0)),b(e,t.keyRange.max),b(e,Math.max(t.velRange.min,0)),b(e,t.velRange.max),b(e,0);let s=t.getGeneratorValue(r.exclusiveClass,0);b(e,s),b(e,0);let n=tA("rgnh",e),o=t.getGeneratorValue(r.overridingRootKey,t.sample.samplePitch);t.getGeneratorValue(r.scaleTuning,A.getGeneratorValue(r.scaleTuning,100))===0&&t.keyRange.max-t.keyRange.min===0&&(o=t.keyRange.min);let a=at(t.sample,o,t.getGeneratorValue(r.fineTune,0)+t.getGeneratorValue(r.coarseTune,0)*100+t.sample.samplePitchCorrection,t.getGeneratorValue(r.initialAttenuation,0),t.sample.sampleLoopStartIndex+t.getGeneratorValue(r.startloopAddrsOffset,0)+t.getGeneratorValue(r.startloopAddrsCoarseOffset,0)*32768,t.sample.sampleLoopEndIndex+t.getGeneratorValue(r.endloopAddrsOffset,0)+t.getGeneratorValue(r.endloopAddrsCoarseOffset,0)*32768,t.getGeneratorValue(r.sampleModes,0)),C=new N(12);b(C,0),b(C,0),O(C,1),O(C,this.samples.indexOf(t.sample));let h=tA("wlnk",C),d=new N(0);if(t.modulators.length+t.generators.length>0){let Q=Bt(t);d=tA("lar2",Q,!1,!0)}return tA("rgn2",cA([n,a,h,d]),!1,!0)}function Qo(t){QA(`%cWriting %c${t.presetName}%c...`,g.info,g.recognized,g.info);let A=go(t),e=A.reduce((l,c)=>c.isGlobal?l:l+1,0),s=new N(12);O(s,e);let n=(t.bank&127)<<8;t.bank===128&&(n|=1<<31),O(s,n),O(s,t.program&127);let o=tA("insh",s),i=new N(0),a=A.find(l=>l.isGlobal===!0);if(a){let l=Bt(a);i=tA("lar2",l,!1,!0)}let C=cA(A.reduce((l,c)=>(c.isGlobal||l.push(lo.apply(this,[c,a])),l),[])),h=tA("lrgn",C,!1,!0),d=tA("INAM",ge(t.presetName)),Q=tA("INFO",d,!1,!0);return V(),tA("ins ",cA([o,h,i,Q]),!1,!0)}function uo(){let t=cA(this.presets.map(A=>Qo.apply(this,[A])));return tA("lins",t,!1,!0)}function fo(t){let A=new N(18);b(A,1),b(A,1),O(A,t.sampleRate),O(A,t.sampleRate*2),b(A,2),b(A,16);let e=tA("fmt ",A),s=1;t.sampleLoopStartIndex+Math.abs(t.getAudioData().length-t.sampleLoopEndIndex)<2&&(s=0);let n=at(t,t.samplePitch,t.samplePitchCorrection,0,t.sampleLoopStartIndex,t.sampleLoopEndIndex,s),o=t.getAudioData(),i;if(t.isCompressed){let h=new Int16Array(o.length);for(let d=0;d{let n=fo(s);return A.push(t),t+=n.length,n});return{data:tA("wvpl",cA(e),!1,!0),indexes:A}}function po(){QA("%cSaving DLS...",g.info);let t=new N(4);O(t,this.presets.length);let A=tA("colh",t);QA("%cWriting instruments...",g.info);let e=uo.apply(this);p("%cSuccess!",g.recognized),V(),QA("%cWriting WAVE samples...",g.info);let s=mo.apply(this),n=s.data,o=s.indexes;p("%cSucceeded!",g.recognized),V();let i=new N(8+4*o.length);O(i,8),O(i,o.length);for(let Q of o)O(i,Q);let a=tA("ptbl",i);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let C=[];for(let[Q,l]of Object.entries(this.soundFontInfo))Q!=="ICMT"&&Q!=="INAM"&&Q!=="ICRD"&&Q!=="IENG"&&Q!=="ICOP"&&Q!=="ISFT"&&Q!=="ISBJ"||C.push(tA(Q,ge(l),!0));let h=tA("INFO",cA(C),!1,!0),d=new N(A.length+e.length+a.length+n.length+h.length+4);return yA(d,"DLS "),d.set(cA([A,e,a,n,h]),4),p("%cSaved succesfully!",g.recognized),V(),tA("RIFF",d)}var oe=class t{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=Xe.map(e=>P.copy(e)),A?.presets&&(this.presets.push(...A.presets),this.soundFontInfo=A.info)}static mergeSoundfonts(...A){let e=A.shift(),s=e.presets;for(;A.length;)A.shift().presets.forEach(o=>{s.find(i=>i.bank===o.bank&&i.program===o.program)===void 0&&s.push(o)});return new t({presets:s,info:e.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(A=>{A.useCount<1&&A.instrumentZones.forEach(e=>{e.isGlobal||e.sample.useCount--})}),this.instruments=this.instruments.filter(A=>A.useCount>0),this.samples=this.samples.filter(A=>A.useCount>0)}deleteInstrument(A){if(A.useCount>0)throw new Error(`Cannot delete an instrument that has ${A.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(A),1),A.deleteInstrument(),this.removeUnusedElements()}deletePreset(A){A.deletePreset(),this.presets.splice(this.presets.indexOf(A),1),this.removeUnusedElements()}deleteSample(A){if(A.useCount>0)throw new Error(`Cannot delete sample that has ${A.useCount} usages.`);this.samples.splice(this.samples.indexOf(A),1),this.removeUnusedElements()}setSampleIDOffset(A){this.presets.forEach(e=>e.sampleIDOffset=A)}getPresetNoFallback(A,e,s=!1){let n=this.presets.find(o=>o.bank===A&&o.program===e);if(n)return n;if(s!==!1)return A===128?this.presets.find(o=>o.bank===128):this.presets.find(o=>o.program===e)}getPreset(A,e){let s=this.presets.find(n=>n.bank===A&&n.program===e);return s||(A===128?(s=this.presets.find(n=>n.bank===128&&n.program===e),s||(s=this.presets.find(n=>n.bank===128))):s=this.presets.find(n=>n.program===e&&n.bank!==128),s&&U(`%cPreset ${A}.${e} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,g.warn,g.recognized)),s||(U(`Preset ${e} not found. Defaulting to`,this.presets[0].presetName),s=this.presets[0]),s}getPresetByName(A){let e=this.presets.find(s=>s.presetName===A);return e||(U("Preset not found. Defaulting to:",this.presets[0].presetName),e=this.presets[0]),e}parsingError(A){throw new Error(`SF parsing error: ${A} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};oe.prototype.write=ao;oe.prototype.writeDLS=po;function yo(t){QA("%cLoading instruments...",g.info);for(let A=0;AA.deleteZone()),this.presetZones.length=0}deleteZone(A){this.presetZones[A].deleteZone(),this.presetZones.splice(A,1)}preload(A,e){for(let s=A;s{o.sample.isSampleLoaded||o.sample.getAudioData()})}preloadSpecific(A,e){this.getSamplesAndGenerators(A,e).forEach(s=>{s.sample.isSampleLoaded||s.sample.getAudioData()})}getSamplesAndGenerators(A,e){let s=this.foundSamplesAndGenerators[A][e];if(s)return s;if(this.presetZones.length<1)return[];function n(c,f){return f>=c.min&&f<=c.max}function o(c,f){c.push(...f.filter(y=>!c.find(S=>S.generatorType===y.generatorType)))}function i(c,f){c.push(...f.filter(y=>!c.find(S=>P.isIdentical(y,S))))}let a=[],C=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],h=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],d=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},Q=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(c=>n(c.hasKeyRange?c.keyRange:d,A)&&n(c.hasVelRange?c.velRange:Q,e)&&!c.isGlobal).forEach(c=>{if(c.instrument.instrumentZones.length<1)return;let f=c.generators,y=c.modulators,S=c.instrument.instrumentZones[0],w=S.isGlobal?[...S.generators]:[],H=S.isGlobal?[...S.modulators]:[],R=S.isGlobal?S.keyRange:{min:0,max:127},x=S.isGlobal?S.velRange:{min:0,max:127};c.instrument.instrumentZones.filter(I=>n(I.hasKeyRange?I.keyRange:R,A)&&n(I.hasVelRange?I.velRange:x,e)&&!I.isGlobal).forEach(I=>{let rA=[...I.generators],Z=[...I.modulators];o(f,C),o(rA,w),i(y,h),i(Z,H),i(Z,this.defaultModulators);let AA=[...Z];for(let $=0;$P.isIdentical(IA,iA));nA!==-1?AA[nA]=AA[nA].sumTransform(IA):AA.push(IA)}a.push({instrumentGenerators:rA,presetGenerators:f,modulators:AA,sample:I.sample,sampleID:I.generators.find($=>$.generatorType===r.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][e]=a,a}};var De=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(A=>A.useCount++)}removeUseCount(){this._useCount--;for(let A=0;AA.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(A){return this.instrumentZones[A].useCount--,this.instrumentZones[A].useCount<1?(this.deleteZone(A),!0):!1}deleteZone(A){this.instrumentZones[A].deleteZone(),this.instrumentZones.splice(A,1)}};var ht=class extends Se{constructor(A,e){super(Xe),this.program=e&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new De,this.DLSInstrument.addUseCount();let n=new ye;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function So(t){this.verifyHeader(t,"LIST"),this.verifyText(_(t.chunkData,4),"ins ");let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(z(t.chunkData));let e=A.find(c=>c.header==="insh");if(!e)throw V(),new Error("No instrument header!");let s=F(e.chunkData,4),n=F(e.chunkData,4),o=F(e.chunkData,4),i=new ht(n,o),a="unnamedPreset",C=GA(A,"INFO");if(C){let c=z(C.chunkData);for(;c.header!=="INAM";)c=z(C.chunkData);a=_(c.chunkData,c.chunkData.length).trim()}i.presetName=a,i.DLSInstrument.instrumentName=a,ae(`%cParsing %c"${a}"%c...`,g.info,g.recognized,g.info);let h=GA(A,"lrgn");if(!h)throw V(),new Error("No region list!");let d=new OA;d.isGlobal=!0;let Q=GA(A,"lart"),l=GA(A,"lar2");(l!==void 0||Q!==void 0)&&this.readLart(Q,l,d),d.generators=d.generators.filter(c=>c.generatorValue!==J[c.generatorType].def),d.modulators.find(c=>c.modulatorDestination===r.reverbEffectsSend)===void 0&&d.modulators.push(P.copy(gt)),d.modulators.find(c=>c.modulatorDestination===r.chorusEffectsSend)===void 0&&d.modulators.push(P.copy(It)),i.DLSInstrument.instrumentZones.push(d);for(let c=0;c>10&15;H===uA.linear&&w!==uA.linear&&(H=w);let R=s>>14&1,x=s>>15&1;i===r.initialAttenuation&&n<0&&(x=1),l=KA(H,R,x,a.isCC,a.enum)}let c=s>>4&15,f=s>>8&1,y=s>>9&1,S=KA(c,f,y,Q.isCC,Q.enum);if(C){let w=S;S=l,l=w}return new P({srcEnum:l,secSrcEnum:S,dest:i,transform:0,amt:d})}function Xt(t,A){let e=t.chunkData,s=[],n=[];F(e,4);let o=F(e,4);for(let i=0;i>16;if(a===0&&C===0&&d===0){let c;switch(h){case D.pan:c=new T(r.pan,l);break;case D.gain:c=new T(r.initialAttenuation,-l*10/.4);break;case D.filterCutoff:c=new T(r.initialFilterFc,l);break;case D.filterQ:c=new T(r.initialFilterQ,l);break;case D.modLfoFreq:c=new T(r.freqModLFO,l);break;case D.modLfoDelay:c=new T(r.delayModLFO,l);break;case D.vibLfoFreq:c=new T(r.freqVibLFO,l);break;case D.vibLfoDelay:c=new T(r.delayVibLFO,l);break;case D.volEnvDelay:c=new T(r.delayVolEnv,l);break;case D.volEnvAttack:c=new T(r.attackVolEnv,l);break;case D.volEnvHold:c=new T(r.holdVolEnv,l,!1);break;case D.volEnvDecay:c=new T(r.decayVolEnv,l,!1);break;case D.volEnvRelease:c=new T(r.releaseVolEnv,l);break;case D.volEnvSustain:let f=1e3-l;c=new T(r.sustainVolEnv,f);break;case D.modEnvDelay:c=new T(r.delayModEnv,l);break;case D.modEnvAttack:c=new T(r.attackModEnv,l);break;case D.modEnvHold:c=new T(r.holdModEnv,l,!1);break;case D.modEnvDecay:c=new T(r.decayModEnv,l,!1);break;case D.modEnvRelease:c=new T(r.releaseModEnv,l);break;case D.modEnvSustain:let y=1e3-l;c=new T(r.sustainModEnv,y);break;case D.reverbSend:c=new T(r.reverbEffectsSend,l);break;case D.chorusSend:c=new T(r.chorusEffectsSend,l);break;case D.pitch:let S=Math.floor(l/100),w=Math.floor(l-S*100);c=new T(r.fineTune,w),s.push(new T(r.coarseTune,S));break}c&&s.push(c)}else{let c=!0;if(C===v.none)if(a===v.modLfo&&h===D.pitch)s.push(new T(r.modLfoToPitch,l));else if(a===v.modLfo&&h===D.gain)s.push(new T(r.modLfoToVolume,l));else if(a===v.modLfo&&h===D.filterCutoff)s.push(new T(r.modLfoToFilterFc,l));else if(a===v.vibratoLfo&&h===D.pitch)s.push(new T(r.vibLfoToPitch,l));else if(a===v.modEnv&&h===D.pitch)s.push(new T(r.modEnvToPitch,l));else if(a===v.modEnv&&h===D.filterCutoff)s.push(new T(r.modEnvToFilterFc,l));else if(a===v.keyNum&&h===D.pitch)s.push(new T(r.scaleTuning,l/128));else if(a===v.keyNum&&h===D.volEnvHold){s.push(new T(r.keyNumToVolEnvHold,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.holdVolEnv&&(y.generatorValue+=f)})}else if(a===v.keyNum&&h===D.volEnvDecay){s.push(new T(r.keyNumToVolEnvDecay,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.decayVolEnv&&(y.generatorValue+=f)})}else if(a===v.keyNum&&h===D.modEnvHold){s.push(new T(r.keyNumToModEnvHold,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.holdModEnv&&(y.generatorValue+=f)})}else if(a===v.keyNum&&h===D.modEnvDecay){s.push(new T(r.keyNumToModEnvDecay,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.decayModEnv&&(y.generatorValue+=f)})}else c=!1;else c=!1;if(c===!1){let f=ko(a,C,h,d,l);f?(n.push(f),p("%cSucceeded converting to SF2 Modulator!",g.recognized)):U("Failed converting to SF2 Modulator!")}}}return A&&n.push(P.copy(Et),P.copy(Ct)),{modulators:n,generators:s}}function wo(t,A,e){if(t)for(;t.chunkData.currentIndext.chunkData.currentIndex;)A.push(z(t.chunkData));let e=A.find(Z=>Z.header==="rgnh"),s=F(e.chunkData,2),n=F(e.chunkData,2),o=F(e.chunkData,2),i=F(e.chunkData,2),a=new ct({min:s,max:n},{min:o,max:i});F(e.chunkData,2);let C=F(e.chunkData,2);C!==0&&a.generators.push(new T(r.exclusiveClass,C));let h=GA(A,"lart"),d=GA(A,"lar2");this.readLart(h,d,a),a.isGlobal=!1;let Q=A.find(Z=>Z.header==="wsmp");F(Q.chunkData,4);let l=F(Q.chunkData,2),c=ne(Q.chunkData[Q.chunkData.currentIndex++],Q.chunkData[Q.chunkData.currentIndex++]),y=(F(Q.chunkData,4)|0)/-655360;F(Q.chunkData,4);let S=F(Q.chunkData,4),w,H={start:0,end:0};if(S===0)w=0;else{F(Q.chunkData,4),F(Q.chunkData,4)===0?w=1:w=3,H.start=F(Q.chunkData,4);let AA=F(Q.chunkData,4);H.end=H.start+AA}let R=A.find(Z=>Z.header==="wlnk");if(R===void 0)return;F(R.chunkData,2),F(R.chunkData,2),F(R.chunkData,4);let x=F(R.chunkData,4),G=this.samples[x];if(G===void 0)throw new Error("Invalid sample ID!");let rA=(y||G.sampleDbAttenuation)*10/.4;return a.setWavesample(rA,w,H,l,G,x,c),a}var ke=class{constructor(A,e,s,n,o,i,a,C){this.sampleName=A,this.sampleRate=e,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=i,this.sampleLoopStartIndex=a,this.sampleLoopEndIndex=C,this.isCompressed=(i&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}compressSample(A,e){if(!this.isCompressed)try{this.compressedData=e([this.getAudioData()],1,this.sampleRate,A),this.sampleType|=16,this.isCompressed=!0}catch{U(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}};var lt=class extends ke{sampleDbAttenuation;sampleData;constructor(A,e,s,n,o,i,a,C){super(A,e,s,n,0,1,o,i),this.sampleData=a,this.sampleDbAttenuation=C}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let A=new Uint8Array(this.sampleData.length*2);for(let e=0;e>8&255}return A}};var Ro={PCM:1,ALAW:6};function mr(t,A){let e=Math.pow(2,A*8-1),s=Math.pow(2,A*8),n,o=!1;A===1?(n=255,o=!0):n=e;let i=t.size/A,a=new Float32Array(i);for(let C=0;C=e&&(h-=s),a[C]=h/n)}return a}function pr(t,A){let e=t.size/A,s=new Float32Array(e);for(let n=0;n>4,C=i&15;a>0&&(C+=16),C=(C<<4)+8,a>1&&(C=C<127?C:-C;s[n]=h/32678}return s}function Go(t){QA("%cLoading Wave samples...",g.recognized);let A=0;for(;t.chunkData.currentIndexG.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");let o=F(n.chunkData,2),i=F(n.chunkData,2);if(i!==1)throw new Error(`Only mono samples are supported. Fmt reports ${i} channels`);let a=F(n.chunkData,4);F(n.chunkData,4),F(n.chunkData,2);let h=F(n.chunkData,2)/8,d=!1,Q=s.find(G=>G.header==="data");Q||this.parsingError("No data chunk in the WAVE chunk!");let l;switch(o){default:d=!0,l=new Float32Array(Q.size/h);break;case Ro.PCM:l=mr(Q,h);break;case Ro.ALAW:l=pr(Q,h);break}let c=GA(s,"INFO"),f=`Unnamed ${A}`;if(c){let G=z(c.chunkData);for(;G.header!=="INAM"&&c.chunkData.currentIndexG.header==="wsmp");if(x){F(x.chunkData,4),y=F(x.chunkData,2),S=ne(x.chunkData[x.chunkData.currentIndex++],x.chunkData[x.chunkData.currentIndex++]);let G=Math.trunc(S/100);if(y+=G,S-=G*100,R=(F(x.chunkData,4)|0)/-655360,F(x.chunkData,4),F(x.chunkData,4)===1){F(x.chunkData,8),w=F(x.chunkData,4);let Z=F(x.chunkData,4);H=w+Z}}else U("No wsmp chunk in wave... using sane defaults.");d&&console.error(`Failed to load '${f}': Unsupported format: (${o})`),this.samples.push(new lt(f,a,y,S,w,H,l,R)),A++,p(`%cLoaded sample %c${f}`,g.info,g.recognized)}V()}var Ae=class extends oe{constructor(A){super(),this.dataArray=new N(A),ae("%cParsing DLS...",g.info),this.dataArray||(V(),this.parsingError("No data provided!"));let e=z(this.dataArray,!1);this.verifyHeader(e,"riff"),this.verifyText(_(this.dataArray,4).toLowerCase(),"dls ");let s=[];for(;this.dataArray.currentIndex(w.messageStatusByte&240)===M.noteOn);S&&c.push(S.ticks)}this.firstNoteOn=Math.min(...c),p(`%cFirst note-on detected at: %c${this.firstNoteOn}%c ticks!`,g.info,g.recognized,g.info),d!==null&&Q===null?(d=this.firstNoteOn,Q=this.lastVoiceEventTick):(d===null&&(d=this.firstNoteOn),(Q===null||Q===0)&&(Q=this.lastVoiceEventTick)),this.loop={start:d,end:Q},p(`%cLoop points: start: %c${this.loop.start}%c end: %c${this.loop.end}`,g.info,g.recognized,g.info,g.recognized);let f=0;for(let y of this.midiPorts)if(y!==-1){f=y;break}if(this.midiPorts=this.midiPorts.map(y=>y===-1?f:y),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0]),this.midiPortChannelOffsets.length<2?p("%cNo additional MIDI Ports detected.",g.info):p("%cMIDI Ports detected!",g.recognized),!i)if(this.tracks.length>1){if(this.tracks[0].find(y=>y.messageStatusByte>=M.noteOn&&y.messageStatusByteS.messageStatusByte===M.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=_(y.messageData,y.messageData.length,void 0,!1))}}else{let y=this.tracks[0].find(S=>S.messageStatusByte===M.trackName);y&&(this.rawMidiName=y.messageData,this.midiName=_(y.messageData,y.messageData.length,void 0,!1))}if(this.fileName=e,this.midiName=this.midiName.trim(),this.midiNameUsesFileName=!1,this.midiName.length===0){p("%cNo name detected. Using the alt name!",g.info),this.midiName=Ds(e),this.midiNameUsesFileName=!0,this.rawMidiName=new Uint8Array(this.midiName.length);for(let y=0;yl>Q?l:Q),s=[];for(let Q=0;Q{i[f]>=c.length||c[i[f]].ticks0;){let Q=C(),l=t.tracks[Q];if(i[Q]>=l.length){a--;continue}let c=l[i[Q]];if(i[Q]++,c.messageStatusByte===M.midiPort){h[Q]=c.messageData[0];continue}let f=c.messageStatusByte&240;if(f!==M.noteOn&&f!==M.controllerChange&&f!==M.programChange&&f!==M.systemExclusive)continue;let y=(c.messageStatusByte&15)+t.midiPortChannelOffsets[h[Q]]||0,S=s[y];switch(f){case M.programChange:S.program=c.messageData[0],n(S);break;case M.controllerChange:if(c.messageData[0]!==k.bankSelect||d==="gs"&&S.drums)continue;let w=c.messageData[1],H=Math.max(0,w-t.bankOffset);if(d==="xg"){let G=w===120||w===126||w===127;G!==S.drums?(S.drums=G,S.bank=S.drums?128:H,n(S)):S.bank=S.drums?128:H;continue}s[y].bank=H;break;case M.noteOn:if(c.messageData[1]===0)continue;n(S),o[S.string].add(`${c.messageData[0]}-${c.messageData[1]}`);break;case M.systemExclusive:if(c.messageData[0]!==65||c.messageData[2]!==66||c.messageData[3]!==18||c.messageData[4]!==64||!(c.messageData[5]&16)||c.messageData[6]!==21){c.messageData[0]===67&&c.messageData[2]===76&&c.messageData[5]===126&&c.messageData[6]===0&&(d="xg");continue}let R=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][c.messageData[5]&15]+t.midiPortChannelOffsets[h[Q]],x=!!(c.messageData[7]>0&&c.messageData[5]>>4);S=s[R],S.drums=x,S.bank=x?128:0,n(S);break}}for(let Q of Object.keys(o))o[Q].size===0&&(p(`%cDetected change but no keys for %c${Q}`,g.info,g.value),delete o[Q]);return K(),o}function Os(t,A){this.midiData.usedChannelsOnTrack[t].size!==0&&(this.midiPortChannelOffset===0&&(this.midiPortChannelOffset+=16,this.midiPortChannelOffsets[A]=0),this.midiPortChannelOffsets[A]===void 0&&(this.synth.workletProcessorChannels.length{this.assignMIDIPort(s,e)}),this.duration=this.midiData.duration,this.firstNoteTime=Ie(this.midiData.firstNoteOn,this.midiData),p(`%cTotal song time: ${Lt(Math.ceil(this.duration)).time}`,g.recognized),this.post(NA.songChange,[new et(this.midiData),this.songIndex,A]),this.duration<=1&&(U(`%cVery short song: (${Lt(Math.round(this.duration)).time}). Disabling loop!`,g.warn),this.loop=!1),A)this.play(!0);else{let e=this._skipToFirstNoteOn?this.midiData.firstNoteOn-1:0;this.setTimeTicks(e),this.pause()}}function Vs(t,A=!0){this.songs=t.reduce((e,s)=>{if(s.duration)return e.push(s),e;try{e.push(new ot(s.binary,s.altName||""))}catch(n){return this.post(NA.midiError,n.message),e}return e},[]),!(this.songs.length<1)&&(this.songIndex=0,this.songs.length>1&&(this.loop=!1),this.loadNewSequence(this.songs[this.songIndex],A))}function Zs(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex++,this.songIndex%=this.songs.length,this.loadNewSequence(this.songs[this.songIndex])}function Ws(){if(this.songs.length===1){this.currentTime=0;return}this.songIndex--,this.songIndex<0&&(this.songIndex=this.songs.length-1),this.loadNewSequence(this.songs[this.songIndex])}var be=de.slice(0,128);function Xs(t,A=void 0){this.oneTickToSeconds=60/(120*this.midiData.timeDivision),this.synth.resetAllControllers(),this.sendMIDIReset(),this._resetTimers();let e=this.synth.workletProcessorChannels.length,s=Array(e).fill(8192),n=[];for(let a=0;aa===k.dataDecrement||a===k.dataIncrement||a===k.dataEntryMsb||a===k.dataDecrement||a===k.lsbForControl6DataEntry||a===k.RPNLsb||a===k.RPNMsb||a===k.NRPNLsb||a===k.NRPNMsb||a===k.bankSelect||a===k.lsbForControl0BankSelect||a===k.resetAllControllers,i=[];for(let a=0;a=A)break}else if(this.playedTime>=t)break;let h=Ne(C.messageStatusByte),d=h.channel+(this.midiPortChannelOffsets[this.midiPorts[a]]||0);switch(h.status){case M.noteOn:case M.noteOff:case M.keySignature:break;case M.pitchBend:s[d]=C.messageData[1]<<7|C.messageData[0];break;case M.programChange:let l=n[d];l.program=C.messageData[0],l.actualBank=l.bank;break;case M.controllerChange:let c=C.messageData[0];if(o(c)){let f=C.messageData[1];if(c===k.bankSelect){n[d].bank=f;break}else c===k.resetAllControllers&&(i[d]=Array.from(be));this.sendMIDIMessages?this.sendMIDICC(d,c,f):this.synth.controllerChange(d,c,f)}else i[d]===void 0&&(i[d]=Array.from(be)),i[d][c]=C.messageData[1];break;default:this._processEvent(C,a);break}this.eventIndex[a]++,a=this._findFirstEventIndex();let Q=this.tracks[a][this.eventIndex[a]];if(Q===void 0)return this.stop(),!1;this.playedTime+=this.oneTickToSeconds*(Q.ticks-C.ticks)}if(this.sendMIDIMessages){for(let a=0;a>7,s[a]&127),i[a]!==void 0&&i[a].forEach((C,h)=>{C!==be[h]&&!o(h)&&this.sendMIDICC(a,h,C)}),n[a].program>=0&&n[a].actualBank>=0){let C=n[a].actualBank;this.sendMIDICC(a,k.bankSelect,C),this.sendMIDIProgramChange(a,n[a].program)}}else for(let a=0;a>7,s[a]&127),i[a]!==void 0&&i[a].forEach((C,h)=>{C!==be[h]&&!o(h)&&this.synth.controllerChange(a,h,C)}),n[a].program>=0&&n[a].actualBank>=0){let C=n[a].actualBank;this.synth.controllerChange(a,k.bankSelect,C),this.synth.programChange(a,n[a].program)}return!0}function _s(t=!1){if(this.midiData!==void 0){if(t){this.pausedTime=void 0,this.currentTime=0;return}if(this.currentTime>=this.duration){this.pausedTime=void 0,this.currentTime=0;return}this.paused&&(this._recalculateStartTime(this.pausedTime),this.pausedTime=void 0),this.sendMIDIMessages||this.playingNotes.forEach(A=>{this.synth.noteOn(A.channel,A.midiNote,A.velocity,!1,!0)}),this.setProcessHandler()}}function zs(t){this.stop(),this.playingNotes=[],this.pausedTime=void 0,this.post(NA.timeChange,currentTime-Ie(t,this.midiData));let A=this._playTo(0,t);this._recalculateStartTime(this.playedTime),A&&this.play()}function js(t){this.absoluteStartTime=currentTime-t/this._playbackRate}function $s(t,A){switch(t){default:break;case xA.loadNewSongList:this.loadNewSongList(A[0],A[1]);break;case xA.pause:this.pause();break;case xA.play:this.play(A);break;case xA.stop:this.stop();break;case xA.setTime:this.currentTime=A;break;case xA.changeMIDIMessageSending:this.sendMIDIMessages=A;break;case xA.setPlaybackRate:this.playbackRate=A;break;case xA.setLoop:this.loop=A;break;case xA.changeSong:A?this.nextSong():this.previousSong();break;case xA.getMIDI:this.post(NA.getMIDI,this.midiData);break;case xA.setSkipToFirstNote:this._skipToFirstNoteOn=A;break;case xA.setPreservePlaybackState:this.preservePlaybackState=A}}function An(t,A=void 0){this.synth.enableEventSystem&&this.synth.post({messageType:DA.sequencerSpecific,messageData:{messageType:t,messageData:A}})}function en(t){this.post(NA.midiEvent,t)}function tn(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([M.controllerChange|t,A,e])}function sn(t,A){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([M.programChange|t,A])}function nn(t,A,e){t%=16,this.sendMIDIMessages&&this.sendMIDIMessage([M.pitchBend|t,e,A])}function on(){if(this.sendMIDIMessages){this.sendMIDIMessage([M.reset]);for(let t=0;t<$e;t++)this.sendMIDIMessage([M.controllerChange|t,k.allSoundOff,0]),this.sendMIDIMessage([M.controllerChange|t,k.resetAllControllers,0])}}var BA=class{constructor(A){this.synth=A,this.ignoreEvents=!1,this.sendMIDIMessages=!1,this.loopCount=1/0,this.currentLoopCount=this.loopCount,this.eventIndex=[],this.songIndex=0,this.playedTime=0,this.pausedTime=void 0,this.absoluteStartTime=currentTime,this._playbackRate=1,this.playingNotes=[],this.loop=!0,this.midiData=void 0,this.midiPorts=[],this.midiPortChannelOffset=0,this.midiPortChannelOffsets={},this._skipToFirstNoteOn=!0,this.preservePlaybackState=!1}set playbackRate(A){let e=this.currentTime;this._playbackRate=A,this.currentTime=e}get currentTime(){return this.pausedTime!==void 0?this.pausedTime:(currentTime-this.absoluteStartTime)*this._playbackRate}set currentTime(A){if(A>this.duration||A<0){this._skipToFirstNoteOn?this.setTimeTicks(this.midiData.firstNoteOn-1):this.setTimeTicks(0);return}if(this._skipToFirstNoteOn&&Arn?440*Math.pow(2,(t-6900)/1200):Pt[~~t-rt]}var Ot=-1660,Ir=1600,qt=new Float32Array((Ir-Ot)*100+1);for(let t=0;t.5?1:0,s?e*2-1:e;case uA.concave:return s?(e=e*2-1,e<0?-$A[~~(e*-fA)]:$A[~~(e*fA)]):$A[~~(e*fA)];case uA.convex:return s?(e=e*2-1,e<0?-Ee[~~(e*-fA)]:Ee[~~(e*fA)]):Ee[~~(e*fA)]}}var Kt=1,Vt=new Float32Array(1e3);for(let t=0;t=e.loopEnd;)s-=o;let a=~~s,C=a+1;for(;C>=e.loopEnd;)C-=o;let h=s-a,d=n[C],Q=n[a];A[i]=Q+(d-Q)*h,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end){t.finished=!0;return}let C=s-i,h=n[a],d=n[i];A[o]=d+(h-d)*C,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}function gn(t,A){let e=t.sample,s=e.cursor,n=e.loopEnd-e.loopStart,o=e.sampleData;if(t.sample.isLooping)for(let i=0;i=e.loopEnd;)s-=n;let a=~~s+1;for(;a>=e.loopEnd;)a-=n;A[i]=o[a],s+=e.playbackStep*t.currentTuningCalculated}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let i=0;i=e.end){t.finished=!0;return}A[i]=o[a],s+=e.playbackStep*t.currentTuningCalculated}}e.cursor=s}function In(t,A){let e=t.sample,s=e.cursor,n=e.sampleData;if(e.isLooping){let o=e.loopEnd-e.loopStart;for(let i=0;i=e.loopEnd;)s-=o;let a=~~s,C=a+1,h=C+1,d=h+1,Q=s-a;C>=e.loopEnd&&(C-=o),h>=e.loopEnd&&(h-=o),d>=e.loopEnd&&(d-=o);let l=n[a],c=n[C],f=n[h],y=n[d],S=.5*(f-l),w=l-2.5*c+2*f-.5*y,H=.5*(y-l)+1.5*(c-f);A[i]=((H*Q+w)*Q+S)*Q+c,s+=e.playbackStep*t.currentTuningCalculated}}else{if(e.loopingMode===2&&!t.isInRelease)return;for(let o=0;o=e.end||C>=e.end||h>=e.end){t.finished=!0;return}let Q=n[i],l=n[a],c=n[C],f=n[h],y=.5*(c-Q),S=Q-2.5*l+2*c-.5*f,w=.5*(f-Q)+1.5*(l-c);A[o]=((w*d+S)*d+y)*d+l,s+=e.playbackStep*t.currentTuningCalculated}}t.sample.cursor=s}var En=.01,bA=100,Zt=90,Er=15e-6,PA=class t{currentSampleTime=0;sampleRate;currentAttenuationDb=bA;state=0;releaseStartDb=bA;releaseStartTimeSamples=0;currentReleaseGain=1;attackDuration=0;decayDuration=0;releaseDuration=0;attenuation=0;attenuationTargetGain=0;attenuationTarget=0;sustainDbRelative=0;delayEnd=0;attackEnd=0;holdEnd=0;decayEnd=0;constructor(A,e){this.sampleRate=A,this.canEndOnSilentSustain=e/10>=Zt}static startRelease(A){A.volumeEnvelope.releaseStartTimeSamples=A.volumeEnvelope.currentSampleTime,A.volumeEnvelope.currentReleaseGain=YA(A.volumeEnvelope.currentAttenuationDb),t.recalculate(A)}static recalculate(A){let e=A.volumeEnvelope,s=h=>Math.max(0,Math.floor(KA(h)*e.sampleRate));e.attenuationTarget=Math.max(0,Math.min(A.modulatedGenerators[r.initialAttenuation],1440))/10,e.attenuationTargetGain=YA(e.attenuationTarget),e.sustainDbRelative=Math.min(bA,A.modulatedGenerators[r.sustainVolEnv]/10);let n=Math.min(bA,e.sustainDbRelative);e.attackDuration=s(A.modulatedGenerators[r.attackVolEnv]);let o=A.modulatedGenerators[r.decayVolEnv],i=(60-A.targetKey)*A.modulatedGenerators[r.keyNumToVolEnvDecay],a=n/bA;e.decayDuration=s(o+i)*a,e.releaseDuration=s(A.modulatedGenerators[r.releaseVolEnv]),e.delayEnd=s(A.modulatedGenerators[r.delayVolEnv]),e.attackEnd=e.attackDuration+e.delayEnd;let C=(60-A.targetKey)*A.modulatedGenerators[r.keyNumToVolEnvHold];if(e.holdEnd=s(A.modulatedGenerators[r.holdVolEnv]+C)+e.attackEnd,e.decayEnd=e.decayDuration+e.holdEnd,e.state===0&&e.attackEnd===0&&(e.state=2),A.isInRelease){let h=Math.max(0,Math.min(bA,e.sustainDbRelative)),d=h/bA;switch(e.decayDuration=s(o+i)*d,e.state){case 0:e.releaseStartDb=bA;break;case 1:let l=1-(e.attackEnd-e.releaseStartTimeSamples)/e.attackDuration;e.releaseStartDb=20*Math.log10(l)*-1;break;case 2:e.releaseStartDb=0;break;case 3:e.releaseStartDb=(1-(e.decayEnd-e.releaseStartTimeSamples)/e.decayDuration)*h;break;case 4:e.releaseStartDb=h;break}e.releaseStartDb=Math.max(0,Math.min(e.releaseStartDb,bA)),e.releaseStartDb>=Zt&&(A.finished=!0),e.currentReleaseGain=YA(e.releaseStartDb);let Q=(bA-e.releaseStartDb)/bA;e.releaseDuration*=Q}}static apply(A,e,s,n){let o=A.volumeEnvelope,i=s/10,a=n;if(A.isInRelease){let h=o.currentSampleTime-o.releaseStartTimeSamples;if(h>=o.releaseDuration){for(let Q=0;Q=e.length)return;o.state++;case 1:for(;o.currentSampleTime=e.length)return}o.state++;case 2:for(;o.currentSampleTime=e.length)return;o.state++;case 3:for(;o.currentSampleTime=e.length)return;o.state++;case 4:for(o.canEndOnSilentSustain&&o.sustainDbRelative>=Zt&&(A.finished=!0);;)if(o.attenuation+=(o.attenuationTargetGain-o.attenuation)*a,e[C]*=o.attenuation*YA(o.sustainDbRelative+i),o.currentAttenuationDb=o.sustainDbRelative,o.currentSampleTime++,++C>=e.length)return}}};var pe=class t{a0=0;a1=0;a2=0;a3=0;a4=0;x1=0;x2=0;y1=0;y2=0;reasonanceCb=0;reasonanceGain=1;cutoffCents=13501;cutoffHz=20001;static apply(A,e,s,n){if(n&&s>13499&&A.filter.reasonanceCb===0)return;let o=A.filter;(o.cutoffCents!==s||o.reasonanceCb!==A.modulatedGenerators[r.initialFilterQ])&&(o.cutoffCents=s,o.reasonanceCb=A.modulatedGenerators[r.initialFilterQ],t.calculateCoefficients(o));for(let i=0;i=A.releaseStartTime&&(A.isInRelease=!0,PA.startRelease(A),JA.startRelease(A),A.sample.loopingMode===3&&(A.sample.isLooping=!1)),A.modulatedGenerators[r.initialAttenuation]>2500){A.isInRelease&&(A.finished=!0);return}let i=A.targetKey,a=A.modulatedGenerators[r.fineTune]+t.customControllers[hA.channelTuning]+t.customControllers[hA.channelTransposeFine]+t.customControllers[hA.masterTuning]+t.channelOctaveTuning[A.midiNote%12]+t.keyCentTuning[A.midiNote],C=A.modulatedGenerators[r.coarseTune]+t.customControllers[hA.channelTuningSemitones],h=this.tunings[t.preset.program]?.[A.realKey];h?.midiNote>=0&&(i=h.midiNote,a+=h.centTuning),a+=(i-A.sample.rootKey)*A.modulatedGenerators[r.scaleTuning];let d=A.modulatedGenerators[r.vibLfoToPitch];if(d!==0){let I=A.startTime+KA(A.modulatedGenerators[r.delayVibLFO]),rA=Le(A.modulatedGenerators[r.freqVibLFO]),Z=it(I,rA,currentTime);a+=Z*(d*t.customControllers[hA.modulationMultiplier])}let Q=A.modulatedGenerators[r.initialFilterFc],l=Q,c=A.modulatedGenerators[r.modLfoToPitch],f=A.modulatedGenerators[r.modLfoToVolume],y=A.modulatedGenerators[r.modLfoToFilterFc],S=0;if(c+y+f!==0){let I=A.startTime+KA(A.modulatedGenerators[r.delayModLFO]),rA=Le(A.modulatedGenerators[r.freqModLFO]),Z=it(I,rA,currentTime);a+=Z*(c*t.customControllers[hA.modulationMultiplier]),S=-Z*f,l+=Z*y}if(t.channelVibrato.depth>0){let I=it(A.startTime+t.channelVibrato.delay,t.channelVibrato.rate,currentTime);I&&(a+=I*t.channelVibrato.depth)}let w=A.modulatedGenerators[r.modEnvToPitch],H=A.modulatedGenerators[r.modEnvToFilterFc],R=JA.getValue(A,currentTime);l+=R*H,a+=R*w;let x=~~(a+C*100);x!==A.currentTuningCents&&(A.currentTuningCents=x,A.currentTuningCalculated=Math.pow(2,x/1200));let G=new Float32Array(e.length);switch(this.interpolationType){case me.linear:default:an(A,G);break;case me.nearestNeighbor:gn(A,G);break;case me.fourthOrder:In(A,G)}pe.apply(A,G,l,Q>13499),PA.apply(A,G,S,this.volumeEnvelopeSmoothingFactor),this.panVoice(A,G,e,s,n,o)}function Cr(t,A){let e=0;return t.drumChannel&&(e+=5),A.isInRelease&&(e-=5),e+=A.velocity/25,e-=A.volumeEnvelope.state,A.isInRelease&&(e-=5),e-=A.volumeEnvelope.currentAttenuationDb/50,e}function hn(t){let A=[];for(let s of this.workletProcessorChannels)for(let n of s.voices)if(!n.finished){let o=Cr(s,n);A.push({channel:s,voice:n,priority:o})}A.sort((s,n)=>s.priority-n.priority);let e=A.slice(0,t);for(let{channel:s,voice:n}of e){let o=s.voices.indexOf(n);o>-1&&s.voices.splice(o,1)}}function cn(t,A=ln){t.releaseStartTime=currentTime,t.releaseStartTime-t.startTimeun=t);var Br=function(t){var A,e,s,n,o,i,a,C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",h="",d=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do n=C.indexOf(t.charAt(d++)),o=C.indexOf(t.charAt(d++)),i=C.indexOf(t.charAt(d++)),a=C.indexOf(t.charAt(d++)),A=n<<2|o>>4,e=(15&o)<<4|i>>2,s=(3&i)<<6|a,h+=String.fromCharCode(A),i!==64&&(h+=String.fromCharCode(e)),a!==64&&(h+=String.fromCharCode(s));while(d1&&(I.thisProgram=process.argv[1].replace(/\\/g,"/")),I.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(E){if(!(E instanceof Ge))throw E}),process.on("unhandledRejection",function(E,B){process.exit(1)}),I.quit=function(E){process.exit(E)},I.inspect=function(){return"[Emscripten Module object]"}):IA?(typeof read<"u"&&(I.read=function(B){return read(B)}),I.readBinary=function(B){var u;return typeof readbuffer=="function"?new Uint8Array(readbuffer(B)):(te(typeof(u=read(B,"binary"))=="object"),u)},typeof scriptArgs<"u"?I.arguments=scriptArgs:typeof arguments<"u"&&(I.arguments=arguments),typeof quit=="function"&&(I.quit=function(E){quit(E)})):(Z||AA)&&(Z?document.currentScript&&(nA=document.currentScript.src):nA=self.location.href,nA=nA.indexOf("blob:")!==0?nA.split("/").slice(0,-1).join("/")+"/":"",I.read=function(B){var u=new XMLHttpRequest;return u.open("GET",B,!1),u.send(null),u.responseText},AA&&(I.readBinary=function(B){var u=new XMLHttpRequest;return u.open("GET",B,!1),u.responseType="arraybuffer",u.send(null),new Uint8Array(u.response)}),I.readAsync=function(B,u,m){var L=new XMLHttpRequest;L.open("GET",B,!0),L.responseType="arraybuffer",L.onload=function(){if(L.status==200||L.status==0&&L.response){u(L.response);return}m()},L.onerror=m,L.send(null)},I.setWindowTitle=function(E){document.title=E});var eA=I.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),lA=I.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||eA);for(t in rA)rA.hasOwnProperty(t)&&(I[t]=rA[t]);function LA(E){var B=c;return c=c+E+15&-16,B}function ns(E){var B=C[R>>2],u=B+E+15&-16;return C[R>>2]=u,u>=mA&&!hs()?(C[R>>2]=B,0):B}function os(E,B){return B||(B=16),E=Math.ceil(E/B)*B}function Xo(E){switch(E){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(E[E.length-1]==="*")return 4;if(E[0]!=="i")return 0;var B=parseInt(E.substr(1));return te(B%8==0),B/8}}function we(E){we.shown||(we.shown={}),we.shown[E]||(we.shown[E]=1,lA(E))}rA=void 0;var _o={"f64-rem":function(E,B){return E%B},debugger:function(){}},mt=[];function kr(E,B){for(var u=0,m=u;m>>0)+4294967296*+(B>>>0):+(E>>>0)+4294967296*+(0|B)}function yt(E,B,u){return u&&u.length?I["dynCall_"+E].apply(null,[B].concat(u)):I["dynCall_"+E].call(null,B)}var Ye=0,rs=0;function te(E,B){E||jA("Assertion failed: "+B)}function is(E){var B=I["_"+E];return te(B,"Cannot call unknown function "+E+", make sure it is exported"),B}var as={stackSave:function(){Mt()},stackRestore:function(){Gt()},arrayToC:function(E){var B,u,m=Ve(E.length);return B=E,u=m,n.set(B,u),m},stringToC:function(E){var B=0;if(E!=null&&E!==0){var u=(E.length<<2)+1;B=Ve(u),Es(E,B,u)}return B}},zo={string:as.stringToC,array:as.arrayToC};function gs(E,B,u,m,L){var X=is(E),j=[],Y=0;if(m)for(var pA=0;pA>0]=B;break;case"i16":i[E>>1]=B;break;case"i32":C[E>>2]=B;break;case"i64":tempI64=[B>>>0,+sr(tempDouble=B)>=1?tempDouble>0?(0|or(+ds(tempDouble/4294967296),4294967295))>>>0:~~+nr((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],C[E>>2]=tempI64[0],C[E+4>>2]=tempI64[1];break;case"float":d[E>>2]=B;break;case"double":Q[E>>3]=B;break;default:jA("invalid type for setValue: "+u)}}function Gr(E,B,u){switch((B=B||"i8").charAt(B.length-1)==="*"&&(B="i32"),B){case"i1":case"i8":return n[E>>0];case"i16":return i[E>>1];case"i32":case"i64":return C[E>>2];case"float":return d[E>>2];case"double":return Q[E>>3];default:jA("invalid type for getValue: "+B)}return null}function Mr(E,B,u,m){typeof E=="number"?(X=!0,j=E):(X=!1,j=E.length);var L=typeof B=="string"?B:null;if(Y=u==4?m:[typeof Ke=="function"?Ke:LA,Ve,LA,ns][u===void 0?2:u](Math.max(j,L?1:B.length)),X){for(m=Y,te((3&Y)==0),pA=Y+(-4&j);m>2]=0;for(pA=Y+j;m>0]=0;return Y}if(L==="i8")return E.subarray||E.slice?o.set(E,Y):o.set(new Uint8Array(E),Y),Y;for(var X,j,Y,pA,EA,CA,aA,W=0;W>0],(m!=0||B)&&(j++,!B||j!=B););B||(B=j);var Y="";if(X<128){for(;B>0;)L=String.fromCharCode.apply(String,o.subarray(E,E+Math.min(B,1024))),Y=Y?Y+L:L,E+=1024,B-=1024;return Y}return u=E,function(EA,CA){for(var aA=CA;EA[aA];)++aA;if(aA-CA>16&&EA.subarray&&Is)return Is.decode(EA.subarray(CA,aA));for(var W,FA,UA,TA,vA,ie,HA="";;){if(!(W=EA[CA++]))return HA;if(!(128&W)){HA+=String.fromCharCode(W);continue}if(FA=63&EA[CA++],(224&W)==192){HA+=String.fromCharCode((31&W)<<6|FA);continue}if(UA=63&EA[CA++],(240&W)==224?W=(15&W)<<12|FA<<6|UA:(TA=63&EA[CA++],(248&W)==240?W=(7&W)<<18|FA<<12|UA<<6|TA:(vA=63&EA[CA++],W=(252&W)==248?(3&W)<<24|FA<<18|UA<<12|TA<<6|vA:(1&W)<<30|FA<<24|UA<<18|TA<<12|vA<<6|(ie=63&EA[CA++]))),W<65536)HA+=String.fromCharCode(W);else{var Me=W-65536;HA+=String.fromCharCode(55296|Me>>10,56320|1023&Me)}}}(o,u)}function Nr(E){for(var B="";;){var u=n[E++>>0];if(!u)return B;B+=String.fromCharCode(u)}}function br(E,B){return function(m,L,X){for(var j=0;j>0]=m.charCodeAt(j);X||(n[L>>0]=0)}(E,B,!1)}var Is=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Pe(E,B,u,m){if(!(m>0))return 0;for(var L=u,X=u+m-1,j=0;j=55296&&Y<=57343&&(Y=65536+((1023&Y)<<10)|1023&E.charCodeAt(++j)),Y<=127){if(u>=X)break;B[u++]=Y}else if(Y<=2047){if(u+1>=X)break;B[u++]=192|Y>>6,B[u++]=128|63&Y}else if(Y<=65535){if(u+2>=X)break;B[u++]=224|Y>>12,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}else if(Y<=2097151){if(u+3>=X)break;B[u++]=240|Y>>18,B[u++]=128|Y>>12&63,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}else if(Y<=67108863){if(u+4>=X)break;B[u++]=248|Y>>24,B[u++]=128|Y>>18&63,B[u++]=128|Y>>12&63,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}else{if(u+5>=X)break;B[u++]=252|Y>>30,B[u++]=128|Y>>24&63,B[u++]=128|Y>>18&63,B[u++]=128|Y>>12&63,B[u++]=128|Y>>6&63,B[u++]=128|63&Y}}return B[u]=0,u-L}function Es(E,B,u){return Pe(E,o,B,u)}function qe(E){for(var B=0,u=0;u=55296&&m<=57343&&(m=65536+((1023&m)<<10)|1023&E.charCodeAt(++u)),m<=127?++B:m<=2047?B+=2:m<=65535?B+=3:m<=2097151?B+=4:m<=67108863?B+=5:B+=6}return B}var Cs=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function Lr(E){for(var B=E,u=B>>1;i[u];)++u;if((B=u<<1)-E>32&&Cs)return Cs.decode(o.subarray(E,B));for(var m=0,L="";;){var X=i[E+2*m>>1];if(X==0)return L;++m,L+=String.fromCharCode(X)}}function Ur(E,B,u){if(u===void 0&&(u=2147483647),u<2)return 0;for(var m=B,L=(u-=2)<2*E.length?u/2:E.length,X=0;X>1]=j,B+=2}return i[B>>1]=0,B-m}function Tr(E){return 2*E.length}function vr(E){for(var B=0,u="";;){var m=C[E+4*B>>2];if(m==0)return u;if(++B,m>=65536){var L=m-65536;u+=String.fromCharCode(55296|L>>10,56320|1023&L)}else u+=String.fromCharCode(m)}}function Hr(E,B,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var m=B,L=m+u-4,X=0;X=55296&&j<=57343&&(j=65536+((1023&j)<<10)|1023&E.charCodeAt(++X)),C[B>>2]=j,(B+=4)+4>L)break}return C[B>>2]=0,B-m}function Yr(E){for(var B=0,u=0;u=55296&&m<=57343&&++u,B+=4}return B}function Jr(E){var B=qe(E)+1,u=Ke(B);return u&&Pe(E,n,u,B),u}function Pr(E){var B=qe(E)+1,u=Ve(B);return Pe(E,n,u,B),u}function qr(E){return E}function Or(){var E,B=function(){var m=Error();if(!m.stack){try{throw Error(0)}catch(L){m=L}if(!m.stack)return"(no stack trace available)"}return m.stack.toString()}();return I.extraStackTrace&&(B+=` +`+I.extraStackTrace()),(E=B).replace(/__Z[\w\d_]+/g,function(u){var m,L=m=u;return u===L?u:u+" ["+L+"]"})}function St(E,B){return E%B>0&&(E+=B-E%B),E}function Bs(E){I.buffer=s=E}function Dt(){I.HEAP8=n=new Int8Array(s),I.HEAP16=i=new Int16Array(s),I.HEAP32=C=new Int32Array(s),I.HEAPU8=o=new Uint8Array(s),I.HEAPU16=a=new Uint16Array(s),I.HEAPU32=h=new Uint32Array(s),I.HEAPF32=d=new Float32Array(s),I.HEAPF64=Q=new Float64Array(s)}function hs(){var E=I.usingWasm?65536:16777216,B=2147483648-E;if(C[R>>2]>B)return!1;var u=mA;for(mA=Math.max(mA,16777216);mA>2];)mA=mA<=536870912?St(2*mA,E):Math.min(St((3*mA+2147483648)/4,E),B);var m=I.reallocBuffer(mA);return m&&m.byteLength==mA?(Bs(m),Dt(),!0):(mA=u,!1)}l=c=y=S=w=H=R=0,f=!1,I.reallocBuffer||(I.reallocBuffer=function(E){try{if(ArrayBuffer.transfer)B=ArrayBuffer.transfer(s,E);else{var B,u=n;B=new ArrayBuffer(E),new Int8Array(B).set(u)}}catch{return!1}return!!rr(B)&&B});try{(x=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{x=function(B){return B.byteLength}}var kt=I.TOTAL_STACK||5242880,mA=I.TOTAL_MEMORY||16777216;function $o(){return mA}function Fe(E){for(;E.length>0;){var B=E.shift();if(typeof B=="function"){B();continue}var u=B.func;typeof u=="number"?B.arg===void 0?I.dynCall_v(u):I.dynCall_vi(u,B.arg):u(B.arg===void 0?null:B.arg)}}mA=0?E:B<=32?2*Math.abs(1<=m&&(B<=32||E>m)&&(E=-2*m+E),E}var sr=Math.abs,nr=Math.ceil,ds=Math.floor,or=Math.min,re=0,Rt=null,Re=null;function zr(E){return E}I.preloadedImages={},I.preloadedAudios={};var fs="data:application/octet-stream;base64,";function Oe(E){return String.prototype.startsWith?E.startsWith(fs):E.indexOf(fs)===0}(function(){var B="main.wast",u="main.wasm",m="main.temp.asm.js";Oe(B)||(B=iA(B)),Oe(u)||(u=iA(u)),Oe(m)||(m=iA(m));var L={global:null,env:null,asm2wasm:_o,parent:I},X=null;function j(aA){return aA}function Y(){try{if(I.wasmBinary)return new Uint8Array(I.wasmBinary);if(I.readBinary)return I.readBinary(u);throw"both async and sync fetching of the wasm failed"}catch(aA){jA(aA)}}I.asmPreload=I.asm;var pA=I.reallocBuffer,EA=function(aA){aA=St(aA,I.usingWasm?65536:16777216);var W=I.buffer.byteLength;if(I.usingWasm)try{var FA=I.wasmMemory.grow((aA-W)/65536);return FA!==-1?I.buffer=I.wasmMemory.buffer:null}catch{return null}};I.reallocBuffer=function(aA){return CA==="asmjs"?pA(aA):EA(aA)};var CA="";I.asm=function(aA,W,FA){var UA;if(!(W=UA=W).table){var TA,vA=I.wasmTableSize;vA===void 0&&(vA=1024);var ie=I.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?ie!==void 0?W.table=new WebAssembly.Table({initial:vA,maximum:ie,element:"anyfunc"}):W.table=new WebAssembly.Table({initial:vA,element:"anyfunc"}):W.table=Array(vA),I.wasmTable=W.table}return W.memoryBase||(W.memoryBase=I.STATIC_BASE),W.tableBase||(W.tableBase=0),TA=function(Me,he,Nt){if(typeof WebAssembly!="object")return lA("no native wasm support detected"),!1;if(!(I.wasmMemory instanceof WebAssembly.Memory))return lA("no native wasm Memory in use"),!1;function Ze(ZA,WA){if((X=ZA.exports).memory){var xe,bt,ys;xe=X.memory,bt=I.buffer,xe.byteLength0?u:qe(E)+1,L=Array(m),X=Pe(E,L,0,L.length);return B&&(L.length=X),L}function ei(E){for(var B=[],u=0;u255&&(m&=255),B.push(String.fromCharCode(m))}return B.join("")}c+=16,R=LA(4),w=(y=S=os(c))+kt,H=os(w),C[R>>2]=H,f=!0,I.wasmTableSize=4,I.wasmMaxTableSize=4,I.asmGlobalArg={},I.asmLibraryArg={abort:jA,assert:te,enlargeMemory:hs,getTotalMemory:$o,abortOnCannotGrowMemory:function(){jA("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+mA+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(B,u,m){var L=Mt();try{return I.dynCall_iii(B,u,m)}catch(X){if(Gt(L),typeof X!="number"&&X!=="longjmp")throw X;I.setThrew(1,0)}},___assert_fail:function(B,u,m,L){jA("Assertion failed: "+Je(B)+", at: "+[u?Je(u):"unknown filename",m,L?Je(L):"unknown function"])},___setErrNo:function(B){return I.___errno_location&&(C[I.___errno_location()>>2]=B),B},_abort:function(){I.abort()},_emscripten_memcpy_big:function(B,u,m){return o.set(o.subarray(u,u+m),B),B},_llvm_floor_f64:ds,DYNAMICTOP_PTR:R,tempDoublePtr:MA,ABORT:Ye,STACKTOP:S,STACK_MAX:w};var ms=I.asm(I.asmGlobalArg,I.asmLibraryArg,s);I.asm=ms,I.___errno_location=function(){return I.asm.___errno_location.apply(null,arguments)};var rr=I._emscripten_replace_memory=function(){return I.asm._emscripten_replace_memory.apply(null,arguments)};I._free=function(){return I.asm._free.apply(null,arguments)};var Ke=I._malloc=function(){return I.asm._malloc.apply(null,arguments)};I._memcpy=function(){return I.asm._memcpy.apply(null,arguments)},I._memset=function(){return I.asm._memset.apply(null,arguments)},I._sbrk=function(){return I.asm._sbrk.apply(null,arguments)},I._stb_vorbis_js_channels=function(){return I.asm._stb_vorbis_js_channels.apply(null,arguments)},I._stb_vorbis_js_close=function(){return I.asm._stb_vorbis_js_close.apply(null,arguments)},I._stb_vorbis_js_decode=function(){return I.asm._stb_vorbis_js_decode.apply(null,arguments)},I._stb_vorbis_js_open=function(){return I.asm._stb_vorbis_js_open.apply(null,arguments)},I._stb_vorbis_js_sample_rate=function(){return I.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},I.establishStackSpace=function(){return I.asm.establishStackSpace.apply(null,arguments)},I.getTempRet0=function(){return I.asm.getTempRet0.apply(null,arguments)},I.runPostSets=function(){return I.asm.runPostSets.apply(null,arguments)},I.setTempRet0=function(){return I.asm.setTempRet0.apply(null,arguments)},I.setThrew=function(){return I.asm.setThrew.apply(null,arguments)};var Ve=I.stackAlloc=function(){return I.asm.stackAlloc.apply(null,arguments)},Gt=I.stackRestore=function(){return I.asm.stackRestore.apply(null,arguments)},Mt=I.stackSave=function(){return I.asm.stackSave.apply(null,arguments)};function Ge(E){this.name="ExitStatus",this.message="Program terminated with exit("+E+")",this.status=E}function xt(E){E=E||I.arguments,!(re>0)&&(function(){if(I.preRun)for(typeof I.preRun=="function"&&(I.preRun=[I.preRun]);I.preRun.length;)er(I.preRun.shift());Fe(cs)}(),!(re>0)&&(I.calledRun||(I.setStatus?(I.setStatus("Running..."),setTimeout(function(){setTimeout(function(){I.setStatus("")},1),B()},1)):B())));function B(){!I.calledRun&&(I.calledRun=!0,Ye||(Ft||(Ft=!0,Fe(wt)),Fe(ls),I.onRuntimeInitialized&&I.onRuntimeInitialized(),function(){if(I.postRun)for(typeof I.postRun=="function"&&(I.postRun=[I.postRun]);I.postRun.length;)tr(I.postRun.shift());Fe(us)}()))}}function ti(E,B){(!B||!I.noExitRuntime||E!==0)&&(I.noExitRuntime||(Ye=!0,rs=E,S=G,Fe(Qs),Ar=!0,I.onExit&&I.onExit(E)),I.quit(E,new Ge(E)))}function jA(E){throw I.onAbort&&I.onAbort(E),E!==void 0?(eA(E),lA(E),E=JSON.stringify(E)):E="",Ye=!0,rs=1,"abort("+E+"). Build with -s ASSERTIONS=1 for more info."}if(I.dynCall_iii=function(){return I.asm.dynCall_iii.apply(null,arguments)},I.asm=ms,I.ccall=gs,I.cwrap=function(B,u,m,L){var X=(m=m||[]).every(function(j){return j==="number"});return u!=="string"&&X&&!L?is(B):function(){return gs(B,u,m,arguments,L)}},Ge.prototype=Error(),Ge.prototype.constructor=Ge,Re=function E(){I.calledRun||xt(),I.calledRun||(Re=E)},I.run=xt,I.abort=jA,I.preInit)for(typeof I.preInit=="function"&&(I.preInit=[I.preInit]);I.preInit.length>0;)I.preInit.pop()();I.noExitRuntime=!0,xt(),I.onRuntimeInitialized=()=>{Qn=!0,un()},zA.decode=function(E){return function(u){if(!Qn)throw Error("Not initialized");var m={};function L(he){return new Int32Array(I.HEAPU8.buffer,he,1)[0]}function X(he,Nt){var Ze=new ArrayBuffer(Nt*Float32Array.BYTES_PER_ELEMENT),ce=new Float32Array(Ze);return ce.set(new Float32Array(I.HEAPU8.buffer,he,Nt)),ce}m.open=I.cwrap("stb_vorbis_js_open","number",[]),m.close=I.cwrap("stb_vorbis_js_close","void",["number"]),m.channels=I.cwrap("stb_vorbis_js_channels","number",["number"]),m.sampleRate=I.cwrap("stb_vorbis_js_sample_rate","number",["number"]),m.decode=I.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var j,Y,pA,EA,CA=m.open(),aA=(j=u,Y=u.byteLength,pA=I._malloc(Y),(EA=new Uint8Array(I.HEAPU8.buffer,pA,Y)).set(new Uint8Array(j,0,Y)),EA),W=I._malloc(4),FA=I._malloc(4),UA=m.decode(CA,aA.byteOffset,aA.byteLength,W,FA);if(I._free(aA.byteOffset),UA<0)throw m.close(CA),I._free(W),Error("stbvorbis decode failed: "+UA);for(var TA=m.channels(CA),vA=Array(TA),ie=new Int32Array(I.HEAPU32.buffer,L(W),TA),HA=0;HA=0&&(s=this.workletProcessorChannels[e]),t.messageType){case sA.noteOn:this.noteOn(e,A[0],A[1],A[2]);break;case sA.noteOff:this.noteOff(e,A);break;case sA.pitchWheel:this.pitchWheel(e,A[0],A[1]);break;case sA.ccChange:this.controllerChange(e,A[0],A[1],A[2]);break;case sA.customcCcChange:s.customControllers[A[0]]=A[1];break;case sA.killNote:this.killNote(e,A);break;case sA.programChange:this.programChange(e,A[0],A[1]);break;case sA.channelPressure:this.channelPressure(e,A);break;case sA.polyPressure:this.polyPressure(e,A[0],A[1]);break;case sA.ccReset:e===qA?this.resetAllControllers():this.resetControllers(e);break;case sA.systemExclusive:this.systemExclusive(A);break;case sA.setChannelVibrato:if(e===qA)for(let i=0;i{let e=(A.midiControllers[dA+q.pitchWheelRange]>>7)+(A.midiControllers[dA+q.pitchWheelRange]&127)/127;return{voicesAmount:A.voices.length,pitchBend:A.midiControllers[dA+q.pitchWheel],pitchBendRangeSemitones:e,isMuted:A.isMuted,isDrum:A.drumChannel}});this.post({messageType:DA.channelProperties,messageData:t})}function hr(t,A,e){let s=t,n=A<<7|e;return t===127&&A===127&&e===127?{midiNote:-1,centTuning:null}:{midiNote:s,centTuning:n*.0061}}function pn(t,A=0){let e=t[0];if(!(this.deviceID!==qA&&t[1]!==127&&this.deviceID!==t[1]))switch(e){default:U(`%cUnrecognized SysEx: %c${SA(t)}`,g.warn,g.unrecognized);break;case 126:case 127:switch(t[2]){case 4:let n;switch(t[3]){case 1:let o=t[5]<<7|t[4];this.setMIDIVolume(o/16384),p(`%cMaster Volume. Volume: %c${o}`,g.info,g.value);break;case 2:let a=((t[5]<<7|t[4])-8192)/8192;this.setMasterPan(a),p(`%cMaster Pan. Pan: %c${a}`,g.info,g.value);break;case 3:let C=(t[5]<<7|t[6])-8192;n=Math.floor(C/81.92),this.setMasterTuning(n),p(`%cMaster Fine Tuning. Cents: %c${n}`,g.info,g.value);break;case 4:n=(t[5]-64)*100,this.setMasterTuning(n),p(`%cMaster Coarse Tuning. Cents: %c${n}`,g.info,g.value);break;default:U(`%cUnrecognized MIDI Device Control Real-time message: %c${SA(t)}`,g.warn,g.unrecognized)}break;case 9:t[3]===1?(p("%cGM system on",g.info),this.system="gm"):t[3]===3?(p("%cGM2 system on",g.info),this.system="gm2"):(p("%cGM system off, defaulting to GS",g.info),this.system="gs");break;case 8:switch(t[3]){case 2:case 7:let o=4;t[3]===7&&o++;let i=t[o++],a=t[o++];for(let h=0;h>1&1)===1&&this.setOctaveTuning(15+A,C);for(let h=0;h<7;h++)(t[5]>>h&1)===1&&this.setOctaveTuning(7+h+A,C);for(let h=0;h<7;h++)(t[6]>>h&1)===1&&this.setOctaveTuning(h+A,C);p(`%cMIDI Octave Scale ${t[3]===8?"(1 byte)":"(2 bytes)"} tuning via Tuning: %c${C.join(" ")}`,g.info,g.value);break;default:U(`%cUnrecognized MIDI Tuning standard message: %c${SA(t)}`,g.warn,g.unrecognized);break}break;default:U(`%cUnrecognized MIDI Realtime/non realtime message: %c${SA(t)}`,g.warn,g.unrecognized)}break;case 65:let s=function(){U(`%cUnrecognized Roland %cGS %cSysEx: %c${SA(t)}`,g.warn,g.recognized,g.warn,g.unrecognized)};if(t[2]===66&&t[3]===18){let n=t[7];if(t[6]===127){n===0?(p("%cGS Reset received!",g.info),this.resetAllControllers(!1),this.system="gs"):n===127&&(p("%cGS system off, switching to GM2",g.info),this.resetAllControllers(!1),this.system="gm2");return}else if(t[4]===64){if((t[5]&16)>0){let o=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][t[5]&15]+A;switch(t[6]){default:s();break;case 21:let i=n>0&&t[5]>>4;this.setDrums(o,i),p(`%cChannel %c${o}%c ${i?"is now a drum channel":"now isn't a drum channel"}%c via: %c${SA(t)}`,g.info,g.value,g.recognized,g.info,g.value);return;case 22:let a=n-64;this.transposeChannel(o,a),p(`%cChannel %c${o}%c pitch shift. Semitones %c${a}%c, with %c${SA(t)}`,g.info,g.recognized,g.info,g.value,g.info,g.value);return;case 28:let C=n;C===0&&(C=Math.floor(Math.random()*128)),this.controllerChange(o,k.pan,C);break;case 33:this.controllerChange(o,k.chorusDepth,n);break;case 34:this.controllerChange(o,k.reverbDepth,n);break;case 64:case 65:case 66:case 67:case 68:case 69:case 70:case 71:case 72:case 73:case 74:case 75:let h=t.length-9,d=new Int8Array(12);for(let l=0;l=this.workletProcessorChannels.length)return;let o=t[6];switch(t[5]){case 1:this.controllerChange(n,k.bankSelect,o);break;case 2:this.controllerChange(n,k.lsbForControl0BankSelect,o);break;case 3:this.programChange(n,o);break;case 8:let i=this.workletProcessorChannels[n];if(i.drumChannel)return;let a=o-64;i.channelTransposeKeyShift=a;break;case 11:this.controllerChange(n,k.mainVolume,o);break;case 14:let C=o;C===0&&(C=Math.floor(Math.random()*127)),this.controllerChange(n,k.pan,C);break;case 19:this.controllerChange(n,k.reverbDepth,o);break;case 18:this.controllerChange(n,k.chorusDepth,o);break;default:U(`%cUnrecognized Yamaha XG Part Setup: %c${t[5].toString(16).toUpperCase()}`,g.warn,g.unrecognized)}}else this.system==="xg"&&U(`%cUnrecognized Yamaha XG SysEx: %c${SA(t)}`,g.warn,g.unrecognized);else this.system==="xg"&&U(`%cUnrecognized Yamaha SysEx: %c${SA(t)}`,g.warn,g.unrecognized);break}}var cr=1e3/200;function yn(t,A,e){if(A.transformAmount===0)return A.currentValue=0,0;let s;if(A.sourceUsesCC)s=t[A.sourceIndex];else{let h=A.sourceIndex+dA;switch(A.sourceIndex){case q.noController:s=16383;break;case q.noteOnKeyNum:s=e.midiNote<<7;break;case q.noteOnVelocity:s=e.velocity<<7;break;case q.polyPressure:s=e.pressure<<7;break;default:s=t[h];break}}let n=Be[A.sourceCurveType][A.sourcePolarity][A.sourceDirection][s],o;if(A.secSrcUsesCC)o=t[A.secSrcIndex];else{let h=A.secSrcIndex+dA;switch(A.secSrcIndex){case q.noController:o=16383;break;case q.noteOnKeyNum:o=e.midiNote<<7;break;case q.noteOnVelocity:o=e.velocity<<7;break;case q.polyPressure:o=e.pressure<<7;break;default:o=t[h]}}let i=Be[A.secSrcCurveType][A.secSrcPolarity][A.secSrcDirection][o],a=A.transformAmount;A.isEffectModulator&&a<=1e3&&(a*=cr,a=Math.min(a,1e3));let C=n*i*a;return A.transformType===2&&(C=Math.abs(C)),A.currentValue=C,C}function Ae(t,A,e=-1,s=0){let n=t.modulators,o=t.generators,i=t.modulatedGenerators;if(e===-1){i.set(o),n.forEach(h=>{let d=J[h.modulatorDestination],Q=i[h.modulatorDestination]+yn(A,h,t);i[h.modulatorDestination]=Math.max(d.min,Math.min(Q,d.max))}),PA.recalculate(t),JA.recalculate(t);return}let a=new Set([r.initialAttenuation,r.delayVolEnv,r.attackVolEnv,r.holdVolEnv,r.decayVolEnv,r.sustainVolEnv,r.releaseVolEnv,r.keyNumToVolEnvHold,r.keyNumToVolEnvDecay]),C=new Set;n.forEach(h=>{if(h.sourceUsesCC===e&&h.sourceIndex===s||h.secSrcUsesCC===e&&h.secSrcIndex===s){let d=h.modulatorDestination;C.has(d)||(i[d]=o[d],yn(A,h,t),n.forEach(Q=>{if(Q.modulatorDestination===d){let l=J[h.modulatorDestination],c=i[h.modulatorDestination]+Q.currentValue;i[h.modulatorDestination]=Math.max(l.min,Math.min(c,l.max))}}),C.add(d))}}),[...C].some(h=>a.has(h))&&PA.recalculate(t),JA.recalculate(t)}var Be=[];for(let t=0;t<4;t++){Be[t]=[[new Float32Array(fA),new Float32Array(fA)],[new Float32Array(fA),new Float32Array(fA)]];for(let A=0;A200&&e<40||this.highPerformanceMode&&e<10||i.isMuted)return;let a=A+i.channelTransposeKeyShift,C=a;if(A>127||A<0)return;let h=i.preset.program;this.tunings[h]?.[A]?.midiNote>=0&&(C=this.tunings[h]?.[A].midiNote),i.velocityOverride>0&&(e=i.velocityOverride);let d=this.keyModifierManager.getVelocity(t,A);d>-1&&(e=d);let Q=this.getWorkletVoices(t,C,e,i,o,a,s),l=i.voices;Q.forEach(c=>{let f=c.generators[r.exclusiveClass];f!==0&&l.forEach(G=>{G.generators[r.exclusiveClass]===f&&(this.releaseVoice(G,Dn),G.modulatedGenerators[r.releaseVolEnv]=-7e3,G.modulatedGenerators[r.releaseModEnv]=-7e3,PA.recalculate(G),JA.recalculate(G))}),Ae(c,i.midiControllers);let y=c.modulatedGenerators[r.startAddrsOffset]+c.modulatedGenerators[r.startAddrsCoarseOffset]*32768,S=c.modulatedGenerators[r.endAddrOffset]+c.modulatedGenerators[r.endAddrsCoarseOffset]*32768,w=c.modulatedGenerators[r.startloopAddrsOffset]+c.modulatedGenerators[r.startloopAddrsCoarseOffset]*32768,H=c.modulatedGenerators[r.endloopAddrsOffset]+c.modulatedGenerators[r.endloopAddrsCoarseOffset]*32768,R=c.sample,x=G=>Math.max(0,Math.min(R.sampleData.length-1,G));if(R.cursor=x(R.cursor+y),R.end=x(R.end+S),R.loopStart=x(R.loopStart+w),R.loopEnd=x(R.loopEnd+H),R.loopEndthis.voiceCap&&this.voiceKilling(Q.length),l.push(...Q),n&&(this.sendChannelProperties(),this.callEvent("noteon",{midiNote:A,channel:t,velocity:e}))}function kn(t,A){if(A>127||A<0){U("Received a noteOn for note",A,"Ignoring.");return}let e=A+this.workletProcessorChannels[t].channelTransposeKeyShift;if(this.highPerformanceMode&&!this.workletProcessorChannels[t].drumChannel){this.killNote(t,e);return}this.workletProcessorChannels[t].voices.forEach(n=>{n.realKey!==e||n.isInRelease===!0||(this.workletProcessorChannels[t].holdPedal?this.workletProcessorChannels[t].sustainedVoices.push(n):this.releaseVoice(n))}),this.callEvent("noteoff",{midiNote:A,channel:t})}function wn(t,A){this.workletProcessorChannels[t].voices.forEach(e=>{e.realKey===A&&(e.modulatedGenerators[r.releaseVolEnv]=-12e3,this.releaseVoice(e))})}function Fn(t,A=!1){let e=this.workletProcessorChannels[t].voices;A?(e.length=0,this.workletProcessorChannels[t].sustainedVoices.length=0,this.sendChannelProperties()):(e.forEach(s=>{s.isInRelease||this.releaseVoice(s)}),this.workletProcessorChannels[t].sustainedVoices.forEach(s=>{this.releaseVoice(s)}))}function Rn(t=!1){p("%cStop all received!",g.info);for(let A=0;AAe(n,this.workletProcessorChannels[t].midiControllers,0,q.pitchWheel)),this.sendChannelProperties()}function Tn(t,A){let e=this.workletProcessorChannels[t];e.midiControllers[dA+q.channelPressure]=A<<7,this.workletProcessorChannels[t].voices.forEach(s=>Ae(s,e.midiControllers,0,q.channelPressure)),this.callEvent("channelpressure",{channel:t,pressure:A})}function vn(t,A,e){this.workletProcessorChannels[t].voices.forEach(s=>{s.midiNote===A&&(s.pressure=e,Ae(s,this.workletProcessorChannels[t].midiControllers,0,q.polyPressure))}),this.callEvent("polypressure",{channel:t,midiNote:A,pressure:e})}function Hn(t,A){if(A.length!==12)throw new Error("Tuning is not the length of 12.");this.workletProcessorChannels[t].channelOctaveTuning=A}function Yn(t,A,e,s=!1){let n=this.workletProcessorChannels[t];if(n===void 0){U(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(A>127){if(!s)return;switch(A){default:return;case Yt.velocityOverride:n.velocityOverride=e}}if(A>=k.lsbForControl1ModulationWheel&&A<=k.lsbForControl13EffectControl2&&A!==k.lsbForControl6DataEntry){let o=A-32;if(n.lockedControllers[o])return;n.midiControllers[o]=n.midiControllers[o]&16256|e&127,n.voices.forEach(i=>Ae(i,n.midiControllers,1,o))}switch(A){case k.allNotesOff:this.stopAll(t);break;case k.allSoundOff:this.stopAll(t,!0);break;case k.bankSelect:let o=e;if(!s){switch(this.system){case"gm":p(`%cIgnoring the Bank Select (${e}), as the synth is in GM mode.`,g.info);return;case"xg":o===120||o===126||o===127?this.setDrums(t,!0):t%16!==RA&&this.setDrums(t,!1);break;case"gm2":o===120&&this.setDrums(t,!0)}n.drumChannel&&(o=128),o===128&&!n.drumChannel&&(o=XA(n))}se(n,o);break;case k.lsbForControl0BankSelect:this.system==="xg"?n.drumChannel||e!==127&&se(n,e):this.system==="gm2"&&se(n,e);break;case k.RPNLsb:n.RPValue=n.RPValue<<7|e,n.dataEntryState=wA.RPFine;break;case k.RPNMsb:n.RPValue=e,n.dataEntryState=wA.RPCoarse;break;case k.NRPNMsb:n.NRPCoarse=e,n.dataEntryState=wA.NRPCoarse;break;case k.NRPNLsb:n.NRPFine=e,n.dataEntryState=wA.NRPFine;break;case k.dataEntryMsb:this.dataEntryCoarse(t,e);break;case k.lsbForControl6DataEntry:this.dataEntryFine(t,e);break;case k.resetAllControllers:this.resetControllers(t);break;case k.sustainPedal:e>=64?n.holdPedal=!0:(n.holdPedal=!1,n.sustainedVoices.forEach(i=>{this.releaseVoice(i)}),n.sustainedVoices=[]);break;default:if(n.lockedControllers[A])return;n.midiControllers[A]=e<<7,n.voices.forEach(i=>Ae(i,n.midiControllers,1,A));break}this.callEvent("controllerchange",{channel:t,controllerNumber:A,controllerValue:e})}function Jn(t){this.midiVolume=t,this.setMasterPan(this.pan)}function Pn(t){this.masterGain=t*Wt,this.setMasterPan(this.pan)}function qn(t){this.pan=t,t=t/2+.5,this.panLeft=1-t,this.panRight=t}function On(t,A){A&&this.stopAll(t,!0),this.workletProcessorChannels[t].isMuted=A,this.sendChannelProperties(),this.callEvent("mutechannel",{channel:t,isMuted:A})}function Kn(t){this.workletProcessorChannels[t].lockGSNRPNParams=!0,this.workletProcessorChannels[t].channelVibrato.rate=0,this.workletProcessorChannels[t].channelVibrato.delay=0,this.workletProcessorChannels[t].channelVibrato.depth=0}function Vn(t,A,e,s){this.workletProcessorChannels[t].lockGSNRPNParams||(this.workletProcessorChannels[t].channelVibrato.rate=e,this.workletProcessorChannels[t].channelVibrato.delay=s,this.workletProcessorChannels[t].channelVibrato.depth=A)}function Zn(t,A){let e=this.workletProcessorChannels[t],s=()=>{e.channelVibrato.delay===0&&e.channelVibrato.rate===0&&e.channelVibrato.depth===0&&(e.channelVibrato.depth=50,e.channelVibrato.rate=8,e.channelVibrato.delay=.6)};switch(e.dataEntryState){default:case wA.Idle:break;case wA.NRPFine:if(this.system!=="gs"||e.lockGSNRPNParams)return;switch(e.NRPCoarse){default:if(A===64)return;U(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16).toUpperCase()} 0x${e.NRPFine.toString(16).toUpperCase()})%c data value: %c${A}`,g.warn,g.recognized,g.warn,g.unrecognized,g.warn,g.value);break;case 1:switch(e.NRPFine){default:if(A===64)return;U(`%cUnrecognized NRPN for %c${t}%c: %c(0x${e.NRPCoarse.toString(16)} 0x${e.NRPFine.toString(16)})%c data value: %c${A}`,g.warn,g.recognized,g.warn,g.unrecognized,g.warn,g.value);break;case 8:if(A===64)return;s(),e.channelVibrato.rate=A/64*8,p(`%cVibrato rate for %c${t}%c is now set to %c${A} = ${e.channelVibrato.rate}%cHz.`,g.info,g.recognized,g.info,g.value,g.info);break;case 9:if(A===64)return;s(),e.channelVibrato.depth=A/2,p(`%cVibrato depth for %c${t}%c is now set to %c${A} = ${e.channelVibrato.depth}%c cents range of detune.`,g.info,g.recognized,g.info,g.value,g.info);break;case 10:if(A===64)return;s(),e.channelVibrato.delay=A/64/3,p(`%cVibrato delay for %c${t}%c is now set to %c${A} = ${e.channelVibrato.delay}%c seconds.`,g.info,g.recognized,g.info,g.value,g.info);break;case 32:let i=A;this.controllerChange(t,k.brightness,A),p(`%cFilter cutoff for %c${t}%c is now set to %c${i}`,g.info,g.recognized,g.info,g.value)}break;case 24:let n=A-64;e.keyCentTuning[e.NRPFine]=n*100,p(`%cGS drum key tuning. MIDI note: %c${e.NRPFine}%c semitones: %c${n}`,g.info,g.recognized,g.info,g.value);break;case 29:let o=A;this.controllerChange(t,k.reverbDepth,o),p(`%cGS Drum reverb for %c${t}%c: %c${o}`,g.info,g.recognized,g.info,g.value);break}break;case wA.RPCoarse:case wA.RPFine:switch(e.RPValue){default:U(`%cUnrecognized RPN for %c${t}%c: %c(0x${e.RPValue.toString(16)})%c data value: %c${A}`,g.warn,g.recognized,g.warn,g.unrecognized,g.warn,g.value);break;case 0:e.midiControllers[dA+q.pitchWheelRange]=A<<7,p(`%cChannel ${t} bend range. Semitones: %c${A}`,g.info,g.value);break;case 2:this.setChannelTuningSemitones(t,A-64);break;case 1:this.setChannelTuning(t,A-64,!1);break;case 5:this.setModulationDepth(t,A*100);break;case 16383:this.resetParameters(t);break}}}function Wn(t,A){let e=this.workletProcessorChannels[t];switch(e.dataEntryState){default:break;case wA.RPCoarse:case wA.RPFine:switch(e.RPValue){default:break;case 0:if(A===0)break;e.midiControllers[dA+q.pitchWheelRange]|=A;let s=(e.midiControllers[dA+q.pitchWheelRange]>>7)+A/127;p(`%cChannel ${t} bend range. Semitones: %c${s}`,g.info,g.value);break;case 1:let o=e.customControllers[hA.channelTuning]<<7|A;this.setChannelTuning(t,o*.01220703125);break;case 5:let a=e.customControllers[hA.modulationMultiplier]*50+A/128*100;this.setModulationDepth(t,a);break;case 16383:this.resetParameters(t);break}}}function Xn(t=!0){t&&p("%cResetting all controllers!",g.info),this.callEvent("allcontrollerreset",void 0);for(let A=0;A>7});if(this.workletProcessorChannels[A].lockedControllers[dA+q.pitchWheel]===!1){let s=this.workletProcessorChannels[A].midiControllers[dA+q.pitchWheel],n=s>>7,o=s&127;this.callEvent("pitchwheel",{channel:A,MSB:n,LSB:o})}}this.tunings=[],this.tunings=[];for(let A=0;127>A;A++)this.tunings.push([]);this.setMIDIVolume(1),this.system=At}function _n(t){let A=this.workletProcessorChannels[t],e=A.lockedControllers.reduce((n,o,i)=>(o&&n.push(i),n),[]);A.channelOctaveTuning.fill(0),A.keyCentTuning.fill(0);for(let n=0;n>7}),A.midiControllers[n]=o}A.channelVibrato={rate:0,depth:0,delay:0},A.holdPedal=!1;let s=A.customControllers[hA.channelTransposeFine];A.customControllers.set(Ht),A.customControllers[hA.channelTransposeFine]=s,this.resetParameters(t)}function zn(t){let A=this.workletProcessorChannels[t];A.NRPCoarse=0,A.NRPFine=0,A.RPValue=0,A.dataEntryState=wA.Idle}function jn(){let t=4;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==r.sampleID&&i.generatorType!==r.keyRange&&i.generatorType!==r.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:r.velRange,generatorValue:o.velRange.max<<8|Math.max(o.velRange.min,0)}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:r.keyRange,generatorValue:o.keyRange.max<<8|Math.max(o.keyRange.min,0)}),o.isGlobal||o.generators.push({generatorType:r.sampleID,generatorValue:this.samples.indexOf(o.sample)}),o.generators.length*4+n),0);let A=new N(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.generatorZoneStartIndex=e;for(let o of n.generators)b(A,o.generatorType),b(A,o.generatorValue),e++}return V(A,0),gA(new oA("igen",A.length,A))}function $n(t,A,e,s,n){let o=this.samples.map((h,d)=>{e&&h.compressSample(s,n);let Q=h.getRawData();return p(`%cEncoded sample %c${d}. ${h.sampleName}%c of %c${this.samples.length}`,g.info,g.recognized,g.info,g.recognized),Q}),i=this.samples.reduce((h,d,Q)=>h+o[Q].length+46,0),a=new N(i);this.samples.forEach((h,d)=>{let Q=o[d],l,c,f=Q.length;h.isCompressed?(l=a.currentIndex,c=l+Q.length):(l=a.currentIndex/2,c=l+Q.length/2,f+=46),t.push(l),a.set(Q,a.currentIndex),a.currentIndex+=f,A.push(c)});let C=gA(new oA("smpl",a.length,a),new N([115,100,116,97]));return gA(new oA("LIST",C.length,C))}function Ao(t,A){let s=new N(46*(this.samples.length+1));return this.samples.forEach((n,o)=>{yA(s,n.sampleName,20);let i=t[o];V(s,i);let a=A[o];V(s,a);let C=n.sampleLoopStartIndex+i,h=n.sampleLoopEndIndex+i;n.isCompressed&&(C-=i,h-=i),V(s,C),V(s,h),V(s,n.sampleRate),s[s.currentIndex++]=n.samplePitch,s[s.currentIndex++]=n.samplePitchCorrection,b(s,n.sampleLink),b(s,n.sampleType)}),yA(s,"EOS",46),gA(new oA("shdr",s.length,s))}function eo(){let t=10;for(let s of this.instruments)t+=s.instrumentZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new N(t),e=0;for(let s of this.instruments)for(let n of s.instrumentZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)b(A,o.sourceEnum),b(A,o.modulatorDestination),b(A,o.transformAmount),b(A,o.secondarySourceEnum),b(A,o.transformType),e++}return fe(A,0,10),gA(new oA("imod",A.length,A))}function to(){let t=this.instruments.reduce((o,i)=>i.instrumentZones.length*4+o,4),A=new N(t),e=0,s=0,n=0;for(let o of this.instruments){o.instrumentZoneIndex=e;for(let i of o.instrumentZones)i.zoneID=e,b(A,s),b(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return b(A,s),b(A,n),gA(new oA("ibag",A.length,A))}function so(){let t=this.instruments.length*22+22,A=new N(t),e=0,s=0;for(let n of this.instruments)yA(A,n.instrumentName,20),b(A,e),e+=n.instrumentZones.length,n.instrumentID=s,s++;return yA(A,"EOI",20),b(A,e),gA(new oA("inst",A.length,A))}function no(){let t=4;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>(o.generators=o.generators.filter(i=>i.generatorType!==r.instrument&&i.generatorType!==r.keyRange&&i.generatorType!==r.velRange),(o.velRange.max!==127||o.velRange.min!==0)&&o.generators.unshift({generatorType:r.velRange,generatorValue:o.velRange.max<<8|Math.max(o.velRange.min,0)}),(o.keyRange.max!==127||o.keyRange.min!==0)&&o.generators.unshift({generatorType:r.keyRange,generatorValue:o.keyRange.max<<8|Math.max(o.keyRange.min,0)}),o.isGlobal||o.generators.push({generatorType:r.instrument,generatorValue:this.instruments.indexOf(o.instrument)}),o.generators.length*4+n),0);let A=new N(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.generatorZoneStartIndex=e;for(let o of n.generators)b(A,o.generatorType),b(A,o.generatorValue);e+=n.generators.length}return b(A,0),b(A,0),gA(new oA("pgen",A.length,A))}function oo(){let t=10;for(let s of this.presets)t+=s.presetZones.reduce((n,o)=>o.modulators.length*10+n,0);let A=new N(t),e=0;for(let s of this.presets)for(let n of s.presetZones){n.modulatorZoneStartIndex=e;for(let o of n.modulators)b(A,o.sourceEnum),b(A,o.modulatorDestination),b(A,o.transformAmount),b(A,o.secondarySourceEnum),b(A,o.transformType),e++}return fe(A,0,10),gA(new oA("pmod",A.length,A))}function ro(){let t=this.presets.reduce((o,i)=>i.presetZones.length*4+o,4),A=new N(t),e=0,s=0,n=0;for(let o of this.presets){o.presetZoneStartIndex=e;for(let i of o.presetZones)i.zoneID=e,b(A,s),b(A,n),s+=i.generators.length,n+=i.modulators.length,e++}return b(A,s),b(A,n),gA(new oA("pbag",A.length,A))}function io(){let t=this.presets.length*38+38,A=new N(t),e=0;for(let s of this.presets)yA(A,s.presetName,20),b(A,s.program),b(A,s.bank),b(A,e),V(A,s.library),V(A,s.genre),V(A,s.morphology),e+=s.presetZones.length;return yA(A,"EOP",20),b(A,0),b(A,0),b(A,e),V(A,0),V(A,0),V(A,0),gA(new oA("phdr",A.length,A))}var lr={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ao(t=lr){if(t.compress&&typeof t.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");QA("%cSaving soundfont...",g.info),p(`%cCompression: %c${t?.compress||"false"}%c quality: %c${t?.compressionQuality||"none"}`,g.info,g.recognized,g.info,g.recognized),p("%cWriting INFO...",g.info);let A=[];this.soundFontInfo.ISFT="SpessaSynth",t?.compress&&(this.soundFontInfo.ifil="3.0");for(let[x,G]of Object.entries(this.soundFontInfo))if(x==="ifil"||x==="iver"){let I=parseInt(G.split(".")[0]),rA=parseInt(G.split(".")[1]),Z=new N(4);b(Z,I),b(Z,rA),A.push(gA(new oA(x,4,Z)))}else if(x==="DMOD")A.push(gA(new oA(x,G.length,G)));else{let I=new N(G.length);yA(I,G),A.push(gA(new oA(x,G.length,I)))}let e=cA([new N([73,78,70,79]),...A]),s=gA(new oA("LIST",e.length,e));p("%cWriting SDTA...",g.info);let n=[],o=[],i=$n.call(this,n,o,t?.compress,t?.compressionQuality??.5,t.compressionFunction);p("%cWriting PDTA...",g.info),p("%cWriting SHDR...",g.info);let a=Ao.call(this,n,o);p("%cWriting IGEN...",g.info);let C=jn.call(this);p("%cWriting IMOD...",g.info);let h=eo.call(this);p("%cWriting IBAG...",g.info);let d=to.call(this);p("%cWriting INST...",g.info);let Q=so.call(this),l=no.call(this);p("%cWriting PMOD...",g.info);let c=oo.call(this);p("%cWriting PBAG...",g.info);let f=ro.call(this);p("%cWriting PHDR...",g.info);let y=io.call(this),S=cA([new N([112,100,116,97]),y,f,c,l,Q,d,h,C,a]),w=gA(new oA("LIST",S.length,S));p("%cWriting the output file...",g.info);let H=cA([new N([115,102,98,107]),s,i,w]),R=gA(new oA("RIFF",H.length,H));return p(`%cSaved succesfully! Final file size: %c${R.length}`,g.info,g.recognized),K(),R}var Ue=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(A,e){return this.generators.find(s=>s.generatorType===A)?.generatorValue??e}};var VA=class extends Ue{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},ye=class extends Ue{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var Qr=new Set([r.velRange,r.keyRange,r.instrument,r.exclusiveClass,r.endOper,r.sampleModes,r.startloopAddrsOffset,r.startloopAddrsCoarseOffset,r.endloopAddrsOffset,r.endloopAddrsCoarseOffset,r.startAddrsOffset,r.startAddrsCoarseOffset,r.endAddrOffset,r.endAddrsCoarseOffset,r.initialAttenuation,r.fineTune,r.coarseTune,r.keyNumToVolEnvHold,r.keyNumToVolEnvDecay,r.keyNumToModEnvHold,r.keyNumToModEnvDecay]);function go(t,A=!0){function e(Q,l){Q.push(...l.filter(c=>!Q.find(f=>f.generatorType===c.generatorType)))}function s(Q,l){return{min:Math.max(Q.min,l.min),max:Math.min(Q.max,l.max)}}function n(Q,l){Q.push(...l.filter(c=>!Q.find(f=>P.isIdentical(c,f))))}let o=[],i=[],a=[],C={min:0,max:127},h={min:0,max:127},d=t.presetZones.find(Q=>Q.isGlobal);d&&(i.push(...d.generators),a.push(...d.modulators),C=d.keyRange,h=d.velRange);for(let Q of t.presetZones){if(Q.isGlobal)continue;let l=Q.keyRange;Q.hasKeyRange||(l=C);let c=Q.velRange;Q.hasVelRange||(c=h);let f=Q.generators.map(I=>new T(I.generatorType,I.generatorValue));e(f,i);let y=[...Q.modulators];n(y,a);let S=Q.instrument.instrumentZones,w=[],H=[],R={min:0,max:127},x={min:0,max:127},G=S.find(I=>I.isGlobal);G&&(w.push(...G.generators),H.push(...G.modulators),R=G.keyRange,x=G.velRange);for(let I of S){if(I.isGlobal)continue;let rA=I.keyRange;I.hasKeyRange||(rA=R);let Z=I.velRange;if(I.hasVelRange||(Z=x),rA=s(rA,l),Z=s(Z,c),rA.maxnew T(eA.generatorType,eA.generatorValue));e(AA,w);let $=[...I.modulators];n($,H);let IA=[...$];for(let eA of y){let lA=IA.findIndex(LA=>P.isIdentical(eA,LA));lA!==-1?IA[lA]=IA[lA].sumTransform(eA):IA.push(eA)}let nA=AA.map(eA=>new T(eA.generatorType,eA.generatorValue));for(let eA of f){if(eA.generatorType===r.velRange||eA.generatorType===r.keyRange||eA.generatorType===r.instrument||eA.generatorType===r.endOper||eA.generatorType===r.sampleModes)continue;let lA=AA.findIndex(LA=>LA.generatorType===eA.generatorType);if(lA!==-1){let LA=nA[lA].generatorValue+eA.generatorValue;nA[lA]=new T(eA.generatorType,LA)}else{let LA=J[eA.generatorType].def+eA.generatorValue;nA.push(new T(eA.generatorType,LA))}}nA=nA.filter(eA=>eA.generatorType!==r.sampleID&&eA.generatorType!==r.keyRange&&eA.generatorType!==r.velRange&&eA.generatorType!==r.endOper&&eA.generatorType!==r.instrument&&eA.generatorValue!==J[eA.generatorType].def);let iA=new VA;iA.keyRange=rA,iA.velRange=Z,iA.keyRange.min===0&&iA.keyRange.max===127&&(iA.keyRange.min=-1),iA.velRange.min===0&&iA.velRange.max===127&&(iA.velRange.min=-1),iA.isGlobal=!1,iA.sample=I.sample,iA.generators=nA,iA.modulators=IA,o.push(iA)}}if(A){let Q=new VA;Q.isGlobal=!0;for(let f=0;f<58;f++){if(Qr.has(f))continue;let y={},S=J[f]?.def||0;y[S]=0;for(let w of o){let H=w.generators.find(G=>G.generatorType===f);if(H){let G=H.generatorValue;y[G]===void 0?y[G]=1:y[G]++}else y[S]++;let R;switch(f){default:continue;case r.decayVolEnv:R=r.keyNumToVolEnvDecay;break;case r.holdVolEnv:R=r.keyNumToVolEnvHold;break;case r.decayModEnv:R=r.keyNumToModEnvDecay;break;case r.holdModEnv:R=r.keyNumToModEnvHold}if(w.generators.find(G=>G.generatorType===R)!==void 0){y={};break}}if(Object.keys(y).length>0){let w=Object.entries(y).reduce((R,x)=>R[1]{let x=R.generators.findIndex(G=>G.generatorType===f);x!==-1?R.generators[x].generatorValue===H&&R.generators.splice(x,1):H!==S&&R.generators.push(new T(f,S))})}}let c=o.find(f=>!f.isGlobal).modulators.map(f=>P.copy(f));for(let f of c){let y=!0;for(let S of o){if(S.isGlobal||!y)continue;S.modulators.find(H=>P.isIdentical(H,f))||(y=!1)}if(y===!0){Q.modulators.push(P.copy(f));for(let S of o){let w=S.modulators.find(H=>P.isIdentical(H,f));w.transformAmount===f.transformAmount&&S.modulators.splice(S.modulators.indexOf(w),1)}}}o.splice(0,0,Q)}return o}var Io=20;function at(t,A,e,s,n,o,i){let a=i===0?0:1,C=new N(Io+a*16);V(C,Io),b(C,A),b(C,e);let h=s*.4,d=Math.floor(h*-65536);V(C,d),V(C,2);let Q=o-n,l=0;switch(i){default:case 0:a=0;break;case 1:l=0,a=1;break;case 3:l=1,a=1}return V(C,a),a===1&&(V(C,16),V(C,l),V(C,n),V(C,Q)),tA("wsmp",C)}var v={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},gt=new P({srcEnum:219,dest:r.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),It=new P({srcEnum:221,dest:r.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),Et=new P({srcEnum:129,dest:r.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),Ct=new P({srcEnum:13,dest:r.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var D={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Te=class{source;control;destination;scale;transform;constructor(A,e,s,n,o){this.source=A,this.control=e,this.destination=s,this.scale=n,this.transform=o}writeArticulator(){let A=new N(12);return b(A,this.source),b(A,this.control),b(A,this.destination),b(A,this.transform),V(A,this.scale<<16),A}};function Eo(t,A){if(t)switch(A){default:return;case k.modulationWheel:return v.modulationWheel;case k.mainVolume:return v.volume;case k.pan:return v.pan;case k.expressionController:return v.expression;case k.chorusDepth:return v.chorus;case k.reverbDepth:return v.reverb}else switch(A){default:return;case q.noteOnKeyNum:return v.keyNum;case q.noteOnVelocity:return v.velocity;case q.noController:return v.none;case q.polyPressure:return v.polyPressure;case q.channelPressure:return v.channelPressure;case q.pitchWheel:return v.pitchWheel;case q.pitchWheelRange:return v.pitchWheelRange}}function Co(t,A){switch(t){default:return;case r.initialAttenuation:return{dest:D.gain,amount:-A};case r.fineTune:return D.pitch;case r.pan:return D.pan;case r.keyNum:return D.keyNum;case r.reverbEffectsSend:return D.reverbSend;case r.chorusEffectsSend:return D.chorusSend;case r.freqModLFO:return D.modLfoFreq;case r.delayModLFO:return D.modLfoDelay;case r.delayVibLFO:return D.vibLfoDelay;case r.freqVibLFO:return D.vibLfoFreq;case r.delayVolEnv:return D.volEnvDelay;case r.attackVolEnv:return D.volEnvAttack;case r.holdVolEnv:return D.volEnvHold;case r.decayVolEnv:return D.volEnvDecay;case r.sustainVolEnv:return{dest:D.volEnvSustain,amount:1e3-A};case r.releaseVolEnv:return D.volEnvRelease;case r.delayModEnv:return D.modEnvDelay;case r.attackModEnv:return D.modEnvAttack;case r.holdModEnv:return D.modEnvHold;case r.decayModEnv:return D.modEnvDecay;case r.sustainModEnv:return{dest:D.modEnvSustain,amount:1e3-A};case r.releaseModEnv:return D.modEnvRelease;case r.initialFilterFc:return D.filterCutoff;case r.initialFilterQ:return D.filterQ}}function Bo(t,A){switch(t){default:return;case r.modEnvToFilterFc:return{source:v.modEnv,dest:D.filterCutoff,amt:A,isBipolar:!1};case r.modEnvToPitch:return{source:v.modEnv,dest:D.pitch,amt:A,isBipolar:!1};case r.modLfoToFilterFc:return{source:v.modLfo,dest:D.filterCutoff,amt:A,isBipolar:!0};case r.modLfoToVolume:return{source:v.modLfo,dest:D.gain,amt:A,isBipolar:!0};case r.modLfoToPitch:return{source:v.modLfo,dest:D.pitch,amt:A,isBipolar:!0};case r.vibLfoToPitch:return{source:v.vibratoLfo,dest:D.pitch,amt:A,isBipolar:!0};case r.keyNumToVolEnvHold:return{source:v.keyNum,dest:D.volEnvHold,amt:A,isBipolar:!0};case r.keyNumToVolEnvDecay:return{source:v.keyNum,dest:D.volEnvDecay,amt:A,isBipolar:!0};case r.keyNumToModEnvHold:return{source:v.keyNum,dest:D.modEnvHold,amt:A,isBipolar:!0};case r.keyNumToModEnvDecay:return{source:v.keyNum,dest:D.modEnvDecay,amt:A,isBipolar:!0};case r.scaleTuning:return{source:v.keyNum,dest:D.pitch,amt:A*128,isBipolar:!1}}}function ho(t){let A=Co(t.generatorType,t.generatorValue),e=A,s=0,n=t.generatorValue;A?.amount!==void 0&&(n=A.amount,e=A.dest);let o=Bo(t.generatorType,t.generatorValue);if(o!==void 0)n=o.amt,e=o.dest,s=o.source;else if(e===void 0){U(`Invalid generator type: ${t.generatorType}`);return}return new Te(s,0,e,n,0)}function co(t){if(t.transformType!==0){U("Other transform types are not supported.");return}let A=Eo(t.sourceUsesCC,t.sourceIndex),e=t.sourceCurveType,s=t.sourcePolarity,n=t.sourceDirection;if(A===void 0){U(`Invalid source: ${t.sourceIndex}, CC: ${t.sourceUsesCC}`);return}t.modulatorDestination===r.initialAttenuation&&(n=n===1?0:1);let o=Eo(t.secSrcUsesCC,t.secSrcIndex),i=t.secSrcCurveType,a=t.secSrcPolarity,C=t.secSrcDirection;if(o===void 0){U(`Invalid secondary source: ${t.secSrcIndex}, CC: ${t.secSrcUsesCC}`);return}let h=Co(t.modulatorDestination,t.transformAmount),d=h,Q=t.transformAmount;h?.dest!==void 0&&(d=h.dest,Q=h.amount);let l=Bo(t.modulatorDestination,t.transformAmount);if(l!==void 0)Q=l.amt,o=A,i=e,a=s,C=n,e=uA.linear,s=l.isBipolar?1:0,n=0,A=l.source,d=l.dest;else if(d===void 0){U(`Invalid destination: ${t.modulatorDestination}`);return}let c=0;return c|=i<<4,c|=a<<8,c|=C<<9,c|=e,c|=s<<14,c|=n<<15,new Te(A,o,d,Q,c)}var ur=new Set([r.sampleModes,r.initialAttenuation,r.keyRange,r.velRange,r.sampleID,r.fineTune,r.coarseTune,r.startAddrsOffset,r.startAddrsCoarseOffset,r.endAddrOffset,r.endAddrsCoarseOffset,r.startloopAddrsOffset,r.startloopAddrsCoarseOffset,r.endloopAddrsOffset,r.endloopAddrsCoarseOffset,r.overridingRootKey,r.exclusiveClass]);function Bt(t){for(let o=0;of.generatorType===a);if(C===void 0)continue;let h=i.generatorValue*-128,d=60/128*h,Q=C.generatorValue-d,l=t.generators.indexOf(i),c=t.generators.indexOf(C);t.generators[c]=new T(a,Q,!1),t.generators[l]=new T(i.generatorType,h,!1)}let A=t.generators.reduce((o,i)=>{if(ur.has(i.generatorType))return o;let a=ho(i);return a!==void 0?(o.push(a),p("%cSucceeded converting to DLS Articulator!",g.recognized)):U("Failed converting to DLS Articulator!"),o},[]),e=t.modulators.reduce((o,i)=>{if(P.isIdentical(i,It,!0)||P.isIdentical(i,gt,!0)||P.isIdentical(i,Et,!0)||P.isIdentical(i,Ct,!0))return o;let a=co(i);return a!==void 0?(o.push(a),p("%cSucceeded converting to DLS Articulator!",g.recognized)):U("Failed converting to DLS Articulator!"),o},[]);A.push(...e);let s=new N(8);V(s,8),V(s,A.length);let n=A.map(o=>o.writeArticulator());return tA("art2",cA([s,...n]))}function lo(t,A){let e=new N(12);b(e,Math.max(t.keyRange.min,0)),b(e,t.keyRange.max),b(e,Math.max(t.velRange.min,0)),b(e,t.velRange.max),b(e,0);let s=t.getGeneratorValue(r.exclusiveClass,0);b(e,s),b(e,0);let n=tA("rgnh",e),o=t.getGeneratorValue(r.overridingRootKey,t.sample.samplePitch);t.getGeneratorValue(r.scaleTuning,A.getGeneratorValue(r.scaleTuning,100))===0&&t.keyRange.max-t.keyRange.min===0&&(o=t.keyRange.min);let a=at(t.sample,o,t.getGeneratorValue(r.fineTune,0)+t.getGeneratorValue(r.coarseTune,0)*100+t.sample.samplePitchCorrection,t.getGeneratorValue(r.initialAttenuation,0),t.sample.sampleLoopStartIndex+t.getGeneratorValue(r.startloopAddrsOffset,0)+t.getGeneratorValue(r.startloopAddrsCoarseOffset,0)*32768,t.sample.sampleLoopEndIndex+t.getGeneratorValue(r.endloopAddrsOffset,0)+t.getGeneratorValue(r.endloopAddrsCoarseOffset,0)*32768,t.getGeneratorValue(r.sampleModes,0)),C=new N(12);b(C,0),b(C,0),V(C,1),V(C,this.samples.indexOf(t.sample));let h=tA("wlnk",C),d=new N(0);if(t.modulators.length+t.generators.length>0){let Q=Bt(t);d=tA("lar2",Q,!1,!0)}return tA("rgn2",cA([n,a,h,d]),!1,!0)}function Qo(t){QA(`%cWriting %c${t.presetName}%c...`,g.info,g.recognized,g.info);let A=go(t),e=A.reduce((l,c)=>c.isGlobal?l:l+1,0),s=new N(12);V(s,e);let n=(t.bank&127)<<8;t.bank===128&&(n|=1<<31),V(s,n),V(s,t.program&127);let o=tA("insh",s),i=new N(0),a=A.find(l=>l.isGlobal===!0);if(a){let l=Bt(a);i=tA("lar2",l,!1,!0)}let C=cA(A.reduce((l,c)=>(c.isGlobal||l.push(lo.apply(this,[c,a])),l),[])),h=tA("lrgn",C,!1,!0),d=tA("INAM",ge(t.presetName)),Q=tA("INFO",d,!1,!0);return K(),tA("ins ",cA([o,h,i,Q]),!1,!0)}function uo(){let t=cA(this.presets.map(A=>Qo.apply(this,[A])));return tA("lins",t,!1,!0)}function fo(t){let A=new N(18);b(A,1),b(A,1),V(A,t.sampleRate),V(A,t.sampleRate*2),b(A,2),b(A,16);let e=tA("fmt ",A),s=1;t.sampleLoopStartIndex+Math.abs(t.getAudioData().length-t.sampleLoopEndIndex)<2&&(s=0);let n=at(t,t.samplePitch,t.samplePitchCorrection,0,t.sampleLoopStartIndex,t.sampleLoopEndIndex,s),o=t.getAudioData(),i;if(t.isCompressed){let h=new Int16Array(o.length);for(let d=0;d{let n=fo(s);return A.push(t),t+=n.length,n});return{data:tA("wvpl",cA(e),!1,!0),indexes:A}}function po(){QA("%cSaving DLS...",g.info);let t=new N(4);V(t,this.presets.length);let A=tA("colh",t);QA("%cWriting instruments...",g.info);let e=uo.apply(this);p("%cSuccess!",g.recognized),K(),QA("%cWriting WAVE samples...",g.info);let s=mo.apply(this),n=s.data,o=s.indexes;p("%cSucceeded!",g.recognized),K();let i=new N(8+4*o.length);V(i,8),V(i,o.length);for(let Q of o)V(i,Q);let a=tA("ptbl",i);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let C=[];for(let[Q,l]of Object.entries(this.soundFontInfo))Q!=="ICMT"&&Q!=="INAM"&&Q!=="ICRD"&&Q!=="IENG"&&Q!=="ICOP"&&Q!=="ISFT"&&Q!=="ISBJ"||C.push(tA(Q,ge(l),!0));let h=tA("INFO",cA(C),!1,!0),d=new N(A.length+e.length+a.length+n.length+h.length+4);return yA(d,"DLS "),d.set(cA([A,e,a,n,h]),4),p("%cSaved succesfully!",g.recognized),K(),tA("RIFF",d)}var oe=class t{constructor(A=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=Xe.map(e=>P.copy(e)),A?.presets&&(this.presets.push(...A.presets),this.soundFontInfo=A.info)}static mergeSoundfonts(...A){let e=A.shift(),s=e.presets;for(;A.length;)A.shift().presets.forEach(o=>{s.find(i=>i.bank===o.bank&&i.program===o.program)===void 0&&s.push(o)});return new t({presets:s,info:e.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(A=>{A.useCount<1&&A.instrumentZones.forEach(e=>{e.isGlobal||e.sample.useCount--})}),this.instruments=this.instruments.filter(A=>A.useCount>0),this.samples=this.samples.filter(A=>A.useCount>0)}deleteInstrument(A){if(A.useCount>0)throw new Error(`Cannot delete an instrument that has ${A.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(A),1),A.deleteInstrument(),this.removeUnusedElements()}deletePreset(A){A.deletePreset(),this.presets.splice(this.presets.indexOf(A),1),this.removeUnusedElements()}deleteSample(A){if(A.useCount>0)throw new Error(`Cannot delete sample that has ${A.useCount} usages.`);this.samples.splice(this.samples.indexOf(A),1),this.removeUnusedElements()}setSampleIDOffset(A){this.presets.forEach(e=>e.sampleIDOffset=A)}getPresetNoFallback(A,e,s=!1){let n=this.presets.find(o=>o.bank===A&&o.program===e);if(n)return n;if(s!==!1)return A===128?this.presets.find(o=>o.bank===128):this.presets.find(o=>o.program===e)}getPreset(A,e){let s=this.presets.find(n=>n.bank===A&&n.program===e);return s||(A===128?(s=this.presets.find(n=>n.bank===128&&n.program===e),s||(s=this.presets.find(n=>n.bank===128))):s=this.presets.find(n=>n.program===e&&n.bank!==128),s&&U(`%cPreset ${A}.${e} not found. Replaced with %c${s.presetName} (${s.bank}.${s.program})`,g.warn,g.recognized)),s||(U(`Preset ${e} not found. Defaulting to`,this.presets[0].presetName),s=this.presets[0]),s}getPresetByName(A){let e=this.presets.find(s=>s.presetName===A);return e||(U("Preset not found. Defaulting to:",this.presets[0].presetName),e=this.presets[0]),e}parsingError(A){throw new Error(`SF parsing error: ${A} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};oe.prototype.write=ao;oe.prototype.writeDLS=po;function yo(t){QA("%cLoading instruments...",g.info);for(let A=0;AA.deleteZone()),this.presetZones.length=0}deleteZone(A){this.presetZones[A].deleteZone(),this.presetZones.splice(A,1)}preload(A,e){for(let s=A;s{o.sample.isSampleLoaded||o.sample.getAudioData()})}preloadSpecific(A,e){this.getSamplesAndGenerators(A,e).forEach(s=>{s.sample.isSampleLoaded||s.sample.getAudioData()})}getSamplesAndGenerators(A,e){let s=this.foundSamplesAndGenerators[A][e];if(s)return s;if(this.presetZones.length<1)return[];function n(c,f){return f>=c.min&&f<=c.max}function o(c,f){c.push(...f.filter(y=>!c.find(S=>S.generatorType===y.generatorType)))}function i(c,f){c.push(...f.filter(y=>!c.find(S=>P.isIdentical(y,S))))}let a=[],C=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],h=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],d=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},Q=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(c=>n(c.hasKeyRange?c.keyRange:d,A)&&n(c.hasVelRange?c.velRange:Q,e)&&!c.isGlobal).forEach(c=>{if(c.instrument.instrumentZones.length<1)return;let f=c.generators,y=c.modulators,S=c.instrument.instrumentZones[0],w=S.isGlobal?[...S.generators]:[],H=S.isGlobal?[...S.modulators]:[],R=S.isGlobal?S.keyRange:{min:0,max:127},x=S.isGlobal?S.velRange:{min:0,max:127};c.instrument.instrumentZones.filter(I=>n(I.hasKeyRange?I.keyRange:R,A)&&n(I.hasVelRange?I.velRange:x,e)&&!I.isGlobal).forEach(I=>{let rA=[...I.generators],Z=[...I.modulators];o(f,C),o(rA,w),i(y,h),i(Z,H),i(Z,this.defaultModulators);let AA=[...Z];for(let $=0;$P.isIdentical(IA,iA));nA!==-1?AA[nA]=AA[nA].sumTransform(IA):AA.push(IA)}a.push({instrumentGenerators:rA,presetGenerators:f,modulators:AA,sample:I.sample,sampleID:I.generators.find($=>$.generatorType===r.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[A][e]=a,a}};var De=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(A=>A.useCount++)}removeUseCount(){this._useCount--;for(let A=0;AA.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(A){return this.instrumentZones[A].useCount--,this.instrumentZones[A].useCount<1?(this.deleteZone(A),!0):!1}deleteZone(A){this.instrumentZones[A].deleteZone(),this.instrumentZones.splice(A,1)}};var ht=class extends Se{constructor(A,e){super(Xe),this.program=e&127,this.bank=A>>8&127,A>>31&&(this.bank=128),this.DLSInstrument=new De,this.DLSInstrument.addUseCount();let n=new ye;n.instrument=this.DLSInstrument,this.presetZones=[n]}};function So(t){this.verifyHeader(t,"LIST"),this.verifyText(_(t.chunkData,4),"ins ");let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(z(t.chunkData));let e=A.find(c=>c.header==="insh");if(!e)throw K(),new Error("No instrument header!");let s=F(e.chunkData,4),n=F(e.chunkData,4),o=F(e.chunkData,4),i=new ht(n,o),a="unnamedPreset",C=GA(A,"INFO");if(C){let c=z(C.chunkData);for(;c.header!=="INAM";)c=z(C.chunkData);a=_(c.chunkData,c.chunkData.length).trim()}i.presetName=a,i.DLSInstrument.instrumentName=a,ae(`%cParsing %c"${a}"%c...`,g.info,g.recognized,g.info);let h=GA(A,"lrgn");if(!h)throw K(),new Error("No region list!");let d=new VA;d.isGlobal=!0;let Q=GA(A,"lart"),l=GA(A,"lar2");(l!==void 0||Q!==void 0)&&this.readLart(Q,l,d),d.generators=d.generators.filter(c=>c.generatorValue!==J[c.generatorType].def),d.modulators.find(c=>c.modulatorDestination===r.reverbEffectsSend)===void 0&&d.modulators.push(P.copy(gt)),d.modulators.find(c=>c.modulatorDestination===r.chorusEffectsSend)===void 0&&d.modulators.push(P.copy(It)),i.DLSInstrument.instrumentZones.push(d);for(let c=0;c>10&15;H===uA.linear&&w!==uA.linear&&(H=w);let R=s>>14&1,x=s>>15&1;i===r.initialAttenuation&&n<0&&(x=1),l=OA(H,R,x,a.isCC,a.enum)}let c=s>>4&15,f=s>>8&1,y=s>>9&1,S=OA(c,f,y,Q.isCC,Q.enum);if(C){let w=S;S=l,l=w}return new P({srcEnum:l,secSrcEnum:S,dest:i,transform:0,amt:d})}function Xt(t,A){let e=t.chunkData,s=[],n=[];F(e,4);let o=F(e,4);for(let i=0;i>16;if(a===0&&C===0&&d===0){let c;switch(h){case D.pan:c=new T(r.pan,l);break;case D.gain:c=new T(r.initialAttenuation,-l*10/.4);break;case D.filterCutoff:c=new T(r.initialFilterFc,l);break;case D.filterQ:c=new T(r.initialFilterQ,l);break;case D.modLfoFreq:c=new T(r.freqModLFO,l);break;case D.modLfoDelay:c=new T(r.delayModLFO,l);break;case D.vibLfoFreq:c=new T(r.freqVibLFO,l);break;case D.vibLfoDelay:c=new T(r.delayVibLFO,l);break;case D.volEnvDelay:c=new T(r.delayVolEnv,l);break;case D.volEnvAttack:c=new T(r.attackVolEnv,l);break;case D.volEnvHold:c=new T(r.holdVolEnv,l,!1);break;case D.volEnvDecay:c=new T(r.decayVolEnv,l,!1);break;case D.volEnvRelease:c=new T(r.releaseVolEnv,l);break;case D.volEnvSustain:let f=1e3-l;c=new T(r.sustainVolEnv,f);break;case D.modEnvDelay:c=new T(r.delayModEnv,l);break;case D.modEnvAttack:c=new T(r.attackModEnv,l);break;case D.modEnvHold:c=new T(r.holdModEnv,l,!1);break;case D.modEnvDecay:c=new T(r.decayModEnv,l,!1);break;case D.modEnvRelease:c=new T(r.releaseModEnv,l);break;case D.modEnvSustain:let y=1e3-l;c=new T(r.sustainModEnv,y);break;case D.reverbSend:c=new T(r.reverbEffectsSend,l);break;case D.chorusSend:c=new T(r.chorusEffectsSend,l);break;case D.pitch:let S=Math.floor(l/100),w=Math.floor(l-S*100);c=new T(r.fineTune,w),s.push(new T(r.coarseTune,S));break}c&&s.push(c)}else{let c=!0;if(C===v.none)if(a===v.modLfo&&h===D.pitch)s.push(new T(r.modLfoToPitch,l));else if(a===v.modLfo&&h===D.gain)s.push(new T(r.modLfoToVolume,l));else if(a===v.modLfo&&h===D.filterCutoff)s.push(new T(r.modLfoToFilterFc,l));else if(a===v.vibratoLfo&&h===D.pitch)s.push(new T(r.vibLfoToPitch,l));else if(a===v.modEnv&&h===D.pitch)s.push(new T(r.modEnvToPitch,l));else if(a===v.modEnv&&h===D.filterCutoff)s.push(new T(r.modEnvToFilterFc,l));else if(a===v.keyNum&&h===D.pitch)s.push(new T(r.scaleTuning,l/128));else if(a===v.keyNum&&h===D.volEnvHold){s.push(new T(r.keyNumToVolEnvHold,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.holdVolEnv&&(y.generatorValue+=f)})}else if(a===v.keyNum&&h===D.volEnvDecay){s.push(new T(r.keyNumToVolEnvDecay,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.decayVolEnv&&(y.generatorValue+=f)})}else if(a===v.keyNum&&h===D.modEnvHold){s.push(new T(r.keyNumToModEnvHold,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.holdModEnv&&(y.generatorValue+=f)})}else if(a===v.keyNum&&h===D.modEnvDecay){s.push(new T(r.keyNumToModEnvDecay,l/-128));let f=Math.round(60/128*l);s.forEach(y=>{y.generatorType===r.decayModEnv&&(y.generatorValue+=f)})}else c=!1;else c=!1;if(c===!1){let f=ko(a,C,h,d,l);f?(n.push(f),p("%cSucceeded converting to SF2 Modulator!",g.recognized)):U("Failed converting to SF2 Modulator!")}}}return A&&n.push(P.copy(Et),P.copy(Ct)),{modulators:n,generators:s}}function wo(t,A,e){if(t)for(;t.chunkData.currentIndext.chunkData.currentIndex;)A.push(z(t.chunkData));let e=A.find(Z=>Z.header==="rgnh"),s=F(e.chunkData,2),n=F(e.chunkData,2),o=F(e.chunkData,2),i=F(e.chunkData,2),a=new ct({min:s,max:n},{min:o,max:i});F(e.chunkData,2);let C=F(e.chunkData,2);C!==0&&a.generators.push(new T(r.exclusiveClass,C));let h=GA(A,"lart"),d=GA(A,"lar2");this.readLart(h,d,a),a.isGlobal=!1;let Q=A.find(Z=>Z.header==="wsmp");F(Q.chunkData,4);let l=F(Q.chunkData,2),c=ne(Q.chunkData[Q.chunkData.currentIndex++],Q.chunkData[Q.chunkData.currentIndex++]),y=(F(Q.chunkData,4)|0)/-655360;F(Q.chunkData,4);let S=F(Q.chunkData,4),w,H={start:0,end:0};if(S===0)w=0;else{F(Q.chunkData,4),F(Q.chunkData,4)===0?w=1:w=3,H.start=F(Q.chunkData,4);let AA=F(Q.chunkData,4);H.end=H.start+AA}let R=A.find(Z=>Z.header==="wlnk");if(R===void 0)return;F(R.chunkData,2),F(R.chunkData,2),F(R.chunkData,4);let x=F(R.chunkData,4),G=this.samples[x];if(G===void 0)throw new Error("Invalid sample ID!");let rA=(y||G.sampleDbAttenuation)*10/.4;return a.setWavesample(rA,w,H,l,G,x,c),a}var ke=class{constructor(A,e,s,n,o,i,a,C){this.sampleName=A,this.sampleRate=e,this.samplePitch=s,this.samplePitchCorrection=n,this.sampleLink=o,this.sampleType=i,this.sampleLoopStartIndex=a,this.sampleLoopEndIndex=C,this.isCompressed=(i&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}compressSample(A,e){if(!this.isCompressed)try{this.compressedData=e([this.getAudioData()],1,this.sampleRate,A),this.sampleType|=16,this.isCompressed=!0}catch{U(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let A=new Error("Not implemented");throw A.name="NotImplementedError",A}};var lt=class extends ke{sampleDbAttenuation;sampleData;constructor(A,e,s,n,o,i,a,C){super(A,e,s,n,0,1,o,i),this.sampleData=a,this.sampleDbAttenuation=C}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let A=new Uint8Array(this.sampleData.length*2);for(let e=0;e>8&255}return A}};var Ro={PCM:1,ALAW:6};function mr(t,A){let e=Math.pow(2,A*8-1),s=Math.pow(2,A*8),n,o=!1;A===1?(n=255,o=!0):n=e;let i=t.size/A,a=new Float32Array(i);for(let C=0;C=e&&(h-=s),a[C]=h/n)}return a}function pr(t,A){let e=t.size/A,s=new Float32Array(e);for(let n=0;n>4,C=i&15;a>0&&(C+=16),C=(C<<4)+8,a>1&&(C=C<127?C:-C;s[n]=h/32678}return s}function Go(t){QA("%cLoading Wave samples...",g.recognized);let A=0;for(;t.chunkData.currentIndexG.header==="fmt ");if(!n)throw new Error("No fmt chunk in the wave file!");let o=F(n.chunkData,2),i=F(n.chunkData,2);if(i!==1)throw new Error(`Only mono samples are supported. Fmt reports ${i} channels`);let a=F(n.chunkData,4);F(n.chunkData,4),F(n.chunkData,2);let h=F(n.chunkData,2)/8,d=!1,Q=s.find(G=>G.header==="data");Q||this.parsingError("No data chunk in the WAVE chunk!");let l;switch(o){default:d=!0,l=new Float32Array(Q.size/h);break;case Ro.PCM:l=mr(Q,h);break;case Ro.ALAW:l=pr(Q,h);break}let c=GA(s,"INFO"),f=`Unnamed ${A}`;if(c){let G=z(c.chunkData);for(;G.header!=="INAM"&&c.chunkData.currentIndexG.header==="wsmp");if(x){F(x.chunkData,4),y=F(x.chunkData,2),S=ne(x.chunkData[x.chunkData.currentIndex++],x.chunkData[x.chunkData.currentIndex++]);let G=Math.trunc(S/100);if(y+=G,S-=G*100,R=(F(x.chunkData,4)|0)/-655360,F(x.chunkData,4),F(x.chunkData,4)===1){F(x.chunkData,8),w=F(x.chunkData,4);let Z=F(x.chunkData,4);H=w+Z}}else U("No wsmp chunk in wave... using sane defaults.");d&&console.error(`Failed to load '${f}': Unsupported format: (${o})`),this.samples.push(new lt(f,a,y,S,w,H,l,R)),A++,p(`%cLoaded sample %c${f}`,g.info,g.recognized)}K()}var ee=class extends oe{constructor(A){super(),this.dataArray=new N(A),ae("%cParsing DLS...",g.info),this.dataArray||(K(),this.parsingError("No data provided!"));let e=z(this.dataArray,!1);this.verifyHeader(e,"riff"),this.verifyText(_(this.dataArray,4).toLowerCase(),"dls ");let s=[];for(;this.dataArray.currentIndexC.header==="colh");o||(V(),this.parsingError("No colh chunk!")),this.instrumentAmount=F(o.chunkData,4),p(`%cInstruments amount: %c${this.instrumentAmount}`,g.info,g.recognized);let i=GA(s,"wvpl");i||(V(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(i);let a=GA(s,"lins");a||(V(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(a),this.presets.sort((C,h)=>C.program-h.program+(C.bank-h.bank)),p(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info),V()}verifyHeader(A,e){A.header.toLowerCase()!==e.toLowerCase()&&(V(),this.parsingError(`Invalid DLS chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`))}verifyText(A,e){A.toLowerCase()!==e.toLowerCase()&&(V(),this.parsingError(`FourCC error: Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`))}parsingError(A){throw new Error(`DLS parse error: ${A} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};Ae.prototype.readDLSInstrumentList=yo;Ae.prototype.readDLSInstrument=So;Ae.prototype.readRegion=Fo;Ae.prototype.readLart=wo;Ae.prototype.readDLSSamples=Go;var _t=class extends ke{constructor(A,e,s,n,o,i,a,C,h,d,Q,l,c){super(A,i,a,C,h,d,n-e/2,o-e/2),this.sampleName=A,this.sampleStartIndex=e,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=l,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=Q,this.sampleData=new Float32Array(0),this.isCompressed&&(this.sampleLoopStartIndex+=this.sampleStartIndex/2,this.sampleLoopEndIndex+=this.sampleStartIndex/2,this.sampleLength=99999999),this.isDataRaw=c}getRawData(){let A=this.sampleDataArray;if(this.isCompressed){if(this.compressedData)return this.compressedData;let e=A.currentIndex;return A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e)}else{if(!this.isDataRaw)throw new Error("Writing SF2Pack samples is not supported.");let e=A.currentIndex;return A.slice(e+this.sampleStartIndex,e+this.sampleEndIndex)}}decodeVorbis(){if(this.sampleLength<1)return;let A=this.sampleDataArray,e=A.currentIndex,s=A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e);this.sampleData=new Float32Array(0);try{let n=_A.decode(s.buffer);this.sampleData=n.data[0]}catch(n){throw new Error(`Ogg Vorbis decode error: ${n}`)}}getAudioData(){return this.isSampleLoaded?this.sampleData:this.sampleLength<1?new Float32Array(1):this.isCompressed?(this.decodeVorbis(),this.isSampleLoaded=!0,this.sampleData):this.isDataRaw?this.loadUncompressedData():this.getUncompressedReadyData()}loadUncompressedData(){if(this.isCompressed)return U("Trying to load a compressed sample via loadUncompressedData()... aborting!"),new Float32Array(0);let A=new Float32Array(this.sampleLength/2),e=this.sampleDataArray.currentIndex,s=new Int16Array(this.sampleDataArray.slice(e+this.sampleStartIndex,e+this.sampleEndIndex).buffer);for(let n=0;nt.chunkData.currentIndex;){let o=yr(n,t.chunkData,A,e);s.push(o),n++}return s.length>1&&s.pop(),s}function yr(t,A,e,s){let n=_(A,20),o=F(A,4)*2,i=F(A,4)*2,a=F(A,4),C=F(A,4),h=F(A,4),d=A[A.currentIndex++];d===255&&(d=60);let Q=Js(A[A.currentIndex++]),l=F(A,2),c=F(A,2);return new _t(n,o,i,a,C,h,d,Q,l,c,e,t,s)}var zt=class extends T{constructor(A){super();let e=A.currentIndex;this.generatorType=A[e+1]<<8|A[e],this.generatorValue=ne(A[e+2],A[e+3]),A.currentIndex+=4}};function jt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new zt(t.chunkData));return A.length>1&&A.pop(),A}var $t=class extends De{constructor(A){super(),this.instrumentName=_(A.chunkData,20).trim(),this.instrumentZoneIndex=F(A.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(A,e){this.instrumentZonesAmount=A;for(let s=this.instrumentZoneIndex;st.chunkData.currentIndex;){let s=new $t(t);if(e.length>0){let n=s.instrumentZoneIndex-e[e.length-1].instrumentZoneIndex;e[e.length-1].getInstrumentZones(n,A)}e.push(s)}return e.length>1&&e.pop(),e}var As=class extends OA{constructor(A){super(),this.generatorZoneStartIndex=F(A,2),this.modulatorZoneStartIndex=F(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===r.sampleID);e&&(this.sample=A[e.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===r.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===r.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function No(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new As(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,a=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,a),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getSample(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var es=class extends ye{constructor(A){super(),this.generatorZoneStartIndex=F(A,2),this.modulatorZoneStartIndex=F(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===r.instrument);e&&(this.instrument=A[e.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===r.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===r.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function bo(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new es(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,a=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,a),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getInstrument(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var ts=class extends Se{constructor(A,e){super(e),this.presetName=_(A.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=F(A.chunkData,2),this.bank=F(A.chunkData,2),this.presetZoneStartIndex=F(A.chunkData,2),this.library=F(A.chunkData,4),this.genre=F(A.chunkData,4),this.morphology=F(A.chunkData,4),this.presetZonesAmount=0}getPresetZones(A,e){this.presetZonesAmount=A;for(let s=this.presetZoneStartIndex;st.chunkData.currentIndex;){let n=new ts(t,e);if(s.length>0){let o=n.presetZoneStartIndex-s[s.length-1].presetZoneStartIndex;s[s.length-1].getPresetZones(o,A)}s.push(n)}return s.length>1&&s.pop(),s}var ss=class extends P{constructor(A){super({srcEnum:F(A,2),dest:F(A,2),amt:ne(A[A.currentIndex++],A[A.currentIndex++]),secSrcEnum:F(A,2),transform:F(A,2)})}};function Qt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new ss(t.chunkData));return A}var ut=class extends oe{constructor(A,e=!0){super(),e&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new N(A),ae("%cParsing SoundFont...",g.info),this.dataArray||(V(),this.parsingError("No data provided!"));let s=z(this.dataArray,!1);this.verifyHeader(s,"riff");let n=_(this.dataArray,4).toLowerCase();if(n!=="sfbk"&&n!=="sfpk")throw V(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",i=z(this.dataArray);for(this.verifyHeader(i,"list"),_(i.chunkData,4);i.chunkData.length>i.chunkData.currentIndex;){let $=z(i.chunkData),IA;switch($.header.toLowerCase()){case"ifil":case"iver":IA=`${F($.chunkData,2)}.${F($.chunkData,2)}`,this.soundFontInfo[$.header]=IA;break;case"icmt":IA=_($.chunkData,$.chunkData.length,void 0,!1),this.soundFontInfo[$.header]=IA;break;case"dmod":let nA=Qt($);nA.pop(),IA=`Modulators: ${nA.length}`;let iA=this.defaultModulators;this.defaultModulators=nA,this.defaultModulators.push(...iA.filter(eA=>!this.defaultModulators.find(lA=>P.isIdentical(eA,lA)))),this.soundFontInfo[$.header]=$.chunkData;break;default:IA=_($.chunkData,$.chunkData.length),this.soundFontInfo[$.header]=IA}p(`%c"${$.header}": %c"${IA}"`,g.info,g.recognized)}let a=z(this.dataArray,!1);this.verifyHeader(a,"list"),this.verifyText(_(this.dataArray,4),"sdta"),p("%cVerifying smpl chunk...",g.warn);let C=z(this.dataArray,!1);this.verifyHeader(C,"smpl");let h;if(o){p("%cSF2Pack detected, attempting to decode the smpl chunk...",g.info);try{h=_A.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+a.size-12)).data[0]}catch($){throw V(),new Error(`SF2Pack Ogg Vorbis decode error: ${$}`)}p(`%cDecoded the smpl chunk! Length: %c${h.length}`,g.info,g.value)}else h=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;p(`%cSkipping sample chunk, length: %c${a.size-12}`,g.info,g.value),this.dataArray.currentIndex+=a.size-12,p("%cLoading preset data chunk...",g.warn);let d=z(this.dataArray);this.verifyHeader(d,"list"),_(d.chunkData,4);let Q=z(d.chunkData);this.verifyHeader(Q,"phdr");let l=z(d.chunkData);this.verifyHeader(l,"pbag");let c=z(d.chunkData);this.verifyHeader(c,"pmod");let f=z(d.chunkData);this.verifyHeader(f,"pgen");let y=z(d.chunkData);this.verifyHeader(y,"inst");let S=z(d.chunkData);this.verifyHeader(S,"ibag");let w=z(d.chunkData);this.verifyHeader(w,"imod");let H=z(d.chunkData);this.verifyHeader(H,"igen");let R=z(d.chunkData);this.verifyHeader(R,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...xo(R,h,!o));let x=jt(H),G=Qt(w),I=No(S,x,G,this.samples);this.instruments=Mo(y,I);let rA=jt(f),Z=Qt(c),AA=bo(l,rA,Z,this.instruments);this.presets.push(...Lo(Q,AA,this.defaultModulators)),this.presets.sort(($,IA)=>$.program-IA.program+($.bank-IA.bank)),p(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info),V(),o&&delete this.dataArray}verifyHeader(A,e){A.header.toLowerCase()!==e.toLowerCase()&&(V(),this.parsingError(`Invalid chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`))}verifyText(A,e){A.toLowerCase()!==e.toLowerCase()&&(V(),this.parsingError(`Invalid FourCC: Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function ve(t){let A=t.slice(8,12),e=new N(A);return _(e,4,void 0,!1).toLowerCase()==="dls "?new Ae(t):new ut(t,!1)}function Uo(t,A,e=!1){let s=this.workletProcessorChannels[t];if(s===void 0){U(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(s.lockPreset)return;let n=XA(s),o,i;if(this.overrideSoundfont){let a=n===128?128:n-this.soundfontBankOffset,C=this.overrideSoundfont.getPresetNoFallback(a,A);C?(o=n,i=C,s.presetUsesOverride=!0):(i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1)}else i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1;this.setPreset(t,i),this.callEvent("programchange",{channel:t,program:i.program,bank:o,userCalled:e})}function To(t,A){if(this.overrideSoundfont){let e=t===128?128:t-this.soundfontBankOffset,s=this.overrideSoundfont.getPresetNoFallback(e,A);if(s)return s}return this.soundfontManager.getPreset(t,A)}function vo(t,A){if(!this.workletProcessorChannels[t].lockPreset){delete this.workletProcessorChannels[t].preset,this.workletProcessorChannels[t].preset=A,this.workletProcessorChannels[t].cachedVoices=[];for(let e=0;e<128;e++)this.workletProcessorChannels[t].cachedVoices.push([])}}function Ho(t,A){let e=this.workletProcessorChannels[t];e.lockPreset||e.drumChannel!==A&&(A?(e.channelTransposeKeyShift=0,e.drumChannel=!0,this.setPreset(t,this.getPreset(XA(e),e.preset.program))):(e.drumChannel=!1,this.setPreset(t,this.getPreset(XA(e),e.preset.program))),e.presetUsesOverride=!1,this.callEvent("drumchange",{channel:t,isDrumChannel:e.drumChannel}),this.sendChannelProperties())}function Yo(){let t=this.soundfontManager.getPresetList();this.overrideSoundfont!==void 0&&this.overrideSoundfont.presets.forEach(A=>{let e=A.bank===128?128:A.bank+this.soundfontBankOffset,s=t.find(n=>n.bank===e&&n.program===A.program);s!==void 0?s.presetName=A.presetName:t.push({presetName:A.presetName,bank:e,program:A.program})}),this.callEvent("presetlistchange",t)}function Jo(t=!0,A=!0){this.stopAllChannels(!0),A&&(delete this.overrideSoundfont,this.overrideSoundfont=void 0),this.defaultPreset=this.getPreset(0,0),this.drumPreset=this.getPreset(128,0);for(let e=0;e{this.programChange(s,e.preset.program)}),this.post({messageType:DA.ready,messageData:void 0}),this.sendPresetList(),p("%cSpessaSynth is ready!",g.recognized)}function qo(t,A){this.soundfontBankOffset=A,this.reloadSoundFont(t,!0),this.overrideSoundfont.samples.forEach(e=>e.getAudioData()),this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers())}function Ko(){let A={channelSnapshots:this.workletProcessorChannels.map(e=>({program:e.preset.program,bank:XA(e),lockPreset:e.lockPreset,patchName:e.preset.presetName,midiControllers:e.midiControllers,lockedControllers:e.lockedControllers,customControllers:e.customControllers,channelVibrato:e.channelVibrato,lockVibrato:e.lockGSNRPNParams,channelTransposeKeyShift:e.channelTransposeKeyShift,channelOctaveTuning:e.channelOctaveTuning,keyCentTuning:e.keyCentTuning,velocityOverride:e.velocityOverride,isMuted:e.isMuted,drumChannel:e.drumChannel})),mainVolume:this.midiVolume,pan:this.pan,transposition:this.transposition,system:this.system,interpolation:this.interpolationType,keyMappings:this.keyModifierManager.getMappings()};this.post({messageType:DA.synthesizerSnapshot,messageData:A})}function Vo(t){for(this.system=t.system,this.setMasterGain(t.mainVolume),this.setMasterPan(t.pan),this.transposeAllChannels(t.transposition),this.interpolationType=t.interpolation,this.keyModifierManager.setMappings(t.keyMappings);this.workletProcessorChannels.length{let s=this.workletProcessorChannels[e];this.muteChannel(e,A.isMuted),this.setDrums(e,A.drumChannel),s.midiControllers=A.midiControllers,s.lockedControllers=A.lockedControllers,s.customControllers=A.customControllers,s.channelVibrato=A.channelVibrato,s.lockGSNRPNParams=A.lockVibrato,s.channelTransposeKeyShift=A.channelTransposeKeyShift,s.channelOctaveTuning=A.channelOctaveTuning,s.velocityOverride=A.velocityOverride,s.lockPreset=!1,te(s,A.bank),this.programChange(e,A.program),s.lockPreset=A.lockPreset}),p("%cFinished restoring controllers!",g.info)}var dt=class{constructor(A,e){this.ready=e,this.totalSoundfontOffset=0,this.reloadManager(A)}_assingSampleOffsets(){let A=0;this.soundfontList.forEach(e=>{e.soundfont.setSampleIDOffset(A),A+=e.soundfont.samples.length}),this.totalSoundfontOffset=A}generatePresetList(){this._assingSampleOffsets();let A={};for(let e=this.soundfontList.length-1;e>=0;e--){let s=this.soundfontList[e],n=new Set;for(let o of s.soundfont.presets){let i=`${o.bank+s.bankOffset}-${o.program}`;n.has(i)||(n.add(i),A[i]=o.presetName)}}this.presetList=[];for(let[e,s]of Object.entries(A)){let n=e.split("-");this.presetList.push({presetName:s,program:parseInt(n[1]),bank:parseInt(n[0])})}}handleMessage(A,e){switch(A){case Qe.addNewSoundFont:this.addNewSoundFont(e[0],e[1],e[2]);break;case Qe.reloadSoundFont:this.reloadManager(e);break;case Qe.deleteSoundFont:this.deleteSoundFont(e);break;case Qe.rearrangeSoundFonts:this.rearrangeSoundFonts(e)}}getPresetList(){return this.presetList.slice()}reloadManager(A){let e=ve(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:e}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){U("1 soundfont left. Aborting!");return}let e=this.soundfontList.findIndex(s=>s.id===A);if(e===-1){U(`No soundfont with id of "${A}" found. Aborting!`);return}delete this.soundfontList[e].soundfont.presets,delete this.soundfontList[e].soundfont.instruments,delete this.soundfontList[e].soundfont.samples,this.soundfontList.splice(e,1),this.generatePresetList()}addNewSoundFont(A,e,s){if(this.soundfontList.find(n=>n.id===e)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this.soundfontList.push({id:e,soundfont:ve(A),bankOffset:s}),this.generatePresetList(),this.ready()}rearrangeSoundFonts(A){this.soundfontList.sort((e,s)=>A.indexOf(e.id)-A.indexOf(s.id)),this.generatePresetList()}getPreset(A,e){if(this.soundfontList.length<1)throw new Error("No soundfonts! This should never happen.");for(let s of this.soundfontList){let n=s.soundfont.getPresetNoFallback(A-s.bankOffset,e);if(n!==void 0)return n}if(A!==128){for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.program===e);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}else{for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.bank===128);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}}destroyManager(){this.soundfontList.forEach(A=>{A.soundfont.destroySoundfont()}),delete this.soundfontList}};var ft=class{sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0;isLooping=!1;constructor(A,e,s,n,o,i,a,C){this.sampleData=A,this.playbackStep=e,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=i,this.end=a,this.loopingMode=C,this.isLooping=this.loopingMode===1||this.loopingMode===3}},He=class t{sample;filter=new pe;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new JA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;realKey;constructor(A,e,s,n,o,i,a,C,h,d){this.sample=e,this.generators=h,this.modulatedGenerators=new Int16Array(h),this.modulators=d,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=i,this.targetKey=a,this.realKey=C,this.volumeEnvelope=new PA(A,h[r.sustainVolEnv])}static copy(A,e){let s=A.sample,n=new ft(s.sampleData,s.playbackStep,s.cursor,s.rootKey,s.loopStart,s.loopEnd,s.end,s.loopingMode);return new t(A.volumeEnvelope.sampleRate,n,A.midiNote,A.velocity,A.channelNumber,e,A.targetKey,A.realKey,A.generators,A.modulators.map(o=>P.copy(o)))}};function Oo(t,A,e,s,n,o,i=!1){let a,C=s.cachedVoices[A]?.[e],h=this.keyModifierManager.hasOverridePatch(t,A);if(C!==void 0&&!h)return C.map(l=>He.copy(l,n));let d=!0,Q=s.preset;if(h){d=!1;let l=this.keyModifierManager.getPatch(t,A);Q=this.soundfontManager.getPreset(l.bank,l.program)}return a=Q.getSamplesAndGenerators(A,e).reduce((l,c)=>{if(c.sample.sampleData===void 0)return U(`Discarding invalid sample: ${c.sample.sampleName}`),l;let f=new Int16Array(60);for(let G=0;G<60;G++)f[G]=Ns(G,c.presetGenerators,c.instrumentGenerators);f[r.initialAttenuation]=Math.floor(f[r.initialAttenuation]*.4);let y=c.sample.samplePitch;f[r.overridingRootKey]>-1&&(y=f[r.overridingRootKey]);let S=A;f[r.keyNum]>-1&&(S=f[r.keyNum]);let w=c.sample.sampleLoopStartIndex,H=c.sample.sampleLoopEndIndex,R=f[r.sampleModes],x=new ft(c.sample.getAudioData(),c.sample.sampleRate/sampleRate*Math.pow(2,c.sample.samplePitchCorrection/1200),0,y,w,H,Math.floor(c.sample.sampleData.length)-1,R);return f[r.velocity]>-1&&(e=f[r.velocity]),i&&Ms([{Sample:c.sample.sampleName,Generators:f,Modulators:c.modulators.map(G=>G.debugString()),Velocity:e,TargetKey:S,MidiNote:A,WorkletSample:x}]),l.push(new He(sampleRate,x,A,e,t,n,S,o,f,c.modulators.map(G=>P.copy(G)))),l},[]),d&&(s.cachedVoices[A][e]=a.map(l=>He.copy(l,n))),a}var Sr=4600,Dr=2e3,Zo=Math.PI/2;function Wo(t,A,e,s,n,o){if(isNaN(A[0]))return;let i=(Math.max(-500,Math.min(500,t.modulatedGenerators[r.pan]))+500)/1e3;t.currentPan+=(i-t.currentPan)*this.panSmoothingFactor;let a=this.currentGain,C=Math.cos(Zo*t.currentPan)*a*this.panLeft,h=Math.sin(Zo*t.currentPan)*a*this.panRight,d=this.reverbGain*t.modulatedGenerators[r.reverbEffectsSend]/Sr*a,Q=this.chorusGain*t.modulatedGenerators[r.chorusEffectsSend]/Dr;if(d>0&&!this.oneOutputMode){let l=n[0],c=n[1];for(let f=0;f0&&!this.oneOutputMode){let l=o[0],c=o[1],f=C*Q,y=h*Q;for(let S=0;S0)for(let l=0;l0)for(let l=0;lthis.handleMessage(e.data),A.processorOptions.startRenderingData&&(this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers()),p("%cRendering enabled! Starting render.",g.info),A.processorOptions.startRenderingData.parsedMIDI&&(A.processorOptions.startRenderingData?.loopCount!==void 0?(this.sequencer.loopCount=A.processorOptions.startRenderingData?.loopCount,this.sequencer.loop=!0):this.sequencer.loop=!1,this.sequencer.loadNewSongList([A.processorOptions.startRenderingData.parsedMIDI]))),_A.isInitialized.then(()=>{this.postReady(),p("%cSpessaSynth is ready!",g.recognized)})}get currentGain(){return this.masterGain*this.midiVolume}post(A){this.enableEventSystem&&this.port.postMessage(A)}postReady(){this.enableEventSystem&&this.port.postMessage({messageType:DA.ready,messageData:void 0})}debugMessage(){p({channels:this.workletProcessorChannels,voicesAmount:this.totalVoicesAmount,outputAmount:this._outputsAmount,dumpedSamples:this.workletDumpedSamplesList})}process(A,e){if(!this.alive)return!1;this.processTickCallback&&this.processTickCallback();let s=0;return this.workletProcessorChannels.forEach((n,o)=>{if(n.voices.length<1||n.isMuted)return;let i,a,C,h,d;if(this.oneOutputMode){let l=e[0];i=o%16*2,a=l[i],C=l[i+1]}else i=o%this._outputsAmount+2,a=e[i][0],C=e[i][1],h=e[0],d=e[1];let Q=n.voices;n.voices=[],Q.forEach(l=>{this.renderVoice(n,l,a,C,h,d),l.finished||n.voices.push(l)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}destroyWorkletProcessor(){this.alive=!1,this.workletProcessorChannels.forEach(A=>{delete A.midiControllers,delete A.voices,delete A.sustainedVoices,delete A.cachedVoices,delete A.lockedControllers,delete A.preset,delete A.customControllers}),delete this.workletProcessorChannels,delete this.sequencer.midiData,delete this.sequencer,this.soundfontManager.destroyManager(),delete this.soundfontManager}};K.prototype.renderVoice=Bn;K.prototype.releaseVoice=cn;K.prototype.voiceKilling=hn;K.prototype.getWorkletVoices=Oo;K.prototype.handleMessage=dn;K.prototype.sendChannelProperties=mn;K.prototype.callEvent=fn;K.prototype.systemExclusive=pn;K.prototype.noteOn=Sn;K.prototype.noteOff=kn;K.prototype.polyPressure=vn;K.prototype.killNote=wn;K.prototype.stopAll=Fn;K.prototype.stopAllChannels=Rn;K.prototype.muteChannel=Kn;K.prototype.setVibrato=On;K.prototype.disableAndLockGSNRPN=Vn;K.prototype.dataEntryCoarse=Zn;K.prototype.dataEntryFine=Wn;K.prototype.createWorkletChannel=bs;K.prototype.controllerChange=Yn;K.prototype.channelPressure=Tn;K.prototype.resetAllControllers=Xn;K.prototype.resetControllers=_n;K.prototype.resetParameters=zn;K.prototype.setMasterGain=Pn;K.prototype.setMasterPan=qn;K.prototype.setMIDIVolume=Jn;K.prototype.transposeAllChannels=Gn;K.prototype.transposeChannel=xn;K.prototype.setChannelTuning=Mn;K.prototype.setChannelTuningSemitones=Nn;K.prototype.setMasterTuning=bn;K.prototype.setModulationDepth=Ln;K.prototype.pitchWheel=Un;K.prototype.setOctaveTuning=Hn;K.prototype.programChange=Uo;K.prototype.getPreset=To;K.prototype.setPreset=vo;K.prototype.setDrums=Ho;K.prototype.reloadSoundFont=Po;K.prototype.clearSoundFont=Jo;K.prototype.setEmbeddedSoundFont=qo;K.prototype.sendPresetList=Yo;K.prototype.sendSynthesizerSnapshot=Ko;K.prototype.applySynthesizerSnapshot=Vo;K.prototype.panVoice=Wo;registerProcessor(Ls,K);p("%cProcessor succesfully registered!",g.recognized); +Converted from DLS to SF2 with SpessaSynth`;for(let[C,h]of Object.entries(this.soundFontInfo))p(`%c"${C}": %c"${h}"`,g.info,g.recognized);let o=s.find(C=>C.header==="colh");o||(K(),this.parsingError("No colh chunk!")),this.instrumentAmount=F(o.chunkData,4),p(`%cInstruments amount: %c${this.instrumentAmount}`,g.info,g.recognized);let i=GA(s,"wvpl");i||(K(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(i);let a=GA(s,"lins");a||(K(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(a),this.presets.sort((C,h)=>C.program-h.program+(C.bank-h.bank)),p(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info),K()}verifyHeader(A,e){A.header.toLowerCase()!==e.toLowerCase()&&(K(),this.parsingError(`Invalid DLS chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`))}verifyText(A,e){A.toLowerCase()!==e.toLowerCase()&&(K(),this.parsingError(`FourCC error: Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"`))}parsingError(A){throw new Error(`DLS parse error: ${A} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};ee.prototype.readDLSInstrumentList=yo;ee.prototype.readDLSInstrument=So;ee.prototype.readRegion=Fo;ee.prototype.readLart=wo;ee.prototype.readDLSSamples=Go;var _t=class extends ke{constructor(A,e,s,n,o,i,a,C,h,d,Q,l,c){super(A,i,a,C,h,d,n-e/2,o-e/2),this.sampleName=A,this.sampleStartIndex=e,this.sampleEndIndex=s,this.isSampleLoaded=!1,this.sampleID=l,this.sampleLength=this.sampleEndIndex-this.sampleStartIndex,this.sampleDataArray=Q,this.sampleData=new Float32Array(0),this.isCompressed&&(this.sampleLoopStartIndex+=this.sampleStartIndex/2,this.sampleLoopEndIndex+=this.sampleStartIndex/2,this.sampleLength=99999999),this.isDataRaw=c}getRawData(){let A=this.sampleDataArray;if(this.isCompressed){if(this.compressedData)return this.compressedData;let e=A.currentIndex;return A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e)}else{if(!this.isDataRaw)throw new Error("Writing SF2Pack samples is not supported.");let e=A.currentIndex;return A.slice(e+this.sampleStartIndex,e+this.sampleEndIndex)}}decodeVorbis(){if(this.sampleLength<1)return;let A=this.sampleDataArray,e=A.currentIndex,s=A.slice(this.sampleStartIndex/2+e,this.sampleEndIndex/2+e);this.sampleData=new Float32Array(0);try{let n=zA.decode(s.buffer);this.sampleData=n.data[0]}catch(n){throw new Error(`Ogg Vorbis decode error: ${n}`)}}getAudioData(){return this.isSampleLoaded?this.sampleData:this.sampleLength<1?new Float32Array(1):this.isCompressed?(this.decodeVorbis(),this.isSampleLoaded=!0,this.sampleData):this.isDataRaw?this.loadUncompressedData():this.getUncompressedReadyData()}loadUncompressedData(){if(this.isCompressed)return U("Trying to load a compressed sample via loadUncompressedData()... aborting!"),new Float32Array(0);let A=new Float32Array(this.sampleLength/2),e=this.sampleDataArray.currentIndex,s=new Int16Array(this.sampleDataArray.slice(e+this.sampleStartIndex,e+this.sampleEndIndex).buffer);for(let n=0;nt.chunkData.currentIndex;){let o=yr(n,t.chunkData,A,e);s.push(o),n++}return s.length>1&&s.pop(),s}function yr(t,A,e,s){let n=_(A,20),o=F(A,4)*2,i=F(A,4)*2,a=F(A,4),C=F(A,4),h=F(A,4),d=A[A.currentIndex++];d===255&&(d=60);let Q=Js(A[A.currentIndex++]),l=F(A,2),c=F(A,2);return new _t(n,o,i,a,C,h,d,Q,l,c,e,t,s)}var zt=class extends T{constructor(A){super();let e=A.currentIndex;this.generatorType=A[e+1]<<8|A[e],this.generatorValue=ne(A[e+2],A[e+3]),A.currentIndex+=4}};function jt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new zt(t.chunkData));return A.length>1&&A.pop(),A}var $t=class extends De{constructor(A){super(),this.instrumentName=_(A.chunkData,20).trim(),this.instrumentZoneIndex=F(A.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(A,e){this.instrumentZonesAmount=A;for(let s=this.instrumentZoneIndex;st.chunkData.currentIndex;){let s=new $t(t);if(e.length>0){let n=s.instrumentZoneIndex-e[e.length-1].instrumentZoneIndex;e[e.length-1].getInstrumentZones(n,A)}e.push(s)}return e.length>1&&e.pop(),e}var As=class extends VA{constructor(A){super(),this.generatorZoneStartIndex=F(A,2),this.modulatorZoneStartIndex=F(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===r.sampleID);e&&(this.sample=A[e.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===r.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===r.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function No(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new As(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,a=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,a),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getSample(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var es=class extends ye{constructor(A){super(),this.generatorZoneStartIndex=F(A,2),this.modulatorZoneStartIndex=F(A,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(A,e){this.modulatorZoneSize=A,this.generatorZoneSize=e}getGenerators(A){for(let e=this.generatorZoneStartIndex;es.generatorType===r.instrument);e&&(this.instrument=A[e.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let A=this.generators.find(e=>e.generatorType===r.keyRange);A&&(this.keyRange.min=A.generatorValue&127,this.keyRange.max=A.generatorValue>>8&127)}getVelRange(){let A=this.generators.find(e=>e.generatorType===r.velRange);A&&(this.velRange.min=A.generatorValue&127,this.velRange.max=A.generatorValue>>8&127)}};function bo(t,A,e,s){let n=[];for(;t.chunkData.length>t.chunkData.currentIndex;){let o=new es(t.chunkData);if(n.length>0){let i=o.modulatorZoneStartIndex-n[n.length-1].modulatorZoneStartIndex,a=o.generatorZoneStartIndex-n[n.length-1].generatorZoneStartIndex;n[n.length-1].setZoneSize(i,a),n[n.length-1].getGenerators(A),n[n.length-1].getModulators(e),n[n.length-1].getInstrument(s),n[n.length-1].getKeyRange(),n[n.length-1].getVelRange()}n.push(o)}return n.length>1&&n.pop(),n}var ts=class extends Se{constructor(A,e){super(e),this.presetName=_(A.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=F(A.chunkData,2),this.bank=F(A.chunkData,2),this.presetZoneStartIndex=F(A.chunkData,2),this.library=F(A.chunkData,4),this.genre=F(A.chunkData,4),this.morphology=F(A.chunkData,4),this.presetZonesAmount=0}getPresetZones(A,e){this.presetZonesAmount=A;for(let s=this.presetZoneStartIndex;st.chunkData.currentIndex;){let n=new ts(t,e);if(s.length>0){let o=n.presetZoneStartIndex-s[s.length-1].presetZoneStartIndex;s[s.length-1].getPresetZones(o,A)}s.push(n)}return s.length>1&&s.pop(),s}var ss=class extends P{constructor(A){super({srcEnum:F(A,2),dest:F(A,2),amt:ne(A[A.currentIndex++],A[A.currentIndex++]),secSrcEnum:F(A,2),transform:F(A,2)})}};function Qt(t){let A=[];for(;t.chunkData.length>t.chunkData.currentIndex;)A.push(new ss(t.chunkData));return A}var ut=class extends oe{constructor(A,e=!0){super(),e&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new N(A),ae("%cParsing SoundFont...",g.info),this.dataArray||(K(),this.parsingError("No data provided!"));let s=z(this.dataArray,!1);this.verifyHeader(s,"riff");let n=_(this.dataArray,4).toLowerCase();if(n!=="sfbk"&&n!=="sfpk")throw K(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${n}"`);let o=n==="sfpk",i=z(this.dataArray);for(this.verifyHeader(i,"list"),_(i.chunkData,4);i.chunkData.length>i.chunkData.currentIndex;){let $=z(i.chunkData),IA;switch($.header.toLowerCase()){case"ifil":case"iver":IA=`${F($.chunkData,2)}.${F($.chunkData,2)}`,this.soundFontInfo[$.header]=IA;break;case"icmt":IA=_($.chunkData,$.chunkData.length,void 0,!1),this.soundFontInfo[$.header]=IA;break;case"dmod":let nA=Qt($);nA.pop(),IA=`Modulators: ${nA.length}`;let iA=this.defaultModulators;this.defaultModulators=nA,this.defaultModulators.push(...iA.filter(eA=>!this.defaultModulators.find(lA=>P.isIdentical(eA,lA)))),this.soundFontInfo[$.header]=$.chunkData;break;default:IA=_($.chunkData,$.chunkData.length),this.soundFontInfo[$.header]=IA}p(`%c"${$.header}": %c"${IA}"`,g.info,g.recognized)}let a=z(this.dataArray,!1);this.verifyHeader(a,"list"),this.verifyText(_(this.dataArray,4),"sdta"),p("%cVerifying smpl chunk...",g.warn);let C=z(this.dataArray,!1);this.verifyHeader(C,"smpl");let h;if(o){p("%cSF2Pack detected, attempting to decode the smpl chunk...",g.info);try{h=zA.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+a.size-12)).data[0]}catch($){throw K(),new Error(`SF2Pack Ogg Vorbis decode error: ${$}`)}p(`%cDecoded the smpl chunk! Length: %c${h.length}`,g.info,g.value)}else h=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;p(`%cSkipping sample chunk, length: %c${a.size-12}`,g.info,g.value),this.dataArray.currentIndex+=a.size-12,p("%cLoading preset data chunk...",g.warn);let d=z(this.dataArray);this.verifyHeader(d,"list"),_(d.chunkData,4);let Q=z(d.chunkData);this.verifyHeader(Q,"phdr");let l=z(d.chunkData);this.verifyHeader(l,"pbag");let c=z(d.chunkData);this.verifyHeader(c,"pmod");let f=z(d.chunkData);this.verifyHeader(f,"pgen");let y=z(d.chunkData);this.verifyHeader(y,"inst");let S=z(d.chunkData);this.verifyHeader(S,"ibag");let w=z(d.chunkData);this.verifyHeader(w,"imod");let H=z(d.chunkData);this.verifyHeader(H,"igen");let R=z(d.chunkData);this.verifyHeader(R,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Mo(R,h,!o));let x=jt(H),G=Qt(w),I=No(S,x,G,this.samples);this.instruments=xo(y,I);let rA=jt(f),Z=Qt(c),AA=bo(l,rA,Z,this.instruments);this.presets.push(...Lo(Q,AA,this.defaultModulators)),this.presets.sort(($,IA)=>$.program-IA.program+($.bank-IA.bank)),p(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info,g.recognized,g.info),K(),o&&delete this.dataArray}verifyHeader(A,e){A.header.toLowerCase()!==e.toLowerCase()&&(K(),this.parsingError(`Invalid chunk header! Expected "${e.toLowerCase()}" got "${A.header.toLowerCase()}"`))}verifyText(A,e){A.toLowerCase()!==e.toLowerCase()&&(K(),this.parsingError(`Invalid FourCC: Expected "${e.toLowerCase()}" got "${A.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function ve(t){let A=t.slice(8,12),e=new N(A);return _(e,4,void 0,!1).toLowerCase()==="dls "?new ee(t):new ut(t,!1)}function Uo(t,A,e=!1){let s=this.workletProcessorChannels[t];if(s===void 0){U(`Trying to access channel ${t} which does not exist... ignoring!`);return}if(s.lockPreset)return;let n=XA(s),o,i;if(this.overrideSoundfont){let a=n===128?128:n-this.soundfontBankOffset,C=this.overrideSoundfont.getPresetNoFallback(a,A);C?(o=n,i=C,s.presetUsesOverride=!0):(i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1)}else i=this.soundfontManager.getPreset(n,A),o=i.bank,s.presetUsesOverride=!1;this.setPreset(t,i),this.callEvent("programchange",{channel:t,program:i.program,bank:o,userCalled:e})}function To(t,A){if(this.overrideSoundfont){let e=t===128?128:t-this.soundfontBankOffset,s=this.overrideSoundfont.getPresetNoFallback(e,A);if(s)return s}return this.soundfontManager.getPreset(t,A)}function vo(t,A){if(!this.workletProcessorChannels[t].lockPreset){delete this.workletProcessorChannels[t].preset,this.workletProcessorChannels[t].preset=A,this.workletProcessorChannels[t].cachedVoices=[];for(let e=0;e<128;e++)this.workletProcessorChannels[t].cachedVoices.push([])}}function Ho(t,A){let e=this.workletProcessorChannels[t];e.lockPreset||e.drumChannel!==A&&(A?(e.channelTransposeKeyShift=0,e.drumChannel=!0,this.setPreset(t,this.getPreset(XA(e),e.preset.program))):(e.drumChannel=!1,this.setPreset(t,this.getPreset(XA(e),e.preset.program))),e.presetUsesOverride=!1,this.callEvent("drumchange",{channel:t,isDrumChannel:e.drumChannel}),this.sendChannelProperties())}function Yo(){let t=this.soundfontManager.getPresetList();this.overrideSoundfont!==void 0&&this.overrideSoundfont.presets.forEach(A=>{let e=A.bank===128?128:A.bank+this.soundfontBankOffset,s=t.find(n=>n.bank===e&&n.program===A.program);s!==void 0?s.presetName=A.presetName:t.push({presetName:A.presetName,bank:e,program:A.program})}),this.callEvent("presetlistchange",t)}function Jo(t=!0,A=!0){this.stopAllChannels(!0),A&&(delete this.overrideSoundfont,this.overrideSoundfont=void 0),this.defaultPreset=this.getPreset(0,0),this.drumPreset=this.getPreset(128,0);for(let e=0;e{this.programChange(s,e.preset.program)}),this.post({messageType:DA.ready,messageData:void 0}),this.sendPresetList(),p("%cSpessaSynth is ready!",g.recognized)}function qo(t,A){this.soundfontBankOffset=A,this.reloadSoundFont(t,!0),this.overrideSoundfont.samples.forEach(e=>e.getAudioData()),this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers())}function Oo(){let A={channelSnapshots:this.workletProcessorChannels.map(e=>({program:e.preset.program,bank:XA(e),lockPreset:e.lockPreset,patchName:e.preset.presetName,midiControllers:e.midiControllers,lockedControllers:e.lockedControllers,customControllers:e.customControllers,channelVibrato:e.channelVibrato,lockVibrato:e.lockGSNRPNParams,channelTransposeKeyShift:e.channelTransposeKeyShift,channelOctaveTuning:e.channelOctaveTuning,keyCentTuning:e.keyCentTuning,velocityOverride:e.velocityOverride,isMuted:e.isMuted,drumChannel:e.drumChannel})),mainVolume:this.midiVolume,pan:this.pan,transposition:this.transposition,system:this.system,interpolation:this.interpolationType,keyMappings:this.keyModifierManager.getMappings()};this.post({messageType:DA.synthesizerSnapshot,messageData:A})}function Ko(t){for(this.system=t.system,this.setMasterGain(t.mainVolume),this.setMasterPan(t.pan),this.transposeAllChannels(t.transposition),this.interpolationType=t.interpolation,this.keyModifierManager.setMappings(t.keyMappings);this.workletProcessorChannels.length{let s=this.workletProcessorChannels[e];this.muteChannel(e,A.isMuted),this.setDrums(e,A.drumChannel),s.midiControllers=A.midiControllers,s.lockedControllers=A.lockedControllers,s.customControllers=A.customControllers,s.channelVibrato=A.channelVibrato,s.lockGSNRPNParams=A.lockVibrato,s.channelTransposeKeyShift=A.channelTransposeKeyShift,s.channelOctaveTuning=A.channelOctaveTuning,s.velocityOverride=A.velocityOverride,s.lockPreset=!1,se(s,A.bank),this.programChange(e,A.program),s.lockPreset=A.lockPreset}),p("%cFinished restoring controllers!",g.info)}var dt=class{constructor(A,e){this.ready=e,this.totalSoundfontOffset=0,this.reloadManager(A)}_assingSampleOffsets(){let A=0;this.soundfontList.forEach(e=>{e.soundfont.setSampleIDOffset(A),A+=e.soundfont.samples.length}),this.totalSoundfontOffset=A}generatePresetList(){this._assingSampleOffsets();let A={};for(let e=this.soundfontList.length-1;e>=0;e--){let s=this.soundfontList[e],n=new Set;for(let o of s.soundfont.presets){let i=`${o.bank+s.bankOffset}-${o.program}`;n.has(i)||(n.add(i),A[i]=o.presetName)}}this.presetList=[];for(let[e,s]of Object.entries(A)){let n=e.split("-");this.presetList.push({presetName:s,program:parseInt(n[1]),bank:parseInt(n[0])})}}handleMessage(A,e){switch(A){case ue.addNewSoundFont:this.addNewSoundFont(e[0],e[1],e[2]);break;case ue.reloadSoundFont:this.reloadManager(e);break;case ue.deleteSoundFont:this.deleteSoundFont(e);break;case ue.rearrangeSoundFonts:this.rearrangeSoundFonts(e)}}getPresetList(){return this.presetList.slice()}reloadManager(A){let e=ve(A);this.soundfontList=[],this.soundfontList.push({id:"main",bankOffset:0,soundfont:e}),this.generatePresetList(),this.ready()}deleteSoundFont(A){if(this.soundfontList.length===0){U("1 soundfont left. Aborting!");return}let e=this.soundfontList.findIndex(s=>s.id===A);if(e===-1){U(`No soundfont with id of "${A}" found. Aborting!`);return}delete this.soundfontList[e].soundfont.presets,delete this.soundfontList[e].soundfont.instruments,delete this.soundfontList[e].soundfont.samples,this.soundfontList.splice(e,1),this.generatePresetList()}addNewSoundFont(A,e,s){if(this.soundfontList.find(n=>n.id===e)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this.soundfontList.push({id:e,soundfont:ve(A),bankOffset:s}),this.generatePresetList(),this.ready()}rearrangeSoundFonts(A){this.soundfontList.sort((e,s)=>A.indexOf(e.id)-A.indexOf(s.id)),this.generatePresetList()}getPreset(A,e){if(this.soundfontList.length<1)throw new Error("No soundfonts! This should never happen.");for(let s of this.soundfontList){let n=s.soundfont.getPresetNoFallback(A-s.bankOffset,e);if(n!==void 0)return n}if(A!==128){for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.program===e);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}else{for(let s of this.soundfontList){let n=s.soundfont.presets.find(o=>o.bank===128);if(n)return n}return this.soundfontList[0].soundfont.presets[0]}}destroyManager(){this.soundfontList.forEach(A=>{A.soundfont.destroySoundfont()}),delete this.soundfontList}};var ft=class{sampleData;playbackStep=0;cursor=0;rootKey=0;loopStart=0;loopEnd=0;end=0;loopingMode=0;isLooping=!1;constructor(A,e,s,n,o,i,a,C){this.sampleData=A,this.playbackStep=e,this.cursor=s,this.rootKey=n,this.loopStart=o,this.loopEnd=i,this.end=a,this.loopingMode=C,this.isLooping=this.loopingMode===1||this.loopingMode===3}},He=class t{sample;filter=new pe;generators;modulators=[];modulatedGenerators;finished=!1;isInRelease=!1;channelNumber=0;velocity=0;midiNote=0;pressure=0;targetKey=0;modulationEnvelope=new JA;volumeEnvelope;startTime=0;releaseStartTime=1/0;currentTuningCents=0;currentTuningCalculated=1;currentPan=.5;realKey;constructor(A,e,s,n,o,i,a,C,h,d){this.sample=e,this.generators=h,this.modulatedGenerators=new Int16Array(h),this.modulators=d,this.velocity=n,this.midiNote=s,this.channelNumber=o,this.startTime=i,this.targetKey=a,this.realKey=C,this.volumeEnvelope=new PA(A,h[r.sustainVolEnv])}static copy(A,e){let s=A.sample,n=new ft(s.sampleData,s.playbackStep,s.cursor,s.rootKey,s.loopStart,s.loopEnd,s.end,s.loopingMode);return new t(A.volumeEnvelope.sampleRate,n,A.midiNote,A.velocity,A.channelNumber,e,A.targetKey,A.realKey,A.generators,A.modulators.map(o=>P.copy(o)))}};function Vo(t,A,e,s,n,o,i=!1){let a,C=s.cachedVoices[A]?.[e],h=this.keyModifierManager.hasOverridePatch(t,A);if(C!==void 0&&!h)return C.map(l=>He.copy(l,n));let d=!0,Q=s.preset;if(h){d=!1;let l=this.keyModifierManager.getPatch(t,A);Q=this.soundfontManager.getPreset(l.bank,l.program)}return a=Q.getSamplesAndGenerators(A,e).reduce((l,c)=>{if(c.sample.sampleData===void 0)return U(`Discarding invalid sample: ${c.sample.sampleName}`),l;let f=new Int16Array(60);for(let G=0;G<60;G++)f[G]=Ns(G,c.presetGenerators,c.instrumentGenerators);f[r.initialAttenuation]=Math.floor(f[r.initialAttenuation]*.4);let y=c.sample.samplePitch;f[r.overridingRootKey]>-1&&(y=f[r.overridingRootKey]);let S=A;f[r.keyNum]>-1&&(S=f[r.keyNum]);let w=c.sample.sampleLoopStartIndex,H=c.sample.sampleLoopEndIndex,R=f[r.sampleModes],x=new ft(c.sample.getAudioData(),c.sample.sampleRate/sampleRate*Math.pow(2,c.sample.samplePitchCorrection/1200),0,y,w,H,Math.floor(c.sample.sampleData.length)-1,R);return f[r.velocity]>-1&&(e=f[r.velocity]),i&&xs([{Sample:c.sample.sampleName,Generators:f,Modulators:c.modulators.map(G=>G.debugString()),Velocity:e,TargetKey:S,MidiNote:A,WorkletSample:x}]),l.push(new He(sampleRate,x,A,e,t,n,S,o,f,c.modulators.map(G=>P.copy(G)))),l},[]),d&&(s.cachedVoices[A][e]=a.map(l=>He.copy(l,n))),a}var Sr=4600,Dr=2e3,Zo=Math.PI/2;function Wo(t,A,e,s,n,o){if(isNaN(A[0]))return;let i=(Math.max(-500,Math.min(500,t.modulatedGenerators[r.pan]))+500)/1e3;t.currentPan+=(i-t.currentPan)*this.panSmoothingFactor;let a=this.currentGain,C=Math.cos(Zo*t.currentPan)*a*this.panLeft,h=Math.sin(Zo*t.currentPan)*a*this.panRight,d=this.reverbGain*t.modulatedGenerators[r.reverbEffectsSend]/Sr*a,Q=this.chorusGain*t.modulatedGenerators[r.chorusEffectsSend]/Dr;if(d>0&&!this.oneOutputMode){let l=n[0],c=n[1];for(let f=0;f0&&!this.oneOutputMode){let l=o[0],c=o[1],f=C*Q,y=h*Q;for(let S=0;S0)for(let l=0;l0)for(let l=0;lthis.handleMessage(e.data),A.processorOptions.startRenderingData&&(this._snapshot!==void 0&&(this.applySynthesizerSnapshot(this._snapshot),this.resetAllControllers()),p("%cRendering enabled! Starting render.",g.info),A.processorOptions.startRenderingData.parsedMIDI&&(A.processorOptions.startRenderingData?.loopCount!==void 0?(this.sequencer.loopCount=A.processorOptions.startRenderingData?.loopCount,this.sequencer.loop=!0):this.sequencer.loop=!1,this.sequencer.loadNewSongList([A.processorOptions.startRenderingData.parsedMIDI]))),zA.isInitialized.then(()=>{this.postReady(),p("%cSpessaSynth is ready!",g.recognized)})}get currentGain(){return this.masterGain*this.midiVolume}post(A){this.enableEventSystem&&this.port.postMessage(A)}postReady(){this.enableEventSystem&&this.port.postMessage({messageType:DA.ready,messageData:void 0})}debugMessage(){p({channels:this.workletProcessorChannels,voicesAmount:this.totalVoicesAmount,outputAmount:this._outputsAmount,dumpedSamples:this.workletDumpedSamplesList})}process(A,e){if(!this.alive)return!1;this.processTickCallback&&this.processTickCallback();let s=0;return this.workletProcessorChannels.forEach((n,o)=>{if(n.voices.length<1||n.isMuted)return;let i,a,C,h,d;if(this.oneOutputMode){let l=e[0];i=o%16*2,a=l[i],C=l[i+1]}else i=o%this._outputsAmount+2,a=e[i][0],C=e[i][1],h=e[0],d=e[1];let Q=n.voices;n.voices=[],Q.forEach(l=>{this.renderVoice(n,l,a,C,h,d),l.finished||n.voices.push(l)}),s+=n.voices.length}),s!==this.totalVoicesAmount&&(this.totalVoicesAmount=s,this.sendChannelProperties()),!0}destroyWorkletProcessor(){this.alive=!1,this.workletProcessorChannels.forEach(A=>{delete A.midiControllers,delete A.voices,delete A.sustainedVoices,delete A.cachedVoices,delete A.lockedControllers,delete A.preset,delete A.customControllers}),delete this.workletProcessorChannels,delete this.sequencer.midiData,delete this.sequencer,this.soundfontManager.destroyManager(),delete this.soundfontManager}};O.prototype.renderVoice=Bn;O.prototype.releaseVoice=cn;O.prototype.voiceKilling=hn;O.prototype.getWorkletVoices=Vo;O.prototype.handleMessage=dn;O.prototype.sendChannelProperties=mn;O.prototype.callEvent=fn;O.prototype.systemExclusive=pn;O.prototype.noteOn=Sn;O.prototype.noteOff=kn;O.prototype.polyPressure=vn;O.prototype.killNote=wn;O.prototype.stopAll=Fn;O.prototype.stopAllChannels=Rn;O.prototype.muteChannel=On;O.prototype.setVibrato=Vn;O.prototype.disableAndLockGSNRPN=Kn;O.prototype.dataEntryCoarse=Zn;O.prototype.dataEntryFine=Wn;O.prototype.createWorkletChannel=bs;O.prototype.controllerChange=Yn;O.prototype.channelPressure=Tn;O.prototype.resetAllControllers=Xn;O.prototype.resetControllers=_n;O.prototype.resetParameters=zn;O.prototype.setMasterGain=Pn;O.prototype.setMasterPan=qn;O.prototype.setMIDIVolume=Jn;O.prototype.transposeAllChannels=Gn;O.prototype.transposeChannel=Mn;O.prototype.setChannelTuning=xn;O.prototype.setChannelTuningSemitones=Nn;O.prototype.setMasterTuning=bn;O.prototype.setModulationDepth=Ln;O.prototype.pitchWheel=Un;O.prototype.setOctaveTuning=Hn;O.prototype.programChange=Uo;O.prototype.getPreset=To;O.prototype.setPreset=vo;O.prototype.setDrums=Ho;O.prototype.reloadSoundFont=Po;O.prototype.clearSoundFont=Jo;O.prototype.setEmbeddedSoundFont=qo;O.prototype.sendPresetList=Yo;O.prototype.sendSynthesizerSnapshot=Oo;O.prototype.applySynthesizerSnapshot=Ko;O.prototype.panVoice=Wo;registerProcessor(Ls,O);p("%cProcessor succesfully registered!",g.recognized); diff --git a/src/website/js/main/local_main.js b/src/website/js/main/local_main.js index 53314d3a..0956cf8f 100644 --- a/src/website/js/main/local_main.js +++ b/src/website/js/main/local_main.js @@ -185,6 +185,7 @@ async function replaceFont(fontName) window.manager.seq.currentTime -= 0.1; } } + titleMessage.innerText = window.manager.localeManager.getLocaleString("locale.titleMessage"); synthReady = true; } @@ -231,6 +232,7 @@ document.body.onclick = async () => await manager.ready; manager.synth.setLogLevel(true, true, true, true); synthReady = true; + titleMessage.innerText = window.manager.localeManager.getLocaleString("locale.titleMessage"); } } document.body.onclick = null; diff --git a/src/website/js/sequencer_ui/lyrics.js b/src/website/js/sequencer_ui/lyrics.js index cfd610fa..517273b2 100644 --- a/src/website/js/sequencer_ui/lyrics.js +++ b/src/website/js/sequencer_ui/lyrics.js @@ -11,6 +11,7 @@ export function createLyrics() /** * @type {{ * mainButton: HTMLDivElement, + * mainDiv: HTMLDivElement, * titleWrapper: HTMLDivElement, * title: HTMLHeadingElement, * text: { diff --git a/src/website/js/sequencer_ui/title_and_media_status.js b/src/website/js/sequencer_ui/title_and_media_status.js index bc0acd11..21649d6a 100644 --- a/src/website/js/sequencer_ui/title_and_media_status.js +++ b/src/website/js/sequencer_ui/title_and_media_status.js @@ -64,8 +64,15 @@ export function updateTitleAndMediaStatus(cleanOtherTextEvents = true) } else { - const text = this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/, ""); - this.currentSongTitle = formatTitle(text); + if (this.seq.midiData.midiNameUsesFileName) + { + this.currentSongTitle = formatTitle(this.seq.midiData.fileName); + } + else + { + const text = this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/, ""); + this.currentSongTitle = formatTitle(text); + } } if (this.seq.midiData) { @@ -104,6 +111,5 @@ export function updateTitleAndMediaStatus(cleanOtherTextEvents = true) } catch (e) { - } } \ No newline at end of file diff --git a/src/website/js/synthesizer_ui/methods/synthui_selector.js b/src/website/js/synthesizer_ui/methods/synthui_selector.js index 51480565..e853bdb7 100644 --- a/src/website/js/synthesizer_ui/methods/synthui_selector.js +++ b/src/website/js/synthesizer_ui/methods/synthui_selector.js @@ -161,7 +161,7 @@ export class Selector e.stopPropagation(); const text = searchInput.value; const filtered = this.elements.filter(e => e.stringified.search(new RegExp(text, "i")) >= 0); - if (filtered.length === this.elements.length) + if (filtered.length === this.elements.length || filtered.length === 0) { return; } diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index cddf3f1d..120fc76a 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,4 +1,4 @@ -var kE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var K5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((d,p)=>d+p.length,0),A=new K5(i),c=0;for(let d of n)A.set(d,c),c+=d.length;return A}function v$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function WC(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var Z3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function hy(n){let i=n&240,A=n&15,c=-1,d=n;return i>=128&&i<=224&&(c=A,d=i),{status:d,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var SE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}},this.timeDelay=0}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(c=>c(A))},this.timeDelay*1e3):Object.values(this.events[i]).forEach(c=>c(A)))}};var Yr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},bp=class{constructor(i,A=Yr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let d=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],U=[],Z=A.oscillatorFrequency,O=A.defaultDelay;for(let e0=0;e0{let p=await d.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var B4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},Dp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,k$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var _D=!1,xD=!0,ZC=!1;function _5(...n){_D&&console.info(...n)}function I9(...n){xD&&console.warn(...n)}function R7(...n){ZC&&console.group(...n)}function y8(...n){ZC&&console.groupCollapsed(...n)}function u9(){ZC&&console.groupEnd()}var Iy={chorusEnabled:!0,chorusConfig:Yr,reverbEnabled:!0,reverbImpulseResponse:void 0};var _p={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var bE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(d=>d.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(_p.addNewSoundFont,[i,A,c]),await new Promise(d=>this.synth.resolveWhenReady=d),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){I9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){I9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(_p.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(_p.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(_p.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var I0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},W6=[];W6[I0.startAddrsOffset]={min:0,max:32768,def:0};W6[I0.endAddrOffset]={min:-32768,max:32768,def:0};W6[I0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[I0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[I0.initialFilterFc]={min:1500,max:13500,def:13500};W6[I0.initialFilterQ]={min:0,max:960,def:0};W6[I0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.modLfoToVolume]={min:-960,max:960,def:0};W6[I0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[I0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[I0.pan]={min:-500,max:500,def:0};W6[I0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqModLFO]={min:-16e3,max:4500,def:0};W6[I0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[I0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[I0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[I0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainModEnv]={min:0,max:1e3,def:0};W6[I0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[I0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainVolEnv]={min:0,max:1440,def:0};W6[I0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[I0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.keyNum]={min:-1,max:127,def:-1};W6[I0.velocity]={min:-1,max:127,def:-1};W6[I0.initialAttenuation]={min:-250,max:1440,def:0};W6[I0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.coarseTune]={min:-120,max:120,def:0};W6[I0.fineTune]={min:-12700,max:12700,def:0};W6[I0.scaleTuning]={min:0,max:1200,def:100};W6[I0.exclusiveClass]={min:0,max:99999,def:0};W6[I0.overridingRootKey]={min:-1,max:127,def:-1};W6[I0.sampleModes]={min:0,max:3,def:0};var d6=class{generatorType=I0.INVALID;generatorValue=0;constructor(i=I0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let d=W6[i];d!==void 0&&(this.generatorValue=Math.max(d.min,Math.min(d.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},er={linear:0,concave:1,convex:2,switch:3},l9=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=I0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===I0.reverbEffectsSend||this.modulatorDestination===I0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A,c=!1){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType&&(!c||i.transformAmount===A.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(d,p){return Object.keys(d).find(U=>d[U]===p)}let A=i(er,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(er,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: +var bE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var K5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((d,p)=>d+p.length,0),A=new K5(i),c=0;for(let d of n)A.set(d,c),c+=d.length;return A}function v$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function DE(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var v3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function fy(n){let i=n&240,A=n&15,c=-1,d=n;return i>=128&&i<=224&&(c=A,d=i),{status:d,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var _E=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}},this.timeDelay=0}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(c=>c(A))},this.timeDelay*1e3):Object.values(this.events[i]).forEach(c=>c(A)))}};var Vr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},Dp=class{constructor(i,A=Vr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let d=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],T=[],H=A.oscillatorFrequency,O=A.defaultDelay;for(let e0=0;e0{let p=await d.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var B4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},_p={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,k$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var xD=!1,LD=!0,XC=!1;function _5(...n){xD&&console.info(...n)}function I9(...n){LD&&console.warn(...n)}function R7(...n){XC&&console.group(...n)}function y8(...n){XC&&console.groupCollapsed(...n)}function u9(){XC&&console.groupEnd()}var my={chorusEnabled:!0,chorusConfig:Vr,reverbEnabled:!0,reverbImpulseResponse:void 0};var xp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var xE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(d=>d.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(xp.addNewSoundFont,[i,A,c]),await new Promise(d=>this.synth.resolveWhenReady=d),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){I9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){I9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(xp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(xp.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(xp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var I0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},W6=[];W6[I0.startAddrsOffset]={min:0,max:32768,def:0};W6[I0.endAddrOffset]={min:-32768,max:32768,def:0};W6[I0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[I0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[I0.initialFilterFc]={min:1500,max:13500,def:13500};W6[I0.initialFilterQ]={min:0,max:960,def:0};W6[I0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.modLfoToVolume]={min:-960,max:960,def:0};W6[I0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[I0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[I0.pan]={min:-500,max:500,def:0};W6[I0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqModLFO]={min:-16e3,max:4500,def:0};W6[I0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[I0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[I0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[I0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainModEnv]={min:0,max:1e3,def:0};W6[I0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[I0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainVolEnv]={min:0,max:1440,def:0};W6[I0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[I0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.keyNum]={min:-1,max:127,def:-1};W6[I0.velocity]={min:-1,max:127,def:-1};W6[I0.initialAttenuation]={min:-250,max:1440,def:0};W6[I0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.coarseTune]={min:-120,max:120,def:0};W6[I0.fineTune]={min:-12700,max:12700,def:0};W6[I0.scaleTuning]={min:0,max:1200,def:100};W6[I0.exclusiveClass]={min:0,max:99999,def:0};W6[I0.overridingRootKey]={min:-1,max:127,def:-1};W6[I0.sampleModes]={min:0,max:3,def:0};var d6=class{generatorType=I0.INVALID;generatorValue=0;constructor(i=I0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let d=W6[i];d!==void 0&&(this.generatorValue=Math.max(d.min,Math.min(d.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},er={linear:0,concave:1,convex:2,switch:3},l9=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=I0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===I0.reverbEffectsSend||this.modulatorDestination===I0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A,c=!1){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType&&(!c||i.transformAmount===A.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(d,p){return Object.keys(d).find(T=>d[T]===p)}let A=i(er,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(er,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: Source: ${A} Secondary source: ${c} Destination: ${i(I0,this.modulatorDestination)} @@ -6,12 +6,12 @@ var kE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( Transform type: ${this.transformType} -`}},jC=960,XC=er.concave;function Vr(n,i,A,c,d){return n<<10|i<<9|A<<8|c<<7|d}var DE=[new l9({srcEnum:Vr(XC,0,1,0,q4.noteOnVelocity),dest:I0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(XC,0,1,1,$3.mainVolume),dest:I0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:I0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:I0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(XC,0,1,1,$3.expressionController),dest:I0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(er.linear,0,0,0,q4.polyPressure),dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(er.linear,0,0,1,$3.tremoloDepth),dest:I0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(er.linear,1,0,1,$3.releaseTime),dest:I0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(er.linear,1,0,1,$3.brightness),dest:I0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(er.linear,1,0,1,$3.timbreHarmonicContent),dest:I0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var S$=128,my=147,LD=new Int16Array(my).fill(0),A7=(n,i)=>LD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(S$+q4.pitchWheel,64);A7(S$+q4.pitchWheelRange,2);var _E={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},py=Object.keys(_E).length,MD=new Float32Array(py);MD[_E.modulationMultiplier]=1;var Ey={velocityOverride:128};var xE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},LE={addMapping:0,deleteMapping:1,clearMappings:2};var ME=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let d=c?.velocity??-1,p=c?.patch?.program??-1,U=c?.patch?.bank??-1,Z=new xE(d,U,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=Z,this._sendToWorklet(LE.addMapping,[i,A,Z])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(LE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(LE.clearMappings,void 0),this._keyModifiers=[]}};var RD="spessasynth-worklet-system",eB=350,F7=9,FD=16;var Iu=class{constructor(i,A,c=!0,d=void 0,p=Iy){_5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let U=d?.oneOutput===!0;this.eventHandler=new SE,this._voiceCap=eB,this._destroyed=!1,this._outputsAmount=FD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(e0=>this.resolveWhenReady=e0),this.channelProperties=[];for(let e0=0;e0this.handleMessage(e0.data),this.soundfontManager=new bE(this),this.keyModifierManager=new ME(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!U&&(this.reverbProcessor=fy(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!U&&(this.chorusProcessor=new bp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),U)this.worklet.connect(i,0);else for(let e0=2;e0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(Dp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,d){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,d]})}_setMasterParam(i,A){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(Dp.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case k$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,d)=>c+d.voicesAmount,0);break;case k$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case k$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case k$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case k$.ready:this.resolveWhenReady();break;case k$.soundfontError:I9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,d]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(Dp.mainVolume,i)}setMasterPan(i){this._setMasterParam(Dp.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[Ey.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){I9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:B4.setDrums,messageData:A})}sendMessage(i,A=0){let c=hy(i[0]);switch(c.channel+=A,c.status){case Z3.noteOn:let d=i[2];d>0?this.noteOn(c.channel,i[1],d):this.noteOff(c.channel,i[1]);break;case Z3.noteOff:this.noteOff(c.channel,i[1]);break;case Z3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case Z3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case Z3.programChange:this.programChange(c.channel,i[1]);break;case Z3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case Z3.channelPressure:this.channelPressure(c.channel,i[1]);break;case Z3.systemExclusive:this.systemExclusive(new K5(i.slice(1)));break;case Z3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new bp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:B4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,d)=>{let p;if(T7)p=127;else{let Z=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let O=d.clientX-Z.left,e0=Z.width;p=Math.floor((e0-O)/e0*127)}else{let O=d.clientY-Z.top,e0=Z.height;p=Math.floor(O/e0*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let d=c.touches?Array.from(c.touches):[c],p=new Set;d.forEach(U=>{let Z=document.elementFromPoint(U.clientX,U.clientY),O=parseInt(Z.id.replace("note",""));p.add(O),!(isNaN(O)||O<0||this.pressedKeys.has(O))&&(this.pressedKeys.add(O),i(O,U))}),this.pressedKeys.forEach(U=>{p.has(U)||n(U)})};T7||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var By=20,xp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let d=0;d<128;d++)this.releaseNote(d,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(U=A(i+1)),U&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):U&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let d=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,U;for(let Z of p)if(Z.selectorText==="#keyboard .key"){U=Z;break}if(U.style.setProperty("--pressed-transform-skew",`${8e-4/(d/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let Z=getComputedStyle(this.keyboard),O=parseFloat(Z.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),e0=this.keyboard.getBoundingClientRect().height,U0=d/O,_=e0*U0-e0,P=(this._keyRange.min+this._keyRange.max)/2,i0=(i.min+i.max)/2;this._keyRange=i;let n1=this.keys.find(g2=>g2.classList.contains("sharp_key")).getBoundingClientRect().width,S1=(P-i0)*n1,f1=parseFloat(Z.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${U0}) translateX(${S1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${f1/U0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${d}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${d}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let d=this.keys[i-this._keyRange.min];if(d===void 0)return;d.classList.add("pressed");let p=d.classList.contains("sharp_key"),U=c/127,Z=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),O;if(!p&&this.mode==="light"?O=`rgba(${Z.slice(0,3).map(U0=>255-(255-U0)*U).join(", ")}, ${Z[3]})`:O=`rgba(${Z.slice(0,3).map(U0=>U0*U).join(", ")}, ${Z[3]})`,d.style.background=O,this.mode==="dark"){let e0=By*U;d.style.boxShadow=`${O} 0px 0px ${e0}px ${e0/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let d=this.keyColors[i-this._keyRange.min];if(!d)return;let p=d.findLastIndex(U=>U===this.channelColors[A]);p!==-1&&(d.splice(p,1),c.style.background=d[d.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${By}px ${d[d.length-1]}`),d.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};xp.prototype._handlePointers=Cy;function b$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var ND="#000";function Qy(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let d=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*d,A){i.fillRect(c.xPos,c.yPos-c.height*d,c.width,c.height*(d*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*d,c.yPos,c.width*(d*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=ND,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var tB=!1;function yy(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(tB){n&&requestAnimationFrame(this.render.bind(this));return}else tB=!0;else tB=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||Qy(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let d=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${RE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,RE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(d).toString()+" FPS",this.canvas.width,RE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function wy(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,d=i/(c+1),p=d-_$*2,U=this.noteFallingTimeMs/1e3,Z=this.noteAfterTriggerTimeMs/1e3,O=this.seq.currentHighResolutionTime-this.timeOffset,e0=O-Z,U0=U+Z,_=e0+U0,P=ky/U0,i0=[];this.synth.channelProperties.forEach(S1=>{if(this.showVisualPitch){let f1=S1.pitchBend-8192+this.visualPitchBendOffset;i0.push(S1.pitchBendRangeSemitones*(f1/8192*d))}else i0.push(0)});let n1=[];return this.noteTimes.forEach((S1,f1)=>{if(S1.renderStartIndex>=S1.notes.length||!this.renderChannels[f1])return;let g2=S1.renderStartIndex,n2=S1.notes,f2=n2[g2],a5=-1;for(;f2.start<=_&&(g2++,!(this.notesOnScreen>Sy));){let T2=f2.start+f2.length;if(T2>e0&&f2.length>0){let A0=f2.length/U0*A-_$*2;if(this.notesOnScreen<1e3||A0>P){a5===-1&&(a5=g2-1);let C5=(f2.start-e0)/U0*A,y3;if(this._notesFall?y3=A-A0-C5+_$:y3=C5+_$,f2.midiNotethis.keyRange.max){if(g2>=n2.length)break;f2=n2[g2];continue}let v3=f2.midiNote-this.keyRange.min,g6=d*v3+_$,k3,c9,N9,p3;if(this.sideways?(k3=y3,c9=g6,p3=p,N9=A0):(c9=y3,k3=g6,N9=p,p3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[f1],this.drawingContext.fillRect(k3+D$+_$,c9+D$,N9-D$*2,p3-D$*2);else{let w6;if(f2.start>O||T2=n2.length)break;f2=n2[g2]}a5>-1&&(S1.renderStartIndex=a5)}),n1.sort((S1,f1)=>f1.height-S1.height),n1}function by(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let d=c%4,p=Math.floor(c/4),U=!1;for(let _=c;_0){U=!0;break}if(!U){let _=this.canvas.width/4,P=this.canvas.height/4,i0=_*d,n1=P*p+P/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(i0,n1),this.drawingContext.lineTo(i0+_,n1),this.drawingContext.stroke();return}let Z=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(Z);let O=n*d,e0=i*p+i/2,U0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=Z.length/4,P=n/_,i0=Math.floor(_/2),n1=Z.length-i0;for(let n2=n1;n2>=1;n2--)if(Z[n2-1]<0&&Z[n2]>=0){n1=n2;break}let S1=O,f1=n1-i0,g2=n1+i0;for(let n2=f1;n2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function xy(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function My(){for(let n of this.channelAnalysers)n.disconnect();_5("%cAnalysers disconnected!",C1.recognized)}function Ry(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),d=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${d}), rgba(0, 0, 0, ${d})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function Fy(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function iB(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function Lp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var mu=.02;function Ty(n){function i(e0){return e0.messageData=new K5(e0.messageData.buffer),e0.messageData.currentIndex=0,6e7/iB(e0.messageData,3)}let A=[],d=n.tracks.flat();d.sort((e0,U0)=>e0.ticks-U0.ticks);for(let e0=0;e0<16;e0++)A.push({renderStartIndex:0,notes:[]});let p=0,U=60/(120*n.timeDivision),Z=0,O=0;for(;Z>4,_=e0.messageStatusByte&15;if(U0===8){let P=A[_].notes.findLast(i0=>i0.midiNote===e0.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0i0.midiNote===e0.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0=d.length)break;p+=U*(d[Z].ticks-e0.ticks)}O>0&&A.forEach((e0,U0)=>e0.notes.filter(_=>_.length===-1).forEach(_=>{let P=p-_.start;_.length=Pi.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,b$(i,c=>c*TE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,b$(i,c=>c*TE*FE)),A.addColorStop(1,b$(i,c=>c*FE)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,b$(i,c=>c*TE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,b$(i,c=>c*TE*FE)),A.addColorStop(1,b$(i,c=>c*FE)),A})}};N7.prototype.render=yy;N7.prototype.computeNotePositions=wy;N7.prototype.createChannelAnalysers=_y;N7.prototype.updateFftSize=xy;N7.prototype.connectChannelAnalysers=Ly;N7.prototype.disconnectChannelAnalysers=My;N7.prototype.connectSequencer=Ry;N7.prototype.calculateNoteTimes=Ty;N7.prototype.resetIndexes=Fy;N7.prototype.renderWaveforms=by;function s3(n,i){let A=0;for(let c=0;c>>0}function Ii(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function p9(n,i){Ii(n,i,4)}function Ua(n,i){let A=i<<8|n;return A>32767?A-65536:A}function Ny(n){return n>127?n-256:n}function Q4(n,i,A=void 0,c=!0){if(A){let d=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(d.buffer)}else{let d=!1,p="";for(let U=0;U127)&&Z!==10){if(c){d=!0;continue}else if(Z===0){d=!0;continue}}p+=String.fromCharCode(Z)}}return p}}function pu(n,i=0){let A=n.length;i>0&&(A=i);let c=new K5(A);return P8(c,n,i),c}function Fn(n){return pu(n,n.length+1)}function P8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,Q4(A.chunkData,4)===i))}function NE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function GE(n){let i=[];for(let d of n.tracks){let p=[],U=0,Z;for(let O of d){let e0=O.ticks-U,U0;O.messageStatusByte<=Z3.keySignature||O.messageStatusByte===Z3.sequenceSpecific?U0=[255,O.messageStatusByte,...NE(O.messageData.length),...O.messageData]:O.messageStatusByte===Z3.systemExclusive?U0=[240,...NE(O.messageData.length),...O.messageData]:(U0=[],Z!==O.messageStatusByte&&(Z=O.messageStatusByte,U0.push(O.messageStatusByte)),U0.push(...O.messageData)),p.push(...NE(e0)),p.push(...U0),U+=e0}i.push(new Uint8Array(p))}function A(d,p){for(let U=0;U{n.tracks.forEach((n1,S1)=>{if(n.midiPorts[S1]===i0)for(let f1=n1.length-1;f1>=0;f1--)n1[f1].messageStatusByte>=128&&n1[f1].messageStatusByte<240&&(n1[f1].messageStatusByte&15)===P&&n1.splice(f1,1)})};c.forEach(P=>{let i0=P%16,n1=P-i0,S1=n.midiPortChannelOffsets.findIndex(f1=>f1===n1);p(i0,S1),_5(`%cRemoving channel %c${P}%c!`,C1.info,C1.recognized,C1.info)});let U=!1,Z="gs",O=[],e0=[];n.tracks.forEach((P,i0)=>{P.forEach(n1=>{let S1=n1.messageStatusByte&240;S1===Z3.controllerChange?O.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):S1===Z3.programChange?e0.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):n1.messageStatusByte===Z3.systemExclusive&&(n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[5]===126&&n1.messageData[6]===0?(_5("%cXG system on detected",C1.info),Z="xg",U=!0):n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[3]===8&&n1.messageData[5]===3&&e0.push({track:i0,message:n1,channel:n1.messageData[4]}))})});let U0=(P,i0,n1)=>n.tracks.reduce((S1,f1,g2)=>{if(n.usedChannelsOnTrack[g2].has(P)&&n.midiPorts[g2]===i0){let n2;n1?n2=f1.findIndex(f2=>(f2.messageStatusByte&240)===Z3.noteOn):n2=f1.findIndex(f2=>f2.messageStatusByte>128&&f2.messageStatusByte<240&&(f2.messageStatusByte&15)===P&&!(f2.messageStatusByte&Z3.controllerChange===240&&(f2.messageData[0]===$3.resetAllControllers||f2.messageData[0]===$3.allNotesOff||f2.messageData[0]===$3.allSoundOff))),n2!==-1&&S1.push({index:n2,track:g2})}return S1},[]),_=(P,i0,n1)=>{let S1=O.filter(f1=>f1.channel===P&&f1.message.messageData[0]===n1&&n.midiPorts[f1.track]===i0);for(let f1=0;f1{let i0=P.channel,n1=i0%16,S1=i0-n1,f1=n.midiPortChannelOffsets.findIndex(A0=>A0===S1),g2=P.controllerValue,n2=P.controllerNumber;_(n1,f1,n2),_5(`%cNo controller %c${n2}%c on channel %c${i0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let f2=U0(n1,f1,!0);if(f2.length===0){I9("Program change but no notes... ignoring!");return}let a5=f2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let i0=P.channel%16,n1=P.channel-i0,S1=n.midiPortChannelOffsets.findIndex(v3=>v3===n1),f1=P.isDrum?0:P.bank,g2=P.program,n2=e0.filter(v3=>n.midiPorts[v3.track]===S1&&v3.channel===i0);if(_(i0,S1,$3.bankSelect),_(i0,S1,$3.lsbForControl0BankSelect),(P.isDrum||f1>0)&&!U&&(n.tracks.forEach(v3=>{for(let g6=0;g60);if(f2.length===0){I9("Program change but no notes... ignoring!");return}let a5=f2.reduce((v3,g6)=>n.tracks[g6.track][g6.index].ticks{if(n.midiPorts[n2]!==n1||!n.usedChannelsOnTrack[n2].has(i0))return;let f2=Z3.noteOn|i0,a5=Z3.noteOff|i0,T2=Z3.polyPressure|i0;g2.forEach(A0=>{A0.messageStatusByte!==f2&&A0.messageStatusByte!==a5&&A0.messageStatusByte!==T2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+S1)))})}),f1!==0){let g2=n.tracks.find((k3,c9)=>n.usedChannelsOnTrack[c9].has(P.channel));if(g2===void 0){I9(`Channel ${P.channel} unused but transpose requested???`);continue}let n2=Z3.noteOn|P.channel%16,f2=g2.findIndex(k3=>k3.messageStatusByte===n2);if(f2===-1){I9(`No notes on channel ${P.channel} but transpose requested???`);continue}let a5=g2[f2].ticks,T2=f1*64+64,A0=Z3.controllerChange|P.channel%16,C5=new w7(a5,A0,new K5([$3.RPNMsb,0])),y3=new w7(a5,A0,new K5([$3.RPNLsb,1])),v3=new w7(a5,A0,new K5([$3.dataEntryMsb,T2])),g6=new w7(a5,A0,new K5([$3.lsbForControl6DataEntry,0]));g2.splice(f2,0,g6),g2.splice(f2,0,v3),g2.splice(f2,0,y3),g2.splice(f2,0,C5)}}u9()}function Pa(n,i){let A=[],c=[],d=[],p=[];i.channelSnapshots.forEach((U,Z)=>{if(U.isMuted){c.push(Z);return}let O=U.channelTransposeKeyShift+U.customControllers[_E.channelTransposeFine]/100;O!==0&&A.push({channel:Z,keyShift:O}),U.lockPreset&&d.push({channel:Z,program:U.program,bank:U.bank,isDrum:U.drumChannel}),U.lockedControllers.forEach((e0,U0)=>{if(!e0||U0>127||U0===$3.bankSelect)return;let _=U.midiControllers[U0]>>7;p.push({channel:Z,controllerNumber:U0,controllerValue:_})})}),HD(n,d,p,c,A)}var O8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",YD="Created using SpessaSynth";function UE(n,i,A,c=0,d="Shift_JIS",p={},U=!0){if(R7("%cWriting the RMIDI File...",C1.info),_5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${d}`,C1.info,C1.value,C1.info,C1.value),_5("metadata",p),_5("Initial bank offset",i.bankOffset),U){let g2=function(){let T2=0,A0=1/0;return i.tracks.forEach((C5,y3)=>{S1[y3]>=C5.length||C5[S1[y3]].ticksA0>T2?A0:T2),a5=[];for(let T2=0;T20;){let T2=g2(),A0=i.tracks[T2];if(S1[T2]>=A0.length){f1--;continue}let C5=A0[S1[T2]];S1[T2]++;let y3=i.midiPortChannelOffsets[n2[T2]];if(C5.messageStatusByte===Z3.midiPort){n2[T2]=C5.messageData[0];continue}let v3=C5.messageStatusByte&240;if(v3!==Z3.controllerChange&&v3!==Z3.programChange&&v3!==Z3.systemExclusive)continue;if(v3===Z3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?i0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?i0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(i0="gm",n1.push({tNum:T2,e:C5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+y3;a5[c9].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let g6=(C5.messageStatusByte&15)+y3,k3=a5[g6];if(v3===Z3.programChange){k3.drums?A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank===128)?.program||0):A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank!==128)?.program||0),k3.program=C5.messageData[0];let c9=Math.max(0,k3.lastBank?.messageData[1]-i.bankOffset),N9=k3.drums?128:c9;if(k3.lastBank===void 0)continue;if(i0==="xg"&&k3.drums&&(a5[g6].lastBank.messageData[1]=127),A.presets.findIndex(p3=>p3.bank===N9&&p3.program===C5.messageData[0])===-1){let p3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;k3.lastBank.messageData[1]=p3,_5(`%cNo preset %c${N9}:${C5.messageData[0]}%c. Changing bank to ${p3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(N9===128?i0==="xg"?127:0:c9)+c;k3.lastBank.messageData[1]=w6,_5(`%cPreset %c${N9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(k3.hasBankSelect=!0,i0==="xg"&&(k3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),k3.lastBank=C5)}if(a5.forEach((T2,A0)=>{if(T2.hasBankSelect===!0)return;let C5=A0%16,y3=Z3.programChange|C5,v3=Math.floor(A0/16)*16,g6=i.midiPortChannelOffsets.indexOf(v3),k3=i.tracks.find((w6,L4)=>i.midiPorts[L4]===g6&&i.usedChannelsOnTrack[L4].has(C5));if(k3===void 0)return;let c9=k3.findIndex(w6=>w6.messageStatusByte===y3);if(c9===-1){let w6=k3.findIndex(q8=>q8.messageStatusByte>128&&q8.messageStatusByte<240&&(q8.messageStatusByte&15)===C5);if(w6===-1)return;let L4=k3[w6].ticks,P7=A.getPreset(0,0).program;k3.splice(w6,0,new w7(L4,Z3.programChange|C5,new K5([P7]))),c9=w6}_5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let N9=k3[c9].ticks,p3=A.getPreset(0,T2.program)?.bank+c||c;k3.splice(c9,0,new w7(N9,Z3.controllerChange|C5,new K5([$3.bankSelect,p3])))}),i0!=="gs"&&i0!=="xg"){for(let A0 of n1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let T2=0;i.tracks[0][0].messageStatusByte===Z3.trackName&&T2++,i.tracks[0].splice(T2,0,nB(0))}}let Z=new K5(GE(i).buffer),O=[pu("INFO")],e0=new TextEncoder;if(O.push(k6(O8.software,e0.encode("SpessaSynth"),!0)),p.name!==void 0?(O.push(k6(O8.name,e0.encode(p.name),!0)),d=Oa):O.push(k6(O8.name,i.rawMidiName,!0)),p.creationDate!==void 0)d=Oa,O.push(k6(O8.creationDate,e0.encode(p.creationDate),!0));else{let i0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});O.push(k6(O8.creationDate,Fn(i0),!0))}if(p.comment!==void 0&&(d=Oa,O.push(k6(O8.comment,e0.encode(p.comment)))),p.engineer!==void 0&&O.push(k6(O8.engineer,e0.encode(p.engineer),!0)),p.album!==void 0&&(d=Oa,O.push(k6(O8.album,e0.encode(p.album),!0))),p.artist!==void 0&&(d=Oa,O.push(k6(O8.artist,e0.encode(p.artist),!0))),p.genre!==void 0&&(d=Oa,O.push(k6(O8.genre,e0.encode(p.genre),!0))),p.picture!==void 0&&O.push(k6(O8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)d=Oa,O.push(k6(O8.copyright,e0.encode(p.copyright),!0));else{let i0=i.copyright.length>0?i.copyright:YD;O.push(k6(O8.copyright,Fn(i0)))}let U0=new K5(2);Ii(U0,c,2),O.push(k6(O8.bankOffset,U0)),p.midiEncoding!==void 0&&(O.push(k6(O8.midiEncoding,e0.encode(p.midiEncoding))),d=Oa),O.push(k6(O8.encoding,Fn(d)));let _=St(O),P=St([pu("RMID"),k6("data",Z),k6("LIST",_),n]);return _5("%cFinished!",C1.info),u9(),k6("RIFF",P)}function Mp(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case qa.songChange:let d=A[0];this.songIndex=A[1],this.midiData=d,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(Z=>Z[1](d)),A[2]===!0&&this.unpause();break;case qa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case qa.timeChange:let U=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(Z=>Z[1](U)),this._recalculateStartTime(U),this.paused&&this._preservePlaybackState?this.pausedTime=U:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(Z=>Z[1]());break;case qa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(A)}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=Gy,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){I9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var Rp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Uy(n){return` +`}},eB=960,tB=er.concave;function Yr(n,i,A,c,d){return n<<10|i<<9|A<<8|c<<7|d}var LE=[new l9({srcEnum:Yr(tB,0,1,0,q4.noteOnVelocity),dest:I0.initialAttenuation,amt:eB,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Yr(tB,0,1,1,$3.mainVolume),dest:I0.initialAttenuation,amt:eB,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:I0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:I0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:Yr(tB,0,1,1,$3.expressionController),dest:I0.initialAttenuation,amt:eB,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:Yr(er.linear,0,0,0,q4.polyPressure),dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Yr(er.linear,0,0,1,$3.tremoloDepth),dest:I0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:Yr(er.linear,1,0,1,$3.releaseTime),dest:I0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:Yr(er.linear,1,0,1,$3.brightness),dest:I0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:Yr(er.linear,1,0,1,$3.timbreHarmonicContent),dest:I0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var S$=128,py=147,MD=new Int16Array(py).fill(0),A7=(n,i)=>MD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(S$+q4.pitchWheel,64);A7(S$+q4.pitchWheelRange,2);var ME={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},Ey=Object.keys(ME).length,RD=new Float32Array(Ey);RD[ME.modulationMultiplier]=1;var Cy={velocityOverride:128};var RE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},FE={addMapping:0,deleteMapping:1,clearMappings:2};var TE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let d=c?.velocity??-1,p=c?.patch?.program??-1,T=c?.patch?.bank??-1,H=new RE(d,T,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=H,this._sendToWorklet(FE.addMapping,[i,A,H])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(FE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(FE.clearMappings,void 0),this._keyModifiers=[]}};var FD="spessasynth-worklet-system",iB=350,F7=9,TD=16;var Iu=class{constructor(i,A,c=!0,d=void 0,p=my){_5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let T=d?.oneOutput===!0;this.eventHandler=new _E,this._voiceCap=iB,this._destroyed=!1,this._outputsAmount=TD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(e0=>this.resolveWhenReady=e0),this.channelProperties=[];for(let e0=0;e0this.handleMessage(e0.data),this.soundfontManager=new xE(this),this.keyModifierManager=new TE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!T&&(this.reverbProcessor=Iy(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!T&&(this.chorusProcessor=new Dp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),T)this.worklet.connect(i,0);else for(let e0=2;e0{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(_p.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,d){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,d]})}_setMasterParam(i,A){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(_p.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case k$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,d)=>c+d.voicesAmount,0);break;case k$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case k$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case k$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case k$.ready:this.resolveWhenReady();break;case k$.soundfontError:I9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,d]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(_p.mainVolume,i)}setMasterPan(i){this._setMasterParam(_p.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[Cy.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){I9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:B4.setDrums,messageData:A})}sendMessage(i,A=0){let c=fy(i[0]);switch(c.channel+=A,c.status){case v3.noteOn:let d=i[2];d>0?this.noteOn(c.channel,i[1],d):this.noteOff(c.channel,i[1]);break;case v3.noteOff:this.noteOff(c.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case v3.programChange:this.programChange(c.channel,i[1]);break;case v3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(c.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new K5(i.slice(1)));break;case v3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new Dp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:B4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,d)=>{let p;if(T7)p=127;else{let H=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let O=d.clientX-H.left,e0=H.width;p=Math.floor((e0-O)/e0*127)}else{let O=d.clientY-H.top,e0=H.height;p=Math.floor(O/e0*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let d=c.touches?Array.from(c.touches):[c],p=new Set;d.forEach(T=>{let H=document.elementFromPoint(T.clientX,T.clientY),O=parseInt(H.id.replace("note",""));p.add(O),!(isNaN(O)||O<0||this.pressedKeys.has(O))&&(this.pressedKeys.add(O),i(O,T))}),this.pressedKeys.forEach(T=>{p.has(T)||n(T)})};T7||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var Qy=20,Lp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let d=0;d<128;d++)this.releaseNote(d,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(T=A(i+1)),T&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):T&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let d=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,T;for(let H of p)if(H.selectorText==="#keyboard .key"){T=H;break}if(T.style.setProperty("--pressed-transform-skew",`${8e-4/(d/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let H=getComputedStyle(this.keyboard),O=parseFloat(H.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),e0=this.keyboard.getBoundingClientRect().height,U0=d/O,_=e0*U0-e0,P=(this._keyRange.min+this._keyRange.max)/2,i0=(i.min+i.max)/2;this._keyRange=i;let n1=this.keys.find(g2=>g2.classList.contains("sharp_key")).getBoundingClientRect().width,S1=(P-i0)*n1,f1=parseFloat(H.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${U0}) translateX(${S1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${f1/U0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${d}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${d}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let d=this.keys[i-this._keyRange.min];if(d===void 0)return;d.classList.add("pressed");let p=d.classList.contains("sharp_key"),T=c/127,H=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),O;if(!p&&this.mode==="light"?O=`rgba(${H.slice(0,3).map(U0=>255-(255-U0)*T).join(", ")}, ${H[3]})`:O=`rgba(${H.slice(0,3).map(U0=>U0*T).join(", ")}, ${H[3]})`,d.style.background=O,this.mode==="dark"){let e0=Qy*T;d.style.boxShadow=`${O} 0px 0px ${e0}px ${e0/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let d=this.keyColors[i-this._keyRange.min];if(!d)return;let p=d.findLastIndex(T=>T===this.channelColors[A]);p!==-1&&(d.splice(p,1),c.style.background=d[d.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${Qy}px ${d[d.length-1]}`),d.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Lp.prototype._handlePointers=By;function b$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var GD="#000";function yy(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let d=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*d,A){i.fillRect(c.xPos,c.yPos-c.height*d,c.width,c.height*(d*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*d,c.yPos,c.width*(d*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=GD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var rB=!1;function wy(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(rB){n&&requestAnimationFrame(this.render.bind(this));return}else rB=!0;else rB=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||yy(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let d=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${NE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,NE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(d).toString()+" FPS",this.canvas.width,NE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function vy(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,d=i/(c+1),p=d-_$*2,T=this.noteFallingTimeMs/1e3,H=this.noteAfterTriggerTimeMs/1e3,O=this.seq.currentHighResolutionTime-this.timeOffset,e0=O-H,U0=T+H,_=e0+U0,P=Sy/U0,i0=[];this.synth.channelProperties.forEach(S1=>{if(this.showVisualPitch){let f1=S1.pitchBend-8192+this.visualPitchBendOffset;i0.push(S1.pitchBendRangeSemitones*(f1/8192*d))}else i0.push(0)});let n1=[];return this.noteTimes.forEach((S1,f1)=>{if(S1.renderStartIndex>=S1.notes.length||!this.renderChannels[f1])return;let g2=S1.renderStartIndex,n2=S1.notes,f2=n2[g2],a5=-1;for(;f2.start<=_&&(g2++,!(this.notesOnScreen>by));){let T2=f2.start+f2.length;if(T2>e0&&f2.length>0){let A0=f2.length/U0*A-_$*2;if(this.notesOnScreen<1e3||A0>P){a5===-1&&(a5=g2-1);let C5=(f2.start-e0)/U0*A,y3;if(this._notesFall?y3=A-A0-C5+_$:y3=C5+_$,f2.midiNotethis.keyRange.max){if(g2>=n2.length)break;f2=n2[g2];continue}let k3=f2.midiNote-this.keyRange.min,g6=d*k3+_$,S3,c9,N9,p3;if(this.sideways?(S3=y3,c9=g6,p3=p,N9=A0):(c9=y3,S3=g6,N9=p,p3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[f1],this.drawingContext.fillRect(S3+D$+_$,c9+D$,N9-D$*2,p3-D$*2);else{let w6;if(f2.start>O||T2=n2.length)break;f2=n2[g2]}a5>-1&&(S1.renderStartIndex=a5)}),n1.sort((S1,f1)=>f1.height-S1.height),n1}function Dy(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let d=c%4,p=Math.floor(c/4),T=!1;for(let _=c;_0){T=!0;break}if(!T){let _=this.canvas.width/4,P=this.canvas.height/4,i0=_*d,n1=P*p+P/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(i0,n1),this.drawingContext.lineTo(i0+_,n1),this.drawingContext.stroke();return}let H=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(H);let O=n*d,e0=i*p+i/2,U0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=H.length/4,P=n/_,i0=Math.floor(_/2),n1=H.length-i0;for(let n2=n1;n2>=1;n2--)if(H[n2-1]<0&&H[n2]>=0){n1=n2;break}let S1=O,f1=n1-i0,g2=n1+i0;for(let n2=f1;n2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function Ly(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function Ry(){for(let n of this.channelAnalysers)n.disconnect();_5("%cAnalysers disconnected!",C1.recognized)}function Fy(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),d=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${d}), rgba(0, 0, 0, ${d})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function Ty(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function Mp(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function Rp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var mu=.02;function Ny(n){function i(e0){return e0.messageData=new K5(e0.messageData.buffer),e0.messageData.currentIndex=0,6e7/Mp(e0.messageData,3)}let A=[],d=n.tracks.flat();d.sort((e0,U0)=>e0.ticks-U0.ticks);for(let e0=0;e0<16;e0++)A.push({renderStartIndex:0,notes:[]});let p=0,T=60/(120*n.timeDivision),H=0,O=0;for(;H>4,_=e0.messageStatusByte&15;if(U0===8){let P=A[_].notes.findLast(i0=>i0.midiNote===e0.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0i0.midiNote===e0.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0=d.length)break;p+=T*(d[H].ticks-e0.ticks)}O>0&&A.forEach((e0,U0)=>e0.notes.filter(_=>_.length===-1).forEach(_=>{let P=p-_.start;_.length=Pi.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,b$(i,c=>c*UE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,b$(i,c=>c*UE*GE)),A.addColorStop(1,b$(i,c=>c*GE)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,b$(i,c=>c*UE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,b$(i,c=>c*UE*GE)),A.addColorStop(1,b$(i,c=>c*GE)),A})}};N7.prototype.render=wy;N7.prototype.computeNotePositions=vy;N7.prototype.createChannelAnalysers=xy;N7.prototype.updateFftSize=Ly;N7.prototype.connectChannelAnalysers=My;N7.prototype.disconnectChannelAnalysers=Ry;N7.prototype.connectSequencer=Fy;N7.prototype.calculateNoteTimes=Ny;N7.prototype.resetIndexes=Ty;N7.prototype.renderWaveforms=Dy;function s3(n,i){let A=0;for(let c=0;c>>0}function Ii(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function p9(n,i){Ii(n,i,4)}function Ua(n,i){let A=i<<8|n;return A>32767?A-65536:A}function Gy(n){return n>127?n-256:n}function Q4(n,i,A=void 0,c=!0){if(A){let d=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(d.buffer)}else{let d=!1,p="";for(let T=0;T127)&&H!==10){if(c){d=!0;continue}else if(H===0){d=!0;continue}}p+=String.fromCharCode(H)}}return p}}function pu(n,i=0){let A=n.length;i>0&&(A=i);let c=new K5(A);return P8(c,n,i),c}function Fn(n){return pu(n,n.length+1)}function P8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,Q4(A.chunkData,4)===i))}function PE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function OE(n){let i=[];for(let d of n.tracks){let p=[],T=0,H;for(let O of d){let e0=O.ticks-T,U0;O.messageStatusByte<=v3.keySignature||O.messageStatusByte===v3.sequenceSpecific?U0=[255,O.messageStatusByte,...PE(O.messageData.length),...O.messageData]:O.messageStatusByte===v3.systemExclusive?U0=[240,...PE(O.messageData.length),...O.messageData]:(U0=[],H!==O.messageStatusByte&&(H=O.messageStatusByte,U0.push(O.messageStatusByte)),U0.push(...O.messageData)),p.push(...PE(e0)),p.push(...U0),T+=e0}i.push(new Uint8Array(p))}function A(d,p){for(let T=0;T{n.tracks.forEach((n1,S1)=>{if(n.midiPorts[S1]===i0)for(let f1=n1.length-1;f1>=0;f1--)n1[f1].messageStatusByte>=128&&n1[f1].messageStatusByte<240&&(n1[f1].messageStatusByte&15)===P&&n1.splice(f1,1)})};c.forEach(P=>{let i0=P%16,n1=P-i0,S1=n.midiPortChannelOffsets.findIndex(f1=>f1===n1);p(i0,S1),_5(`%cRemoving channel %c${P}%c!`,C1.info,C1.recognized,C1.info)});let T=!1,H="gs",O=[],e0=[];n.tracks.forEach((P,i0)=>{P.forEach(n1=>{let S1=n1.messageStatusByte&240;S1===v3.controllerChange?O.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):S1===v3.programChange?e0.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):n1.messageStatusByte===v3.systemExclusive&&(n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[5]===126&&n1.messageData[6]===0?(_5("%cXG system on detected",C1.info),H="xg",T=!0):n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[3]===8&&n1.messageData[5]===3&&e0.push({track:i0,message:n1,channel:n1.messageData[4]}))})});let U0=(P,i0,n1)=>n.tracks.reduce((S1,f1,g2)=>{if(n.usedChannelsOnTrack[g2].has(P)&&n.midiPorts[g2]===i0){let n2;n1?n2=f1.findIndex(f2=>(f2.messageStatusByte&240)===v3.noteOn):n2=f1.findIndex(f2=>f2.messageStatusByte>128&&f2.messageStatusByte<240&&(f2.messageStatusByte&15)===P&&!(f2.messageStatusByte&v3.controllerChange===240&&(f2.messageData[0]===$3.resetAllControllers||f2.messageData[0]===$3.allNotesOff||f2.messageData[0]===$3.allSoundOff))),n2!==-1&&S1.push({index:n2,track:g2})}return S1},[]),_=(P,i0,n1)=>{let S1=O.filter(f1=>f1.channel===P&&f1.message.messageData[0]===n1&&n.midiPorts[f1.track]===i0);for(let f1=0;f1{let i0=P.channel,n1=i0%16,S1=i0-n1,f1=n.midiPortChannelOffsets.findIndex(A0=>A0===S1),g2=P.controllerValue,n2=P.controllerNumber;_(n1,f1,n2),_5(`%cNo controller %c${n2}%c on channel %c${i0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let f2=U0(n1,f1,!0);if(f2.length===0){I9("Program change but no notes... ignoring!");return}let a5=f2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let i0=P.channel%16,n1=P.channel-i0,S1=n.midiPortChannelOffsets.findIndex(k3=>k3===n1),f1=P.isDrum?0:P.bank,g2=P.program,n2=e0.filter(k3=>n.midiPorts[k3.track]===S1&&k3.channel===i0);if(_(i0,S1,$3.bankSelect),_(i0,S1,$3.lsbForControl0BankSelect),(P.isDrum||f1>0)&&!T&&(n.tracks.forEach(k3=>{for(let g6=0;g60);if(f2.length===0){I9("Program change but no notes... ignoring!");return}let a5=f2.reduce((k3,g6)=>n.tracks[g6.track][g6.index].ticks{if(n.midiPorts[n2]!==n1||!n.usedChannelsOnTrack[n2].has(i0))return;let f2=v3.noteOn|i0,a5=v3.noteOff|i0,T2=v3.polyPressure|i0;g2.forEach(A0=>{A0.messageStatusByte!==f2&&A0.messageStatusByte!==a5&&A0.messageStatusByte!==T2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+S1)))})}),f1!==0){let g2=n.tracks.find((S3,c9)=>n.usedChannelsOnTrack[c9].has(P.channel));if(g2===void 0){I9(`Channel ${P.channel} unused but transpose requested???`);continue}let n2=v3.noteOn|P.channel%16,f2=g2.findIndex(S3=>S3.messageStatusByte===n2);if(f2===-1){I9(`No notes on channel ${P.channel} but transpose requested???`);continue}let a5=g2[f2].ticks,T2=f1*64+64,A0=v3.controllerChange|P.channel%16,C5=new w7(a5,A0,new K5([$3.RPNMsb,0])),y3=new w7(a5,A0,new K5([$3.RPNLsb,1])),k3=new w7(a5,A0,new K5([$3.dataEntryMsb,T2])),g6=new w7(a5,A0,new K5([$3.lsbForControl6DataEntry,0]));g2.splice(f2,0,g6),g2.splice(f2,0,k3),g2.splice(f2,0,y3),g2.splice(f2,0,C5)}}u9()}function Pa(n,i){let A=[],c=[],d=[],p=[];i.channelSnapshots.forEach((T,H)=>{if(T.isMuted){c.push(H);return}let O=T.channelTransposeKeyShift+T.customControllers[ME.channelTransposeFine]/100;O!==0&&A.push({channel:H,keyShift:O}),T.lockPreset&&d.push({channel:H,program:T.program,bank:T.bank,isDrum:T.drumChannel}),T.lockedControllers.forEach((e0,U0)=>{if(!e0||U0>127||U0===$3.bankSelect)return;let _=T.midiControllers[U0]>>7;p.push({channel:H,controllerNumber:U0,controllerValue:_})})}),VD(n,d,p,c,A)}var O8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",YD="Created using SpessaSynth";function qE(n,i,A,c=0,d="Shift_JIS",p={},T=!0){if(R7("%cWriting the RMIDI File...",C1.info),_5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${d}`,C1.info,C1.value,C1.info,C1.value),_5("metadata",p),_5("Initial bank offset",i.bankOffset),T){let g2=function(){let T2=0,A0=1/0;return i.tracks.forEach((C5,y3)=>{S1[y3]>=C5.length||C5[S1[y3]].ticksA0>T2?A0:T2),a5=[];for(let T2=0;T20;){let T2=g2(),A0=i.tracks[T2];if(S1[T2]>=A0.length){f1--;continue}let C5=A0[S1[T2]];S1[T2]++;let y3=i.midiPortChannelOffsets[n2[T2]];if(C5.messageStatusByte===v3.midiPort){n2[T2]=C5.messageData[0];continue}let k3=C5.messageStatusByte&240;if(k3!==v3.controllerChange&&k3!==v3.programChange&&k3!==v3.systemExclusive)continue;if(k3===v3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?i0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?i0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(i0="gm",n1.push({tNum:T2,e:C5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+y3;a5[c9].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let g6=(C5.messageStatusByte&15)+y3,S3=a5[g6];if(k3===v3.programChange){S3.drums?A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank===128)?.program||0):A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank!==128)?.program||0),S3.program=C5.messageData[0];let c9=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),N9=S3.drums?128:c9;if(S3.lastBank===void 0)continue;if(i0==="xg"&&S3.drums&&(a5[g6].lastBank.messageData[1]=127),A.presets.findIndex(p3=>p3.bank===N9&&p3.program===C5.messageData[0])===-1){let p3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;S3.lastBank.messageData[1]=p3,_5(`%cNo preset %c${N9}:${C5.messageData[0]}%c. Changing bank to ${p3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(N9===128?i0==="xg"?127:0:c9)+c;S3.lastBank.messageData[1]=w6,_5(`%cPreset %c${N9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(S3.hasBankSelect=!0,i0==="xg"&&(S3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),S3.lastBank=C5)}if(a5.forEach((T2,A0)=>{if(T2.hasBankSelect===!0)return;let C5=A0%16,y3=v3.programChange|C5,k3=Math.floor(A0/16)*16,g6=i.midiPortChannelOffsets.indexOf(k3),S3=i.tracks.find((w6,L4)=>i.midiPorts[L4]===g6&&i.usedChannelsOnTrack[L4].has(C5));if(S3===void 0)return;let c9=S3.findIndex(w6=>w6.messageStatusByte===y3);if(c9===-1){let w6=S3.findIndex(q8=>q8.messageStatusByte>128&&q8.messageStatusByte<240&&(q8.messageStatusByte&15)===C5);if(w6===-1)return;let L4=S3[w6].ticks,P7=A.getPreset(0,0).program;S3.splice(w6,0,new w7(L4,v3.programChange|C5,new K5([P7]))),c9=w6}_5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let N9=S3[c9].ticks,p3=A.getPreset(0,T2.program)?.bank+c||c;S3.splice(c9,0,new w7(N9,v3.controllerChange|C5,new K5([$3.bankSelect,p3])))}),i0!=="gs"&&i0!=="xg"){for(let A0 of n1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let T2=0;i.tracks[0][0].messageStatusByte===v3.trackName&&T2++,i.tracks[0].splice(T2,0,oB(0))}}let H=new K5(OE(i).buffer),O=[pu("INFO")],e0=new TextEncoder;if(O.push(k6(O8.software,e0.encode("SpessaSynth"),!0)),p.name!==void 0?(O.push(k6(O8.name,e0.encode(p.name),!0)),d=Oa):O.push(k6(O8.name,i.rawMidiName,!0)),p.creationDate!==void 0)d=Oa,O.push(k6(O8.creationDate,e0.encode(p.creationDate),!0));else{let i0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});O.push(k6(O8.creationDate,Fn(i0),!0))}if(p.comment!==void 0&&(d=Oa,O.push(k6(O8.comment,e0.encode(p.comment)))),p.engineer!==void 0&&O.push(k6(O8.engineer,e0.encode(p.engineer),!0)),p.album!==void 0&&(d=Oa,O.push(k6(O8.album,e0.encode(p.album),!0))),p.artist!==void 0&&(d=Oa,O.push(k6(O8.artist,e0.encode(p.artist),!0))),p.genre!==void 0&&(d=Oa,O.push(k6(O8.genre,e0.encode(p.genre),!0))),p.picture!==void 0&&O.push(k6(O8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)d=Oa,O.push(k6(O8.copyright,e0.encode(p.copyright),!0));else{let i0=i.copyright.length>0?i.copyright:YD;O.push(k6(O8.copyright,Fn(i0)))}let U0=new K5(2);Ii(U0,c,2),O.push(k6(O8.bankOffset,U0)),p.midiEncoding!==void 0&&(O.push(k6(O8.midiEncoding,e0.encode(p.midiEncoding))),d=Oa),O.push(k6(O8.encoding,Fn(d)));let _=St(O),P=St([pu("RMID"),k6("data",H),k6("LIST",_),n]);return _5("%cFinished!",C1.info),u9(),k6("RIFF",P)}var Fp=class n{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];firstNoteOn=0;keyRange={min:0,max:127};lastVoiceEventTick=0;midiPorts=[0];midiPortChannelOffsets=[0];usedChannelsOnTrack=[];loop={start:0,end:0};midiName="";midiNameUsesFileName=!1;fileName="";rawMidiName=void 0;embeddedSoundFont=void 0;format=0;RMIDInfo={};bankOffset=0;tracks=[];static copyFrom(i){let A=new n;return A.midiName=i.midiName,A.midiNameUsesFileName=i.midiNameUsesFileName,A.fileName=i.fileName,A.timeDivision=i.timeDivision,A.duration=i.duration,A.copyright=i.copyright,A.tracksAmount=i.tracksAmount,A.firstNoteOn=i.firstNoteOn,A.keyRange={...i.keyRange},A.lastVoiceEventTick=i.lastVoiceEventTick,A.loop={...i.loop},A.format=i.format,A.bankOffset=i.bankOffset,A.tempoChanges=[...i.tempoChanges],A.lyrics=i.lyrics.map(c=>new Uint8Array(c)),A.midiPorts=[...i.midiPorts],A.midiPortChannelOffsets=[...i.midiPortChannelOffsets],A.usedChannelsOnTrack=i.usedChannelsOnTrack.map(c=>new Set(c)),A.rawMidiName=i.rawMidiName?new Uint8Array(i.rawMidiName):void 0,A.embeddedSoundFont=i.embeddedSoundFont?i.embeddedSoundFont.slice():void 0,A.RMIDInfo={...i.RMIDInfo},A.tracks=i.tracks.map(c=>[...c]),A}flush(){let i=[];for(let d of this.tracks){d.sort((T,H)=>T.ticks-H.ticks);let p=d.find(T=>(T.messageStatusByte&240)===v3.noteOn);p&&i.push(p.ticks)}this.firstNoteOn=Math.min(...i),this.lastVoiceEventTick=0,this.tempoChanges=[{ticks:0,tempo:120}],this.midiPorts=[],this.midiPortChannelOffsets=[];let A=0;this.usedChannelsOnTrack=this.tracks.map(()=>new Set),this.tracks.forEach((d,p)=>{this.midiPorts.push(-1),d.forEach(T=>{if(T.messageStatusByte>=128&&T.messageStatusByte<240&&T.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=T.ticks),T.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:T.ticks,tempo:6e7/Mp(T.messageData,3)});else if((T.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[p].add(T.messageData[0]);else if(T.messageStatusByte===v3.midiPort){let H=T.messageData[0];this.midiPorts[p]=H,this.midiPortChannelOffsets[H]===void 0&&(this.midiPortChannelOffsets[H]=A,A+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Eu(this.lastVoiceEventTick,this);let c=0;for(let d of this.midiPorts)if(d!==-1){c=d;break}this.midiPorts=this.midiPorts.map(d=>d===-1?c:d),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Eu(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case qa.songChange:let d=A[0];this.songIndex=A[1],this.midiData=d,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(H=>H[1](d)),A[2]===!0&&this.unpause();break;case qa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case qa.timeChange:let T=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(H=>H[1](T)),this._recalculateStartTime(T),this.paused&&this._preservePlaybackState?this.pausedTime=T:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(H=>H[1]());break;case qa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(Fp.copyFrom(A))}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=Uy,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){I9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var Tp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Py(n){return` `}function x$(n){return` - `}function Py(n){return` + `}function Oy(n){return` -`}function Oy(n){return` +`}function qy(n){return` -`}function qy(n){return` +`}function Hy(n){return` -`}function Hy(n){return` +`}function Vy(n){return` -`}function Fp(n){return` +`}function Np(n){return` -`}function Eu(n){return` +`}function Cu(n){return` `}function Yy(n){return` -`}function Vy(n){return` +`}function Jy(n){return` -`}function OE(n){return` +`}function VE(n){return` ( V231.7z M468.7,231.7v140.5c0,8.4-3.4,16.7-12.7,26.6c-9.2,9.9-24,20.5-43.3,29.3c-8.9,4.1-18.6,8-29.3,11.3V271 C418,261.4,447.1,248,468.7,231.7z M170.4,280.3c26.5,4.4,55,6.7,85.2,6.7s58.8-2.2,85.2-6.7v169.1c-26.2,4.9-54.9,8-85.2,8 s-59-3.1-85.2-8V280.3z"/> - `}function qE(n){return` + `}function YE(n){return` -`}function Jy(n){return` +`}function zy(n){return` -`}function zy(n){return` +`}function Ky(n){return` -`}function Ky(n){return` +`}function Wy(n){return` -`}function Tp(n){return` +`}function Gp(n){return` -`}function oB(n){return` +`}function sB(n){return` -`}function Wy(n){return` +`}function Zy(n){return` - `}function Np(n){return` + `}function Up(n){return` -`}function sB(n){return` +`}function aB(n){return` -`}function Cu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var si={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Zy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function jy(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=WC(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,d)=>c+d.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var JD=parseFloat(getComputedStyle(document.body).fontSize);function Xy(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");Rp.forEach(U0=>{let _=document.createElement("option");_.innerText=U0,_.value=U0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let d=document.createElement("p");d.classList.add("lyrics_text"),n.appendChild(d);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),d.appendChild(p);let U=document.createElement("span");U.classList.add("lyrics_text_gray"),d.appendChild(U);let Z=document.createElement("details"),O=document.createElement("summary");this.locale.bindObjectProperty(O,"textContent","locale.sequencerController.lyrics.otherText.title"),Z.appendChild(O);let e0=document.createElement("div");e0.innerText="",Z.appendChild(e0),n.appendChild(Z),this.lyricsElement.text={highlight:p,gray:U,main:d,other:e0},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function ew(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-JD*5)}function tw(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(Z3).find(A=>Z3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var Jr=32,iw="#ccc",rw="#555",zD="#333",KD="#ddd",WD="Shift_JIS",Oo=class{constructor(i,A,c){this.iconColor=iw,this.iconDisabledColor=rw,this.controls=i,this.encoding=WD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=zD,this.iconDisabledColor=KD):(this.mode="dark",this.iconColor=iw,this.iconDisabledColor=rw),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=x$(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=Uy(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Rp[c]),this.encodingSelector.value=Rp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let d=this.decodeTextFix(A.buffer);switch(c){default:return;case Z3.text:case Z3.copyright:case Z3.cuePoint:case Z3.trackName:case Z3.instrumentName:case Z3.programName:case Z3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case Z3.lyric:this.text+=d,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[O8.encoding]!==void 0,A.isEmbedded){let c=(Z,O,e0,U0="")=>this.seq.midiData.RMIDInfo?.[Z]===void 0?O:U0+e0.decode(this.seq.midiData.RMIDInfo?.[Z]).replace(/\0$/,""),d=new TextDecoder,p=c(O8.midiEncoding,this.encoding,d),U=c(O8.encoding,"utf-8",d);this.infoDecoder=new TextDecoder(U),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let P=i.getBoundingClientRect(),i0=_.clientX-P.left,n1=P.width;this.seq.currentTime=i0/n1*this.seq.duration,c.innerHTML=x$(Jr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=Cu("Play/Pause",x$(Jr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let d=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=d;let p=Cu("Previous song",Hy(Jr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let U=Cu("Next song",qy(Jr));this.locale.bindObjectProperty(U,"title","locale.sequencerController.nextSong"),U.onclick=()=>this.switchToNextSong();let Z=Cu("Loop this",Py(Jr));this.locale.bindObjectProperty(Z,"title","locale.sequencerController.loopThis");let O=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),Z.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};Z.onclick=O,this.loopButton=Z;let e0=Cu("Show lyrics",Oy(Jr));this.locale.bindObjectProperty(e0,"title","locale.sequencerController.lyrics.show"),e0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let U0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),e0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};e0.onclick=U0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.playPause:_.preventDefault(),d();break;case si.toggleLoop:_.preventDefault(),O();break;case si.toggleLyrics:_.preventDefault(),U0();break;default:break}}),A.appendChild(p),A.appendChild(Z),A.appendChild(c),A.appendChild(e0),A.appendChild(U),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=x$(Jr);break;case si.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=x$(Jr);break;case si.previousSong:this.switchToPreviousSong();break;case si.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let P=parseInt(_.key);0<=P&&P<=9&&(this.seq.currentTime=this.seq.duration*(P/10),c.innerHTML=x$(Jr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=v$(this.seq.currentTime),A=v$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Oo.prototype.createNavigatorHandler=Zy;Oo.prototype.updateTitleAndMediaStatus=jy;Oo.prototype.createLyrics=Xy;Oo.prototype.setLyricsText=ew;Oo.prototype.updateOtherTextEvents=tw;function nw(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function ow(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function sw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var pr=class{constructor(i="none",A,c,d,p=0,U=100,Z=!1,O=void 0,e0=void 0,U0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=U,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=e0,this.unlockCallback=U0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",d),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,Z){if(O===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let P=_.currentTarget.getBoundingClientRect(),i0=P.left,n1=P.width,S1=_.clientX-i0,f1=Math.max(0,Math.min(1,S1/n1));O(f1*(U-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,T7&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var aw=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","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","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","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 (new age)","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","Attack Helicopter","Applause","Gunshot"];var HE=class{constructor(i,A,c,d,p=void 0,U=void 0){this.elements=i.map(Z=>({name:Z.name,program:Z.program,bank:Z.bank,stringified:`${Z.bank.toString().padStart(3,"0")}:${Z.program.toString().padStart(3,"0")} ${Z.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",d),this.locale=A,this.localePath=c,this.localeArgs=d,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=U,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let d=document.createElement("input");d.type="text",this.locale.bindObjectProperty(d,"placeholder",this.localePath+".searchPrompt"),c.appendChild(d),d.onkeydown=e0=>e0.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Tp(ai):oB(ai),this.locale.bindObjectProperty(p,"title",e4+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Tp(ai):p.innerHTML=oB(ai)},c.appendChild(p),this.presetLock=p;let U=document.createElement("div");U.classList.add("voice_selector_table_wrapper"),i.appendChild(U);let O=this.generateTable(U,this.elements).querySelector(".voice_selector_selected");d.oninput=e0=>{e0.stopPropagation();let U0=d.value,_=this.elements.filter(S1=>S1.stringified.search(new RegExp(U0,"i"))>=0);if(_.length===this.elements.length)return;U.replaceChildren();let P=this.generateTable(U,_),i0=P.querySelector(".voice_selector_selected");if(i0){O=i0;return}let n1=P.querySelector(".voice_selector_option");n1.classList.add("voice_selector_selected"),O=n1},d.addEventListener("keydown",e0=>{switch(e0.key){case"Enter":let U0=O.getAttribute("bank"),_=O.getAttribute("program"),P=`${U0}:${_}`;if(this.value===P){this.hideSelectionMenu();return}this.editCallback(P),this.locked=!0,this.presetLock.innerHTML=Tp(ai),this.hideSelectionMenu();break;case"ArrowDown":let i0=O.nextElementSibling;for(;i0;){if(i0.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),i0.classList.add("voice_selector_selected"),O=i0;return}i0=i0.nextElementSibling}break;case"ArrowUp":let n1=O.previousElementSibling;for(;n1;){if(n1.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),n1.classList.add("voice_selector_selected"),O=n1;return}n1=n1.previousElementSibling}break}}),i.onclick=e0=>{e0.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=e0=>{e0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,T7||d.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),U=-20;for(let Z of A){let O=document.createElement("tr"),e0=Z.program;if(O.classList.add("voice_selector_option"),O.setAttribute("program",e0.toString()),O.setAttribute("bank",Z.bank.toString()),e0===p&&Z.bank===d&&(O.classList.add("voice_selector_selected"),setTimeout(()=>{O.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),O.onclick=()=>{let S1=`${Z.bank}:${e0}`;if(this.value===S1){this.hideSelectionMenu();return}this.editCallback(S1),this.locked=!0,this.presetLock.innerHTML=Tp(ai),this.hideSelectionMenu()},e0!==U&&(U=e0,Z.bank!==128)){let S1=document.createElement("tr"),f1=document.createElement("th");f1.colSpan="3",f1.textContent=aw[U],S1.appendChild(f1),c.appendChild(S1)}let U0=`${Z.program.toString().padStart(3,"0")}`,_=`${Z.bank.toString().padStart(3,"0")}`,P=document.createElement("td");P.classList.add("voice_selector_preset_name"),P.textContent=Z.name;let i0=document.createElement("td");P.classList.add("voice_selector_preset_program"),i0.textContent=U0;let n1=document.createElement("td");P.classList.add("voice_selector_preset_program"),n1.textContent=_,O.appendChild(n1),O.appendChild(i0),O.appendChild(P),c.appendChild(O)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,d=parseInt(this.value.split(":")[1]),p=d;this.elements.find(U=>U.program===d)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let U of c.rows){if(U.cells.length===1)continue;let Z=parseInt(U.cells[0].textContent),O=parseInt(U.cells[1].textContent);Z===d&&O===p&&(U.classList.add("voice_selector_selected"),U.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),d=parseInt(A[1]),p=this.elements.find(U=>U.bank===c&&U.program===d);return p?c===128||this.elements.filter(U=>U.program===d&&U.bank!==128).length<2?`${d}. ${p.name}`:`${c}:${d} ${p.name}`:""}};var ai=32;function Aw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,n2=>{let f2=c.isLocked;f2&&this.synth.lockController(n,S$+q4.pitchWheel,!1),n2=Math.round(n2)+8192;let a5=n2>>7,T2=n2&127;this.synth.pitchWheel(n,a5,T2),f2&&this.synth.lockController(n,S$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,S$+q4.pitchWheel,!0),()=>this.synth.lockController(n,S$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let d=(n2,f2,a5)=>{a5.isLocked?(this.synth.lockController(n,n2,!1),this.synth.controllerChange(n,n2,f2),this.synth.lockController(n,n2,!0)):this.synth.controllerChange(n,n2,f2)},p=(n2,f2,a5)=>{let T2=new pr(this.channelColors[n%this.channelColors.length],e4+f2,this.locale,[n+1],0,127,!0,A0=>d(n2,Math.round(A0),T2),()=>this.synth.lockController(n,n2,!0),()=>this.synth.lockController(n,n2,!1));return T2.update(a5),T2},U=p($3.pan,"channelController.panMeter",64);i.appendChild(U.div);let Z=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(Z.div);let O=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(O.div);let e0=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(e0.div);let U0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(U0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let P=p($3.brightness,"channelController.filterMeter",64);i.appendChild(P.div);let i0=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,n2=>{n2=Math.round(n2),this.synth.transposeChannel(n,n2,!0),i0.update(n2)});i0.update(0),i.appendChild(i0.div);let n1=new HE([],this.locale,e4+"channelController.presetSelector",[n+1],async n2=>{let f2=n2.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(f2[0]),!0),this.synth.programChange(n,parseInt(f2[1]),!0),n1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},n2=>this.synth.lockController(n,a7,n2));i.appendChild(n1.mainButton);let S1=document.createElement("div");S1.innerHTML=Eu(ai),this.locale.bindObjectProperty(S1,"title",e4+"channelController.soloButton.description",[n+1]),S1.classList.add("controller_element"),S1.classList.add("mute_button"),S1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let n2=0;n2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let n2=0;n2{if(f1.hasAttribute("is_muted")){f1.removeAttribute("is_muted");let n2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!n2),f1.innerHTML=Fp(ai)}else this.synth.muteChannel(n,!0),f1.setAttribute("is_muted","true"),f1.innerHTML=Vy(ai)},i.appendChild(f1);let g2=document.createElement("div");return g2.innerHTML=n===F7?OE(ai):qE(ai),this.locale.bindObjectProperty(g2,"title",e4+"channelController.drumToggleButton.description",[n+1]),g2.classList.add("controller_element"),g2.classList.add("mute_button"),g2.onclick=()=>{n1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),n1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(g2),{controller:i,voiceMeter:A,pitchWheel:c,pan:U,expression:Z,volume:O,mod:e0,chorus:U0,reverb:_,brightness:P,preset:n1,drumsToggle:g2,soloButton:S1,muteButton:f1,transpose:i0}}function $w(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function aB(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),d=n.getAttribute("max"),p=n.getAttribute("value"),U=n.getAttribute("units"),Z=n.getAttribute("input_id"),O=document.createElement("input");O.classList.add("settings_slider"),O.type="range",O.id=Z,O.min=c,O.max=d,O.value=p;let e0;i&&(e0=document.createElement("span"),e0.textContent=p+U);let U0=document.createElement("div");U0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),U0.appendChild(_);let P=document.createElement("div");return P.classList.add("settings_slider_thumb"),U0.appendChild(P),U0.appendChild(O),O.addEventListener("input",()=>{let i0=parseInt(U0.style.getPropertyValue("--visual-width").replace("%","")),n1=Math.round((O.value-O.min)/(O.max-O.min)*100);Math.abs((i0-n1)/100)>.05?U0.classList.add("settings_slider_transition"):U0.classList.remove("settings_slider_transition"),U0.style.setProperty("--visual-width",`${n1}%`)}),U0.style.setProperty("--visual-width",`${(O.value-O.min)/(O.max-O.min)*100}%`),A.appendChild(U0),i&&A.appendChild(e0),A}function qo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function cw(n,i){switch(n.type){case"button":let A=document.createElement("button");return qo(A,n,i),Ha(n,[A]),A;case"text":let c=document.createElement("p");return qo(c,n,i),Ha(n,[c]),c;case"input":let d=document.createElement("div");d.classList.add("notification_input_wrapper");let p=document.createElement("input");qo(p,n,i),p.addEventListener("keydown",a5=>a5.stopPropagation());let U=document.createElement("label");return qo(U,n,i),Ha(n,[p,U]),d.append(U),d.appendChild(p),d;case"select":let Z=document.createElement("div");Z.classList.add("notification_input_wrapper");let O=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let a5 of Object.entries(n.selectOptions)){let T2=document.createElement("option");T2.value=a5[0],T2.textContent=a5[1],O.appendChild(T2)}let e0=document.createElement("label");return qo(e0,n,i),Ha(n,[O,e0]),Z.appendChild(e0),Z.appendChild(O),Z;case"file":let U0=document.createElement("label");U0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let P=document.createElement("label");P.classList.add("notification_file_button"),qo(P,n,i);let i0=document.createElement("label");return qo(i0,n,i),Ha(n,[P,_,i0]),P.appendChild(_),U0.append(i0),U0.appendChild(P),U0;case"progress":let n1=document.createElement("div");n1.classList.add("notification_progress_background");let S1=document.createElement("div");return S1.classList.add("notification_progress"),Ha(n,[S1,n1]),n1.appendChild(S1),n1;case"toggle":return ZD(n,i);case"range":let f1=document.createElement("input");f1.type="range";let g2=document.createElement("label");Ha(n,[f1,g2]),qo(g2,n,i);let n2=aB(f1,!1),f2=document.createElement("div");return f2.classList.add("notification_slider_wrapper"),f2.appendChild(g2),f2.appendChild(n2),f2}}function Ha(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let d of i)A.startsWith("onchange")?d[A]=c:d.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let d of i)d.addEventListener(A,c)}function ZD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,n,i);let d=document.createElement("input");d.type="checkbox",Ha(n,[c,d]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(d);let U=document.createElement("div");return U.classList.add("notification_switch_slider"),p.appendChild(U),A.appendChild(c),A.appendChild(p),A}var jD=13,XD=0,Gp={};function Ne(n,i,A=jD,c=!0,d=void 0,p=void 0,U=void 0){let Z=document.createElement("div"),O=XD++;Z.classList.add("notification"),Z.innerHTML=` +`}function Bu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var si={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function jy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Xy(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=DE(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=DE(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,d)=>c+d.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var zD=parseFloat(getComputedStyle(document.body).fontSize);function ew(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");Tp.forEach(U0=>{let _=document.createElement("option");_.innerText=U0,_.value=U0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let d=document.createElement("p");d.classList.add("lyrics_text"),n.appendChild(d);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),d.appendChild(p);let T=document.createElement("span");T.classList.add("lyrics_text_gray"),d.appendChild(T);let H=document.createElement("details"),O=document.createElement("summary");this.locale.bindObjectProperty(O,"textContent","locale.sequencerController.lyrics.otherText.title"),H.appendChild(O);let e0=document.createElement("div");e0.innerText="",H.appendChild(e0),n.appendChild(H),this.lyricsElement.text={highlight:p,gray:T,main:d,other:e0},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function tw(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-zD*5)}function iw(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(v3).find(A=>v3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var Jr=32,rw="#ccc",nw="#555",KD="#333",WD="#ddd",ZD="Shift_JIS",Oo=class{constructor(i,A,c){this.iconColor=rw,this.iconDisabledColor=nw,this.controls=i,this.encoding=ZD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=KD,this.iconDisabledColor=WD):(this.mode="dark",this.iconColor=rw,this.iconDisabledColor=nw),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=x$(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=Py(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Tp[c]),this.encodingSelector.value=Tp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let d=this.decodeTextFix(A.buffer);switch(c){default:return;case v3.text:case v3.copyright:case v3.cuePoint:case v3.trackName:case v3.instrumentName:case v3.programName:case v3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case v3.lyric:this.text+=d,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[O8.encoding]!==void 0,A.isEmbedded){let c=(H,O,e0,U0="")=>this.seq.midiData.RMIDInfo?.[H]===void 0?O:U0+e0.decode(this.seq.midiData.RMIDInfo?.[H]).replace(/\0$/,""),d=new TextDecoder,p=c(O8.midiEncoding,this.encoding,d),T=c(O8.encoding,"utf-8",d);this.infoDecoder=new TextDecoder(T),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let P=i.getBoundingClientRect(),i0=_.clientX-P.left,n1=P.width;this.seq.currentTime=i0/n1*this.seq.duration,c.innerHTML=x$(Jr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=Bu("Play/Pause",x$(Jr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let d=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=d;let p=Bu("Previous song",Vy(Jr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let T=Bu("Next song",Hy(Jr));this.locale.bindObjectProperty(T,"title","locale.sequencerController.nextSong"),T.onclick=()=>this.switchToNextSong();let H=Bu("Loop this",Oy(Jr));this.locale.bindObjectProperty(H,"title","locale.sequencerController.loopThis");let O=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),H.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};H.onclick=O,this.loopButton=H;let e0=Bu("Show lyrics",qy(Jr));this.locale.bindObjectProperty(e0,"title","locale.sequencerController.lyrics.show"),e0.firstElementChild.setAttribute("fill",this.iconDisabledColor);let U0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),e0.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};e0.onclick=U0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.playPause:_.preventDefault(),d();break;case si.toggleLoop:_.preventDefault(),O();break;case si.toggleLyrics:_.preventDefault(),U0();break;default:break}}),A.appendChild(p),A.appendChild(H),A.appendChild(c),A.appendChild(e0),A.appendChild(T),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=x$(Jr);break;case si.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=x$(Jr);break;case si.previousSong:this.switchToPreviousSong();break;case si.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let P=parseInt(_.key);0<=P&&P<=9&&(this.seq.currentTime=this.seq.duration*(P/10),c.innerHTML=x$(Jr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=v$(this.seq.currentTime),A=v$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Oo.prototype.createNavigatorHandler=jy;Oo.prototype.updateTitleAndMediaStatus=Xy;Oo.prototype.createLyrics=ew;Oo.prototype.setLyricsText=tw;Oo.prototype.updateOtherTextEvents=iw;function ow(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function sw(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function aw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var pr=class{constructor(i="none",A,c,d,p=0,T=100,H=!1,O=void 0,e0=void 0,U0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=T,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=e0,this.unlockCallback=U0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",d),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,H){if(O===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let P=_.currentTarget.getBoundingClientRect(),i0=P.left,n1=P.width,S1=_.clientX-i0,f1=Math.max(0,Math.min(1,S1/n1));O(f1*(T-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,T7&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Aw=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","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","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","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 (new age)","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","Attack Helicopter","Applause","Gunshot"];var JE=class{constructor(i,A,c,d,p=void 0,T=void 0){this.elements=i.map(H=>({name:H.name,program:H.program,bank:H.bank,stringified:`${H.bank.toString().padStart(3,"0")}:${H.program.toString().padStart(3,"0")} ${H.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",d),this.locale=A,this.localePath=c,this.localeArgs=d,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=T,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let d=document.createElement("input");d.type="text",this.locale.bindObjectProperty(d,"placeholder",this.localePath+".searchPrompt"),c.appendChild(d),d.onkeydown=e0=>e0.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Gp(ai):sB(ai),this.locale.bindObjectProperty(p,"title",e4+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Gp(ai):p.innerHTML=sB(ai)},c.appendChild(p),this.presetLock=p;let T=document.createElement("div");T.classList.add("voice_selector_table_wrapper"),i.appendChild(T);let O=this.generateTable(T,this.elements).querySelector(".voice_selector_selected");d.oninput=e0=>{e0.stopPropagation();let U0=d.value,_=this.elements.filter(S1=>S1.stringified.search(new RegExp(U0,"i"))>=0);if(_.length===this.elements.length||_.length===0)return;T.replaceChildren();let P=this.generateTable(T,_),i0=P.querySelector(".voice_selector_selected");if(i0){O=i0;return}let n1=P.querySelector(".voice_selector_option");n1.classList.add("voice_selector_selected"),O=n1},d.addEventListener("keydown",e0=>{switch(e0.key){case"Enter":let U0=O.getAttribute("bank"),_=O.getAttribute("program"),P=`${U0}:${_}`;if(this.value===P){this.hideSelectionMenu();return}this.editCallback(P),this.locked=!0,this.presetLock.innerHTML=Gp(ai),this.hideSelectionMenu();break;case"ArrowDown":let i0=O.nextElementSibling;for(;i0;){if(i0.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),i0.classList.add("voice_selector_selected"),O=i0;return}i0=i0.nextElementSibling}break;case"ArrowUp":let n1=O.previousElementSibling;for(;n1;){if(n1.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),n1.classList.add("voice_selector_selected"),O=n1;return}n1=n1.previousElementSibling}break}}),i.onclick=e0=>{e0.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=e0=>{e0.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,T7||d.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),T=-20;for(let H of A){let O=document.createElement("tr"),e0=H.program;if(O.classList.add("voice_selector_option"),O.setAttribute("program",e0.toString()),O.setAttribute("bank",H.bank.toString()),e0===p&&H.bank===d&&(O.classList.add("voice_selector_selected"),setTimeout(()=>{O.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),O.onclick=()=>{let S1=`${H.bank}:${e0}`;if(this.value===S1){this.hideSelectionMenu();return}this.editCallback(S1),this.locked=!0,this.presetLock.innerHTML=Gp(ai),this.hideSelectionMenu()},e0!==T&&(T=e0,H.bank!==128)){let S1=document.createElement("tr"),f1=document.createElement("th");f1.colSpan="3",f1.textContent=Aw[T],S1.appendChild(f1),c.appendChild(S1)}let U0=`${H.program.toString().padStart(3,"0")}`,_=`${H.bank.toString().padStart(3,"0")}`,P=document.createElement("td");P.classList.add("voice_selector_preset_name"),P.textContent=H.name;let i0=document.createElement("td");P.classList.add("voice_selector_preset_program"),i0.textContent=U0;let n1=document.createElement("td");P.classList.add("voice_selector_preset_program"),n1.textContent=_,O.appendChild(n1),O.appendChild(i0),O.appendChild(P),c.appendChild(O)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,d=parseInt(this.value.split(":")[1]),p=d;this.elements.find(T=>T.program===d)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let T of c.rows){if(T.cells.length===1)continue;let H=parseInt(T.cells[0].textContent),O=parseInt(T.cells[1].textContent);H===d&&O===p&&(T.classList.add("voice_selector_selected"),T.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),d=parseInt(A[1]),p=this.elements.find(T=>T.bank===c&&T.program===d);return p?c===128||this.elements.filter(T=>T.program===d&&T.bank!==128).length<2?`${d}. ${p.name}`:`${c}:${d} ${p.name}`:""}};var ai=32;function $w(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,n2=>{let f2=c.isLocked;f2&&this.synth.lockController(n,S$+q4.pitchWheel,!1),n2=Math.round(n2)+8192;let a5=n2>>7,T2=n2&127;this.synth.pitchWheel(n,a5,T2),f2&&this.synth.lockController(n,S$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,S$+q4.pitchWheel,!0),()=>this.synth.lockController(n,S$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let d=(n2,f2,a5)=>{a5.isLocked?(this.synth.lockController(n,n2,!1),this.synth.controllerChange(n,n2,f2),this.synth.lockController(n,n2,!0)):this.synth.controllerChange(n,n2,f2)},p=(n2,f2,a5)=>{let T2=new pr(this.channelColors[n%this.channelColors.length],e4+f2,this.locale,[n+1],0,127,!0,A0=>d(n2,Math.round(A0),T2),()=>this.synth.lockController(n,n2,!0),()=>this.synth.lockController(n,n2,!1));return T2.update(a5),T2},T=p($3.pan,"channelController.panMeter",64);i.appendChild(T.div);let H=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(H.div);let O=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(O.div);let e0=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(e0.div);let U0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(U0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let P=p($3.brightness,"channelController.filterMeter",64);i.appendChild(P.div);let i0=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,n2=>{n2=Math.round(n2),this.synth.transposeChannel(n,n2,!0),i0.update(n2)});i0.update(0),i.appendChild(i0.div);let n1=new JE([],this.locale,e4+"channelController.presetSelector",[n+1],async n2=>{let f2=n2.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(f2[0]),!0),this.synth.programChange(n,parseInt(f2[1]),!0),n1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},n2=>this.synth.lockController(n,a7,n2));i.appendChild(n1.mainButton);let S1=document.createElement("div");S1.innerHTML=Cu(ai),this.locale.bindObjectProperty(S1,"title",e4+"channelController.soloButton.description",[n+1]),S1.classList.add("controller_element"),S1.classList.add("mute_button"),S1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let n2=0;n2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let n2=0;n2{if(f1.hasAttribute("is_muted")){f1.removeAttribute("is_muted");let n2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!n2),f1.innerHTML=Np(ai)}else this.synth.muteChannel(n,!0),f1.setAttribute("is_muted","true"),f1.innerHTML=Jy(ai)},i.appendChild(f1);let g2=document.createElement("div");return g2.innerHTML=n===F7?VE(ai):YE(ai),this.locale.bindObjectProperty(g2,"title",e4+"channelController.drumToggleButton.description",[n+1]),g2.classList.add("controller_element"),g2.classList.add("mute_button"),g2.onclick=()=>{n1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),n1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(g2),{controller:i,voiceMeter:A,pitchWheel:c,pan:T,expression:H,volume:O,mod:e0,chorus:U0,reverb:_,brightness:P,preset:n1,drumsToggle:g2,soloButton:S1,muteButton:f1,transpose:i0}}function lw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function AB(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),d=n.getAttribute("max"),p=n.getAttribute("value"),T=n.getAttribute("units"),H=n.getAttribute("input_id"),O=document.createElement("input");O.classList.add("settings_slider"),O.type="range",O.id=H,O.min=c,O.max=d,O.value=p;let e0;i&&(e0=document.createElement("span"),e0.textContent=p+T);let U0=document.createElement("div");U0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),U0.appendChild(_);let P=document.createElement("div");return P.classList.add("settings_slider_thumb"),U0.appendChild(P),U0.appendChild(O),O.addEventListener("input",()=>{let i0=parseInt(U0.style.getPropertyValue("--visual-width").replace("%","")),n1=Math.round((O.value-O.min)/(O.max-O.min)*100);Math.abs((i0-n1)/100)>.05?U0.classList.add("settings_slider_transition"):U0.classList.remove("settings_slider_transition"),U0.style.setProperty("--visual-width",`${n1}%`)}),U0.style.setProperty("--visual-width",`${(O.value-O.min)/(O.max-O.min)*100}%`),A.appendChild(U0),i&&A.appendChild(e0),A}function qo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function gw(n,i){switch(n.type){case"button":let A=document.createElement("button");return qo(A,n,i),Ha(n,[A]),A;case"text":let c=document.createElement("p");return qo(c,n,i),Ha(n,[c]),c;case"input":let d=document.createElement("div");d.classList.add("notification_input_wrapper");let p=document.createElement("input");qo(p,n,i),p.addEventListener("keydown",a5=>a5.stopPropagation());let T=document.createElement("label");return qo(T,n,i),Ha(n,[p,T]),d.append(T),d.appendChild(p),d;case"select":let H=document.createElement("div");H.classList.add("notification_input_wrapper");let O=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let a5 of Object.entries(n.selectOptions)){let T2=document.createElement("option");T2.value=a5[0],T2.textContent=a5[1],O.appendChild(T2)}let e0=document.createElement("label");return qo(e0,n,i),Ha(n,[O,e0]),H.appendChild(e0),H.appendChild(O),H;case"file":let U0=document.createElement("label");U0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let P=document.createElement("label");P.classList.add("notification_file_button"),qo(P,n,i);let i0=document.createElement("label");return qo(i0,n,i),Ha(n,[P,_,i0]),P.appendChild(_),U0.append(i0),U0.appendChild(P),U0;case"progress":let n1=document.createElement("div");n1.classList.add("notification_progress_background");let S1=document.createElement("div");return S1.classList.add("notification_progress"),Ha(n,[S1,n1]),n1.appendChild(S1),n1;case"toggle":return jD(n,i);case"range":let f1=document.createElement("input");f1.type="range";let g2=document.createElement("label");Ha(n,[f1,g2]),qo(g2,n,i);let n2=AB(f1,!1),f2=document.createElement("div");return f2.classList.add("notification_slider_wrapper"),f2.appendChild(g2),f2.appendChild(n2),f2}}function Ha(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let d of i)A.startsWith("onchange")?d[A]=c:d.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let d of i)d.addEventListener(A,c)}function jD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,n,i);let d=document.createElement("input");d.type="checkbox",Ha(n,[c,d]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(d);let T=document.createElement("div");return T.classList.add("notification_switch_slider"),p.appendChild(T),A.appendChild(c),A.appendChild(p),A}var XD=13,e_=0,Pp={};function Ne(n,i,A=XD,c=!0,d=void 0,p=void 0,T=void 0){let H=document.createElement("div"),O=e_++;H.classList.add("notification"),H.innerHTML=`

${n}

\xD7 -
`;let e0=document.createElement("div");if(e0.classList.add("notification_content"),p)for(let[_,P]of Object.entries(p))e0.style[_]=P;Z.appendChild(e0);for(let _ of i){let P=cw(_,d);_.onClick&&(P.onclick=()=>_.onClick({div:Z,id:O},P)),e0.appendChild(P)}c?Z.getElementsByClassName("close_btn")[0].onclick=()=>{le(O)}:Z.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{Z.classList.add("drop")},75);let U0=setTimeout(()=>{le(O)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(Z),Gp[O]={div:Z,timeout:U0,onclose:U},{div:Z,id:O}}function le(n){if(Gp[n]===void 0)return;let i=Gp[n],A=i.div;clearTimeout(Gp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Gp[n]=void 0}var l7={nodesAmount:Yr.nodesAmount,defaultDelay:Yr.defaultDelay,delayVariation:Yr.delayVariation,stereoDifference:Yr.stereoDifference,oscillatorFrequency:Yr.oscillatorFrequency,oscillatorFrequencyVariation:Yr.oscillatorFrequencyVariation,oscillatorGain:Yr.oscillatorGain};function gw(n,i,A){let c=i+"effectsConfig.",d=Ne(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,U)=>{A.disableGSNRPparams(),U.parentNode.removeChild(U)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let U=p.target.parentElement.parentElement;U.textContent=n.getLocaleString("locale.synthInit.genericLoading");let Z=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(Z),U.textContent=n.getLocaleString("locale.synthInit.done"),_5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{l7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig(l7)}}],999999,!0,n);return d.div.onclick=p=>p.stopImmediatePropagation(),d}var d8="locale.synthesizerController.keyModifiers.";async function uw(n,i){return new Promise(A=>{let c=Ne(n.getLocaleString(d8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(d8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=d=>{le(c.id),i.onNotePressed=void 0,A(d)}})}async function dw(n,i,A,c){let d=await uw(i,A),p=(P,i0,n1,S1)=>{let f1={type:"number",min:i0.toString(),max:n1.toString(),value:S1.toString()};return f1[P]="true",f1},U={};U.unchanged=i.getLocaleString(d8+"modifyKey.preset.unchanged");for(let P of c.toSorted((i0,n1)=>i0.presetNamen1.presetName?1:0))U[P.presetName]=P.presetName;let Z=n.keyModifierManager.getModifier(A.channel,d),O=Z?.velocity??-1,e0=Ne(i.getLocaleString(d8+"modifyKey.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[d.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async P=>{le(P.id),await dw(n,i,A,c)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:d8+"modifyKey.velocity",attributes:p("vel",0,127,O)},{type:"select",translatePathTitle:d8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:U},{type:"button",translatePathTitle:d8+"modifyKey.apply",onClick:P=>{let i0=parseInt(P.div.querySelector("input[chan]").value)??-1,n1=parseInt(P.div.querySelector("input[vel]").value)??-1,S1=P.div.querySelector("select[preset-selector]").value,f1=-1,g2=-1;if(S1!=="unchanged"){let n2=c.find(f2=>f2.presetName===S1);f1=n2.bank,g2=n2.program}n.keyModifierManager.addModifier(i0,d,{velocity:n1,patch:{program:g2,bank:f1}}),le(P.id)}}],99999,!0,i),U0=Z?.patch?.program??-1,_=Z?.patch?.bank??-1;_!==-1&&U0!==-1&&(e0.div.querySelector("select[preset-selector]").value=c.find(P=>P.bank===_&&P.program===U0).presetName)}async function hw(n,i,A){let c=await uw(i,A);Ne(i.getLocaleString(d8+"removeModification.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async d=>{le(d.id),await hw(n,i,A)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:d8+"removeModification.remove",onClick:d=>{let p=parseInt(d.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),le(d.id)}}],99999,!0,i)}function fw(n,i,A,c){Ne(i.getLocaleString(d8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(d8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(d8+"prompt")},{type:"button",translatePathTitle:d8+"modifyKey",onClick:d=>{le(d.id),dw(n,i,A,c).then()}},{type:"button",translatePathTitle:d8+"removeModification",onClick:d=>{le(d.id),hw(n,i,A).then()}},{type:"button",translatePathTitle:d8+"resetModifications",onClick:d=>{le(d.id),Ne(i.getLocaleString(d8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(d8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{le(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{le(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function Iw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new pr("",e4+"mainVoiceMeter",this.locale,[],0,eB),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new pr("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,e0=>{this.synth.setMainVolume(Math.round(e0)/100),this.volumeController.update(e0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new pr("",e4+"mainPanMeter",this.locale,[],-1,1,!0,e0=>{this.synth.setMasterPan(e0),this.panController.update(e0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new pr("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,e0=>{this.synth.transpose(Math.round(e0*2)/2),this.transposeController.update(Math.round(e0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",e4+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",e4+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",e4+"systemReset.title"),this.locale.bindObjectProperty(A,"title",e4+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((e0,U0)=>{e0.pitchWheel.isLocked&&e0.pitchWheel.lockMeter(),e0.pan.isLocked&&e0.pan.lockMeter(),e0.expression.isLocked&&e0.expression.lockMeter(),e0.volume.isLocked&&e0.volume.lockMeter(),e0.mod.isLocked&&e0.mod.lockMeter(),e0.chorus.isLocked&&e0.chorus.lockMeter(),e0.reverb.isLocked&&e0.reverb.lockMeter(),e0.brightness.isLocked&&e0.brightness.lockMeter(),e0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(U0,a7,!1),e0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(U0,0,!0),e0.transpose.update(0),e0.soloButton.innerHTML=Eu(ai),e0.muteButton.innerHTML=Fp(ai),this.synth.muteChannel(U0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",e4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let d=document.createElement("button");this.locale.bindObjectProperty(d,"textContent",e4+"keyModifiers.button.title"),this.locale.bindObjectProperty(d,"title",e4+"keyModifiers.button.description"),d.classList.add("synthui_button"),d.classList.add("main_controller_element"),d.onclick=()=>{fw(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",e4+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){le(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=gw(this.locale,e4,this.synth).id};let U=document.createElement("select");U.classList.add("main_controller_element"),U.classList.add("synthui_button"),this.locale.bindObjectProperty(U,"title",e4+"interpolation.description");{let e0=document.createElement("option");e0.value="0",this.locale.bindObjectProperty(e0,"textContent",e4+"interpolation.linear"),U.appendChild(e0);let U0=document.createElement("option");U0.value="1",this.locale.bindObjectProperty(U0,"textContent",e4+"interpolation.nearestNeighbor"),U.appendChild(U0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",e4+"interpolation.cubic"),U.appendChild(_),U.onchange=()=>{this.synth.setInterpolationType(parseInt(U.value))}}let Z=document.createElement("div");Z.classList.add("synthui_controller"),this.uiDiv.appendChild(Z);let O=document.createElement("button");this.locale.bindObjectProperty(O,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(O,"title",e4+"toggleButton.description"),O.classList.add("synthui_button"),O.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(U),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,d,p,O,U],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(O),Z.appendChild(n),this.mainControllerDiv=Z,this.mainControllerDiv.onclick=e0=>e0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),Z.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function mw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,d=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(d);break;case $3.mainVolume:p.volume.update(d);break;case $3.pan:p.pan.update(d);break;case $3.modulationWheel:p.mod.update(d);break;case $3.chorusDepth:p.chorus.update(d);break;case $3.reverbDepth:p.reverb.update(d);break;case $3.brightness:p.brightness.update(d)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?OE(32):qE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",zr=class{constructor(i,A,c){this.channelColors=i;let d=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),d.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case si.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case si.settingsShow:this.isShown=!0,this.toggleVisibility();break;case si.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case si.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,d)=>c.program===d.program?c.bank-d.bank:c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,d)=>c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,d)=>{let p=this.synth.channelProperties[d].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};zr.prototype.hideControllers=nw;zr.prototype.showControllers=ow;zr.prototype.toggleDarkMode=sw;zr.prototype.createChannelController=Aw;zr.prototype.createChannelControllers=$w;zr.prototype.createMainSynthController=Iw;zr.prototype.setEventListeners=mw;var Up=null,YE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Up,this.selectedOutput=Up,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,_5("%cMIDI handler created!",C1.recognized),!0}catch(i){return I9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return I9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),_5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Up,i.connectMidiOutput(void 0),_5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},_5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Up,i.onmidimessage=void 0,_5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Up;for(let i of this.inputs)i[1].onmidimessage=void 0}};var VE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let d=c.map(p=>parseInt(p,16));i.sendMessage(d)}),_5("%cWeb MIDI Link handler created!",C1.recognized)}};var Ya="midi range";function pw(n,i,A){let c=0,d=this.htmlControls.keyboard,p=[],U=[],Z,O=P=>{let i0=U[P],n1=i0.drum?128:i0.bank,S1=Z.find(f1=>f1.bank===n1&&f1.program===i0.program);S1||(S1=Z[0]),p[P].textContent=": "+S1.presetName},e0=()=>{if(Z)for(let P=0;P{let P=document.createElement("option");P.value=c.toString();let i0=document.createElement("p");this.locale.bindObjectProperty(i0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let n1=document.createElement("p");n1.textContent=": not ",p.push(n1),U.push({program:0,bank:0,drum:c%16===9}),e0(),P.appendChild(i0),P.appendChild(n1),P.style.background=i.channelColors[c%i.channelColors.length],P.style.color="rgb(0, 0, 0)",d.channelSelector.appendChild(P),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",P=>{Z=P,e0()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),_.eventHandler.addEvent("programchange","settings-program-change",P=>{let i0=U[P.channel];i0.bank=P.bank,i0.program=P.program,O(P.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",P=>{U[P.channel].drum=P.isDrumChannel,O(P.channel)});for(let P=0;P{n.selectChannel(parseInt(d.channelSelector.value))},d.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{d.sizeSelector.value===Ya?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},600);return}d.sizeSelector.value===Ya?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},this.addSequencer=P=>{P.addOnSongChangeEvent(i0=>{this.autoKeyRange&&(n.keyRange=i0.keyRange,A.keyRange=i0.keyRange),i0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",P=>{P.userCalled&&(n.selectChannel(P.channel),d.channelSelector.value=P.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",P=>{if(P.isMuted&&P.channel===n.channel){let i0=0;for(;i.synth.channelProperties[i0].isMuted;)i0++;i0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},d.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var Ew=` + `;let e0=document.createElement("div");if(e0.classList.add("notification_content"),p)for(let[_,P]of Object.entries(p))e0.style[_]=P;H.appendChild(e0);for(let _ of i){let P=gw(_,d);_.onClick&&(P.onclick=()=>_.onClick({div:H,id:O},P)),e0.appendChild(P)}c?H.getElementsByClassName("close_btn")[0].onclick=()=>{le(O)}:H.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{H.classList.add("drop")},75);let U0=setTimeout(()=>{le(O)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(H),Pp[O]={div:H,timeout:U0,onclose:T},{div:H,id:O}}function le(n){if(Pp[n]===void 0)return;let i=Pp[n],A=i.div;clearTimeout(Pp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Pp[n]=void 0}var l7={nodesAmount:Vr.nodesAmount,defaultDelay:Vr.defaultDelay,delayVariation:Vr.delayVariation,stereoDifference:Vr.stereoDifference,oscillatorFrequency:Vr.oscillatorFrequency,oscillatorFrequencyVariation:Vr.oscillatorFrequencyVariation,oscillatorGain:Vr.oscillatorGain};function uw(n,i,A){let c=i+"effectsConfig.",d=Ne(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,T)=>{A.disableGSNRPparams(),T.parentNode.removeChild(T)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let T=p.target.parentElement.parentElement;T.textContent=n.getLocaleString("locale.synthInit.genericLoading");let H=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(H),T.textContent=n.getLocaleString("locale.synthInit.done"),_5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{l7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig(l7)}}],999999,!0,n);return d.div.onclick=p=>p.stopImmediatePropagation(),d}var d8="locale.synthesizerController.keyModifiers.";async function dw(n,i){return new Promise(A=>{let c=Ne(n.getLocaleString(d8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(d8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=d=>{le(c.id),i.onNotePressed=void 0,A(d)}})}async function hw(n,i,A,c){let d=await dw(i,A),p=(P,i0,n1,S1)=>{let f1={type:"number",min:i0.toString(),max:n1.toString(),value:S1.toString()};return f1[P]="true",f1},T={};T.unchanged=i.getLocaleString(d8+"modifyKey.preset.unchanged");for(let P of c.toSorted((i0,n1)=>i0.presetNamen1.presetName?1:0))T[P.presetName]=P.presetName;let H=n.keyModifierManager.getModifier(A.channel,d),O=H?.velocity??-1,e0=Ne(i.getLocaleString(d8+"modifyKey.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[d.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async P=>{le(P.id),await hw(n,i,A,c)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:d8+"modifyKey.velocity",attributes:p("vel",0,127,O)},{type:"select",translatePathTitle:d8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:T},{type:"button",translatePathTitle:d8+"modifyKey.apply",onClick:P=>{let i0=parseInt(P.div.querySelector("input[chan]").value)??-1,n1=parseInt(P.div.querySelector("input[vel]").value)??-1,S1=P.div.querySelector("select[preset-selector]").value,f1=-1,g2=-1;if(S1!=="unchanged"){let n2=c.find(f2=>f2.presetName===S1);f1=n2.bank,g2=n2.program}n.keyModifierManager.addModifier(i0,d,{velocity:n1,patch:{program:g2,bank:f1}}),le(P.id)}}],99999,!0,i),U0=H?.patch?.program??-1,_=H?.patch?.bank??-1;_!==-1&&U0!==-1&&(e0.div.querySelector("select[preset-selector]").value=c.find(P=>P.bank===_&&P.program===U0).presetName)}async function fw(n,i,A){let c=await dw(i,A);Ne(i.getLocaleString(d8+"removeModification.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async d=>{le(d.id),await fw(n,i,A)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:d8+"removeModification.remove",onClick:d=>{let p=parseInt(d.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),le(d.id)}}],99999,!0,i)}function Iw(n,i,A,c){Ne(i.getLocaleString(d8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(d8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(d8+"prompt")},{type:"button",translatePathTitle:d8+"modifyKey",onClick:d=>{le(d.id),hw(n,i,A,c).then()}},{type:"button",translatePathTitle:d8+"removeModification",onClick:d=>{le(d.id),fw(n,i,A).then()}},{type:"button",translatePathTitle:d8+"resetModifications",onClick:d=>{le(d.id),Ne(i.getLocaleString(d8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(d8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{le(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{le(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function mw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new pr("",e4+"mainVoiceMeter",this.locale,[],0,iB),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new pr("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,e0=>{this.synth.setMainVolume(Math.round(e0)/100),this.volumeController.update(e0)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new pr("",e4+"mainPanMeter",this.locale,[],-1,1,!0,e0=>{this.synth.setMasterPan(e0),this.panController.update(e0)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new pr("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,e0=>{this.synth.transpose(Math.round(e0*2)/2),this.transposeController.update(Math.round(e0*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",e4+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",e4+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",e4+"systemReset.title"),this.locale.bindObjectProperty(A,"title",e4+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((e0,U0)=>{e0.pitchWheel.isLocked&&e0.pitchWheel.lockMeter(),e0.pan.isLocked&&e0.pan.lockMeter(),e0.expression.isLocked&&e0.expression.lockMeter(),e0.volume.isLocked&&e0.volume.lockMeter(),e0.mod.isLocked&&e0.mod.lockMeter(),e0.chorus.isLocked&&e0.chorus.lockMeter(),e0.reverb.isLocked&&e0.reverb.lockMeter(),e0.brightness.isLocked&&e0.brightness.lockMeter(),e0.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(U0,a7,!1),e0.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(U0,0,!0),e0.transpose.update(0),e0.soloButton.innerHTML=Cu(ai),e0.muteButton.innerHTML=Np(ai),this.synth.muteChannel(U0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",e4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let d=document.createElement("button");this.locale.bindObjectProperty(d,"textContent",e4+"keyModifiers.button.title"),this.locale.bindObjectProperty(d,"title",e4+"keyModifiers.button.description"),d.classList.add("synthui_button"),d.classList.add("main_controller_element"),d.onclick=()=>{Iw(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",e4+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){le(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=uw(this.locale,e4,this.synth).id};let T=document.createElement("select");T.classList.add("main_controller_element"),T.classList.add("synthui_button"),this.locale.bindObjectProperty(T,"title",e4+"interpolation.description");{let e0=document.createElement("option");e0.value="0",this.locale.bindObjectProperty(e0,"textContent",e4+"interpolation.linear"),T.appendChild(e0);let U0=document.createElement("option");U0.value="1",this.locale.bindObjectProperty(U0,"textContent",e4+"interpolation.nearestNeighbor"),T.appendChild(U0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",e4+"interpolation.cubic"),T.appendChild(_),T.onchange=()=>{this.synth.setInterpolationType(parseInt(T.value))}}let H=document.createElement("div");H.classList.add("synthui_controller"),this.uiDiv.appendChild(H);let O=document.createElement("button");this.locale.bindObjectProperty(O,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(O,"title",e4+"toggleButton.description"),O.classList.add("synthui_button"),O.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(T),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,d,p,O,T],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(O),H.appendChild(n),this.mainControllerDiv=H,this.mainControllerDiv.onclick=e0=>e0.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),H.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function pw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,d=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(d);break;case $3.mainVolume:p.volume.update(d);break;case $3.pan:p.pan.update(d);break;case $3.modulationWheel:p.mod.update(d);break;case $3.chorusDepth:p.chorus.update(d);break;case $3.reverbDepth:p.reverb.update(d);break;case $3.brightness:p.brightness.update(d)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?VE(32):YE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",zr=class{constructor(i,A,c){this.channelColors=i;let d=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),d.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case si.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case si.settingsShow:this.isShown=!0,this.toggleVisibility();break;case si.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case si.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,d)=>c.program===d.program?c.bank-d.bank:c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,d)=>c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,d)=>{let p=this.synth.channelProperties[d].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};zr.prototype.hideControllers=ow;zr.prototype.showControllers=sw;zr.prototype.toggleDarkMode=aw;zr.prototype.createChannelController=$w;zr.prototype.createChannelControllers=lw;zr.prototype.createMainSynthController=mw;zr.prototype.setEventListeners=pw;var Op=null,zE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Op,this.selectedOutput=Op,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,_5("%cMIDI handler created!",C1.recognized),!0}catch(i){return I9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return I9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),_5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Op,i.connectMidiOutput(void 0),_5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},_5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Op,i.onmidimessage=void 0,_5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Op;for(let i of this.inputs)i[1].onmidimessage=void 0}};var KE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let d=c.map(p=>parseInt(p,16));i.sendMessage(d)}),_5("%cWeb MIDI Link handler created!",C1.recognized)}};var Va="midi range";function Ew(n,i,A){let c=0,d=this.htmlControls.keyboard,p=[],T=[],H,O=P=>{let i0=T[P],n1=i0.drum?128:i0.bank,S1=H.find(f1=>f1.bank===n1&&f1.program===i0.program);S1||(S1=H[0]),p[P].textContent=": "+S1.presetName},e0=()=>{if(H)for(let P=0;P{let P=document.createElement("option");P.value=c.toString();let i0=document.createElement("p");this.locale.bindObjectProperty(i0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let n1=document.createElement("p");n1.textContent=": not ",p.push(n1),T.push({program:0,bank:0,drum:c%16===9}),e0(),P.appendChild(i0),P.appendChild(n1),P.style.background=i.channelColors[c%i.channelColors.length],P.style.color="rgb(0, 0, 0)",d.channelSelector.appendChild(P),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",P=>{H=P,e0()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),_.eventHandler.addEvent("programchange","settings-program-change",P=>{let i0=T[P.channel];i0.bank=P.bank,i0.program=P.program,O(P.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",P=>{T[P.channel].drum=P.isDrumChannel,O(P.channel)});for(let P=0;P{n.selectChannel(parseInt(d.channelSelector.value))},d.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{d.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},600);return}d.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},this.addSequencer=P=>{P.addOnSongChangeEvent(i0=>{this.autoKeyRange&&(n.keyRange=i0.keyRange,A.keyRange=i0.keyRange),i0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",P=>{P.userCalled&&(n.selectChannel(P.channel),d.channelSelector.value=P.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",P=>{if(P.isMuted&&P.channel===n.channel){let i0=0;for(;i.synth.channelProperties[i0].isMuted;)i0++;i0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},d.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var Cw=`

@@ -151,7 +151,7 @@ var kE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( - +
@@ -212,26 +212,26 @@ var kE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(

-`;async function Cw(){let n=await window.savedSettings;if(!n.interface)return;_5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let d=c.sampleSize;i.analyserFftSlider.value=Math.log2(d),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=d,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(d)+2)),A.updateFftSize(),this.setTimeDelay(d),Tn(i.analyserFftSlider).innerText=`${d}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let U=this.htmlControls.keyboard,Z=this.midiKeyboard,O=n.keyboard;Z.setKeyRange(O.keyRange,!1),O.autoRange?(U.sizeSelector.value=Ya,this.autoKeyRange=!0):(this.autoKeyRange=!1,U.sizeSelector.value=Object.keys(this.keyboardSizes).find(e0=>this.keyboardSizes[e0].min===O.keyRange.min&&this.keyboardSizes[e0].max===O.keyRange.max)),O.mode==="dark"&&(Z.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),O.show===!1&&(Z.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function Bw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Qw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Ya,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function yw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,d]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=d.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function ww(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var JE={start:"#101010",end:"#212121"},zE={start:"#bbb",end:"#f0f0f0"},vw="#eee",kw="#333",KE={start:"#222",end:"#333"},WE={start:"#ccc",end:"#fff"},Nn=.2;function Sw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(kw,vw,Nn,i,"--font-color"),Gn(WE.start,KE.start,Nn,i,"--top-buttons-color-start"),Gn(WE.end,KE.end,Nn,i,"--top-buttons-color-end"),Gn(zE.start,JE.start,Nn,i,"--top-color-start"),Gn(zE.end,JE.end,Nn,i,"--top-color-end")):(Gn(vw,kw,Nn,i,"--font-color"),Gn(KE.start,WE.start,Nn,i,"--top-buttons-color-start"),Gn(KE.end,WE.end,Nn,i,"--top-buttons-color-end"),Gn(JE.start,zE.start,Nn,i,"--top-color-start"),Gn(JE.end,zE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Bu={};function Gn(n,i,A,c,d){Bu[d]&&(clearInterval(Bu[d]),Bu[d]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let P=parseInt(_.slice(1),16);return{r:P>>16&255,g:P>>8&255,b:P&255}}function U(_,P,i0){return _+(P-_)*i0}let Z=p(n),O=p(i),e0=performance.now()/1e3;function U0(){let P=performance.now()/1e3-e0,i0=Math.min(P/A,1),n1=Math.round(U(Z.r,O.r,i0)),S1=Math.round(U(Z.g,O.g,i0)),f1=Math.round(U(Z.b,O.b,i0));c.style.setProperty(d,`rgb(${n1}, ${S1}, ${f1})`),i0>=1&&(clearInterval(Bu[d]),Bu[d]=void 0)}Bu[d]=setInterval(U0,1e3/60)}function bw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Tn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Tn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(A),Tn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function Dw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(T7||Ne(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function _w(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function xw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var Lw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Mw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Rw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Fw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Lw,keyboardSettings:Mw,midiSettings:Rw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var Tw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var Nw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Gw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Uw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. +`;async function Bw(){let n=await window.savedSettings;if(!n.interface)return;_5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let d=c.sampleSize;i.analyserFftSlider.value=Math.log2(d),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=d,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(d)+2)),A.updateFftSize(),this.setTimeDelay(d),Tn(i.analyserFftSlider).innerText=`${d}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let T=this.htmlControls.keyboard,H=this.midiKeyboard,O=n.keyboard;H.setKeyRange(O.keyRange,!1),O.autoRange?(T.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,T.sizeSelector.value=Object.keys(this.keyboardSizes).find(e0=>this.keyboardSizes[e0].min===O.keyRange.min&&this.keyboardSizes[e0].max===O.keyRange.max)),O.mode==="dark"&&(H.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),O.show===!1&&(H.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function Qw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function yw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Va,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function ww(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,d]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=d.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function vw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var WE={start:"#101010",end:"#212121"},ZE={start:"#bbb",end:"#f0f0f0"},kw="#eee",Sw="#333",jE={start:"#222",end:"#333"},XE={start:"#ccc",end:"#fff"},Nn=.2;function bw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(Sw,kw,Nn,i,"--font-color"),Gn(XE.start,jE.start,Nn,i,"--top-buttons-color-start"),Gn(XE.end,jE.end,Nn,i,"--top-buttons-color-end"),Gn(ZE.start,WE.start,Nn,i,"--top-color-start"),Gn(ZE.end,WE.end,Nn,i,"--top-color-end")):(Gn(kw,Sw,Nn,i,"--font-color"),Gn(jE.start,XE.start,Nn,i,"--top-buttons-color-start"),Gn(jE.end,XE.end,Nn,i,"--top-buttons-color-end"),Gn(WE.start,ZE.start,Nn,i,"--top-color-start"),Gn(WE.end,ZE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Qu={};function Gn(n,i,A,c,d){Qu[d]&&(clearInterval(Qu[d]),Qu[d]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let P=parseInt(_.slice(1),16);return{r:P>>16&255,g:P>>8&255,b:P&255}}function T(_,P,i0){return _+(P-_)*i0}let H=p(n),O=p(i),e0=performance.now()/1e3;function U0(){let P=performance.now()/1e3-e0,i0=Math.min(P/A,1),n1=Math.round(T(H.r,O.r,i0)),S1=Math.round(T(H.g,O.g,i0)),f1=Math.round(T(H.b,O.b,i0));c.style.setProperty(d,`rgb(${n1}, ${S1}, ${f1})`),i0>=1&&(clearInterval(Qu[d]),Qu[d]=void 0)}Qu[d]=setInterval(U0,1e3/60)}function Dw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Tn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Tn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(A),Tn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function _w(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(T7||Ne(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function xw(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function Lw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var Mw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Rw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Fw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Tw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Mw,keyboardSettings:Rw,midiSettings:Fw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var Nw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var Gw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Uw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Pw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. Currently you can modify its velocity and assign a patch (instrument) it uses. - This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Pw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Nw,effectsConfig:Gw,keyModifiers:Uw};var Ow={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var qw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},sampleRate:{title:"Sample rate",description:"Output file sample rate in Hz. Leave as is unless you know what you're doing."},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls)",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Hw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:qw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:Tw,settings:Fw,synthesizerController:Pw,sequencerController:Ow};var Yw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Vw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Jw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var zw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Yw,keyboardSettings:Vw,midiSettings:Jw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Kw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Ww={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var Zw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var jw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. + This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Ow={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Gw,effectsConfig:Uw,keyModifiers:Pw};var qw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Hw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},sampleRate:{title:"Sample rate",description:"Output file sample rate in Hz. Leave as is unless you know what you're doing."},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls)",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Vw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Hw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:Nw,settings:Tw,synthesizerController:Ow,sequencerController:qw};var Yw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Jw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var zw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Kw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Yw,keyboardSettings:Jw,midiSettings:zw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Ww={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Zw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var jw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var Xw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. Aktualnie mo\u017Cesz nadpisa\u0107 si\u0142\u0119 nacisku oraz przypisa\u0107 instrument do danego klawisza. -To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var Xw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Ww,effectsConfig:Zw,keyModifiers:jw};var ev={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var tv={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},sampleRate:{title:"Cz\u0119stotliwo\u015B\u0107",description:"Cz\u0119stotliwo\u015B\u0107 pr\xF3bkowania d\u017Awi\u0119ku. Pozostaw bez zmian, chyba \u017Ce wiesz, co robisz."},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls)",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var iv={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:tv,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Kw,settings:zw,synthesizerController:Xw,sequencerController:ev};var rv={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var nv={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var ov={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var sv={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:rv,keyboardSettings:nv,midiSettings:ov,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var av={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Av={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var $v={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Av};var lv={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var cv={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var gv={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:cv,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var ev={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Zw,effectsConfig:jw,keyModifiers:Xw};var tv={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var iv={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},sampleRate:{title:"Cz\u0119stotliwo\u015B\u0107",description:"Cz\u0119stotliwo\u015B\u0107 pr\xF3bkowania d\u017Awi\u0119ku. Pozostaw bez zmian, chyba \u017Ce wiesz, co robisz."},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls)",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var rv={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:iv,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Ww,settings:Kw,synthesizerController:ev,sequencerController:tv};var nv={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var ov={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var sv={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var av={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:nv,keyboardSettings:ov,midiSettings:sv,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Av={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var $v={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var lv={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:$v};var cv={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var gv={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var uv={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:gv,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:av,settings:sv,synthesizerController:$v,sequencerController:lv};var uv={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var dv={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var hv={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var fv={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:uv,keyboardSettings:dv,midiSettings:hv,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var Iv={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var mv={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var pv={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente -Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:mv};var Ev={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var Cv={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis +\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:Av,settings:av,synthesizerController:lv,sequencerController:cv};var dv={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var hv={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var fv={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var Iv={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:dv,keyboardSettings:hv,midiSettings:fv,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var mv={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var pv={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var Ev={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente +Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:pv};var Cv={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var Bv={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier Note : si la banque de sons \xE9tait d\xE9j\xE0 compress\xE9e, cette option ne d\xE9compressera pas m\xEAme en \xE9tant d\xE9sactiv\xE9e`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"}}},rmidi:{button:{title:"MIDI embarqu\xE9 (.rmi)",description:`Exporter le fichier MIDI modifi\xE9 avec la banque de sons all\xE9g\xE9e dans un seul fichier Note : ce format n'est pas support\xE9 par tous les lecteurs MIDI`},progress:{title:"Exportation du fichier MIDI embarqu\xE9...",loading:"Chargement de la banque de sons et du fichier MIDI...",modifyingMIDI:"Modification MIDI...",modifyingSoundfont:"All\xE8gement de la banque de sons...",saving:"Cr\xE9ation du fichier RMIDI...",done:"Termin\xE9 !"},options:{title:"Options de l'exportation RMIDI",confirm:"Exporter",compress:{title:"Compression",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand\xE9e)`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"},bankOffset:{title:"D\xE9calage de banque",description:`D\xE9calage des num\xE9ros de banque dans le fichier (une valeur de 0 est recommand\xE9e sauf cas particulier)`},adjust:{title:"Ajustement MIDI",description:`Ajuste le fichier MIDI \xE0 la banque de sons -(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var Bv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:Cv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:Iv,settings:fv,synthesizerController:pv,sequencerController:Ev};var Qv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var yv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var wv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var vv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:Qv,keyboardSettings:yv,midiSettings:wv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var kv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Sv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var bv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var Dv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Sv,effectsConfig:bv};var _v={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var xv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var Lv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:xv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:kv,settings:vv,synthesizerController:Dv,sequencerController:_v};var AB="en",L$={en:Hw,pl:iv,ja:gv,fr:Bv,pt:Lv};var e_=.2,t_={2048:.05,4096:.2,8192:.27,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,d,p,U,Z,O,e0){this.delay=e0,this.mode="dark",this.autoKeyRange=!1,this.renderer=d,this.midiKeyboard=p,this.midiDeviceHandler=U,this.synthui=A,this.sequi=c,this.locale=O,this.musicMode=Z,this.locales=L$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let U0=document.createElement("div");U0.style.position="relative",U0.classList.add("seamless_button"),U0.classList.add("settings_button"),i.appendChild(U0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(_,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(_);let P=document.createElement("div");P.classList.add("seamless_button"),this.locale.bindObjectProperty(P,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(P,"title","locale.hideTopBar.description"),i.appendChild(P);let i0=document.getElementsByClassName("show_top_button")[0];i0.innerHTML=Ky(20);let n1=document.createElement("span");this.locale.bindObjectProperty(n1,"innerText","locale.settings.toggleButton"),U0.appendChild(n1);let S1=document.createElement("div");S1.innerHTML=Jy(24),S1.classList.add("gear"),U0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,U0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),_.onclick=this.toggleMusicPlayerMode.bind(this),P.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=Ew,lw(this.mainDiv);for(let g2 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(g2,"textContent",g2.getAttribute("translate-path"));for(let g2 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let n2=g2.getAttribute("translate-path-title");this.locale.bindObjectProperty(g2,"textContent",n2+".title"),this.locale.bindObjectProperty(g2,"title",n2+".description")}this.getHtmlControls(),document.addEventListener("keydown",g2=>{switch(g2.key.toLowerCase()){case si.settingsShow:this.setVisibility(!this.visible);break;case si.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(d,p,U,c,A)}):this.createHandlers(d,p,U,c,A),this.topPartVisible=!0;let f1=!1;window.addEventListener("resize",()=>{let g2=window.screen.height,n2=window.screen.width,f2=window.outerHeight,a5=window.outerWidth,T2;T2=n2===a5&&g2===f2,T2!==f1&&(f1=T2,T2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},e_*1e3)),this.visible=i}createHandlers(i,A,c,d,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,d,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}setTimeDelay(i){let A;i>=2048?A=t_[i]:A=0,this.delay.delayTime.value=A,this.renderer.timeOffset=A,this.synthui.synth.eventHandler.timeDelay=A}};v7.prototype._toggleDarkMode=Sw;v7.prototype._createInterfaceSettingsHandler=yw;v7.prototype._changeLayout=ww;v7.prototype._createRendererHandler=bw;v7.prototype._createMidiSettingsHandler=Dw;v7.prototype._createMidiInputHandler=_w;v7.prototype._createMidiOutputHandler=xw;v7.prototype._createKeyboardHandler=pw;v7.prototype._loadSettings=Cw;v7.prototype._serializeSettings=Qw;v7.prototype._saveSettings=Bw;var Mv=.5,ZE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var Qv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:Bv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:mv,settings:Iv,synthesizerController:Ev,sequencerController:Cv};var yv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var wv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var vv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var kv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:yv,keyboardSettings:wv,midiSettings:vv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var Sv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var bv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Dv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var _v={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:bv,effectsConfig:Dv};var xv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Lv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var Mv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Lv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:Sv,settings:kv,synthesizerController:_v,sequencerController:xv};var $B="en",L$={en:Vw,pl:rv,ja:uv,fr:Qv,pt:Mv};var t_=.2,i_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,d,p,T,H,O,e0){this.delay=e0,this.mode="dark",this.autoKeyRange=!1,this.renderer=d,this.midiKeyboard=p,this.midiDeviceHandler=T,this.synthui=A,this.sequi=c,this.locale=O,this.musicMode=H,this.locales=L$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let U0=document.createElement("div");U0.style.position="relative",U0.classList.add("seamless_button"),U0.classList.add("settings_button"),i.appendChild(U0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(_,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(_);let P=document.createElement("div");P.classList.add("seamless_button"),this.locale.bindObjectProperty(P,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(P,"title","locale.hideTopBar.description"),i.appendChild(P);let i0=document.getElementsByClassName("show_top_button")[0];i0.innerHTML=Wy(20);let n1=document.createElement("span");this.locale.bindObjectProperty(n1,"innerText","locale.settings.toggleButton"),U0.appendChild(n1);let S1=document.createElement("div");S1.innerHTML=zy(24),S1.classList.add("gear"),U0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,U0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),_.onclick=this.toggleMusicPlayerMode.bind(this),P.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=Cw,cw(this.mainDiv);for(let g2 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(g2,"textContent",g2.getAttribute("translate-path"));for(let g2 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let n2=g2.getAttribute("translate-path-title");this.locale.bindObjectProperty(g2,"textContent",n2+".title"),this.locale.bindObjectProperty(g2,"title",n2+".description")}this.getHtmlControls(),document.addEventListener("keydown",g2=>{switch(g2.key.toLowerCase()){case si.settingsShow:this.setVisibility(!this.visible);break;case si.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(d,p,T,c,A)}):this.createHandlers(d,p,T,c,A),this.topPartVisible=!0;let f1=!1;window.addEventListener("resize",()=>{let g2=window.screen.height,n2=window.screen.width,f2=window.outerHeight,a5=window.outerWidth,T2;T2=n2===a5&&g2===f2,T2!==f1&&(f1=T2,T2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},t_*1e3)),this.visible=i}createHandlers(i,A,c,d,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,d,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}setTimeDelay(i){let A;i>=2048?A=i_[i]:A=0,this.delay.delayTime.value=A,this.renderer.timeOffset=A,this.synthui.synth.eventHandler.timeDelay=A}};v7.prototype._toggleDarkMode=bw;v7.prototype._createInterfaceSettingsHandler=ww;v7.prototype._changeLayout=vw;v7.prototype._createRendererHandler=Dw;v7.prototype._createMidiSettingsHandler=_w;v7.prototype._createMidiInputHandler=xw;v7.prototype._createMidiOutputHandler=Lw;v7.prototype._createKeyboardHandler=Ew;v7.prototype._loadSettings=Bw;v7.prototype._serializeSettings=yw;v7.prototype._saveSettings=Qw;var Rv=.5,eC=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=`
- ${zy("100%")} + ${Ky("100%")}
@@ -271,24 +271,24 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),A.bindObjectProperty(c,"title",c.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=A}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(i){document.getElementById("player_info_title").textContent=i}connectSequencer(i){this.seq=i,this.seq.addOnSongChangeEvent(A=>{let c=A.copyright.replaceAll(` -`,""),d=(i0,n1,S1=!0)=>{let f1=document.getElementById(i0);if(n1.length>0)if(f1.parentElement.classList.remove("hidden"),f1.innerHTML="",n1.length>30&&S1){f1.classList.add("marquee");let g2=document.createElement("span");g2.textContent=n1,f1.appendChild(g2)}else f1.textContent=n1;else f1.parentElement.classList.add("hidden")};d("player_info_detail",c),d("player_info_time",v$(this.seq.duration).time),d("player_info_file_name",A.fileName,!1);let p=(i0,n1,S1,f1="")=>this.seq.midiData.RMIDInfo?.[i0]===void 0?n1:f1+S1.decode(this.seq.midiData.RMIDInfo?.[i0]).replace(/\0$/,""),U=p("IENC","ascii",new TextDecoder),Z=new TextDecoder(U);d("player_info_album",p("IPRD","",Z)),d("player_info_artist",p("IART","",Z)),d("player_info_genre",p("IGNR","",Z)),d("player_info_creation",p("ICRD","",Z)+p("ICRT","",Z,` -`)),d("player_info_comment",p("ICMT","",Z));let O=this.mainDiv.getElementsByTagName("svg")[0],e0=this.mainDiv.getElementsByTagName("img")[0],U0=document.getElementById("player_info_background_image");if(!A.isEmbedded){O.style.display="",e0.style.display="none",U0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){O.style.display="",e0.style.display="none",U0.style.setProperty("--bg-image","undefined");return}O.style.display="none",e0.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),P=URL.createObjectURL(_);e0.src=P,U0.style.setProperty("--bg-image",`url('${P}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let d=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${d}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Mv*1e3)}else{let d=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${d}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Mv*1e3)}}};var jE=class{onLocaleChanged=[];constructor(i){this.locale=L$[i]||L$[AB],this.fallbackLocale=L$[AB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,d)=>typeof A[d]<"u"?A[d]:c)}bindObjectProperty(i,A,c,d=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:d,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),d=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(d)}),this.locale=c,this._boundObjectProperties.forEach(d=>{this._applyPropertyInternal(d)}),this.onLocaleChanged.forEach(d=>d())}};function $B(n,i=!0,A=0,c={},d=void 0){let p=n.getChannelData(A),U=n.getChannelData(A+1),Z=p.length,O=2,e0=new K5(0),U0=Object.keys(c).length>0;if(U0){let A0=new TextEncoder,C5=[pu("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),e0=k6("LIST",St(C5))}let _=new K5(0),P=d?.end!==void 0&&d?.start!==void 0;if(P){let A0=Math.floor(d.start*n.sampleRate),C5=Math.floor(d.end*n.sampleRate),y3=new K5(24);Ii(y3,0,4),Ii(y3,0,4),P8(y3,"data"),Ii(y3,0,4),Ii(y3,0,4),Ii(y3,A0,4);let v3=new K5(24);Ii(v3,1,4),Ii(v3,0,4),P8(v3,"data"),Ii(v3,0,4),Ii(v3,0,4),Ii(v3,C5,4);let g6=St([new K5([2,0,0,0]),y3,v3]);_=k6("cue ",g6)}let i0=44,n1=Z*2*O,S1=i0+n1+e0.length+_.length-8,f1=new Uint8Array(i0);f1.set([82,73,70,70],0),f1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),4),f1.set([87,65,86,69],8),f1.set([102,109,116,32],12),f1.set([16,0,0,0],16),f1.set([1,0],20),f1.set([2,0],22);let g2=n.sampleRate;f1.set(new Uint8Array([g2&255,g2>>8&255,g2>>16&255,g2>>24&255]),24);let n2=g2*2*O;f1.set(new Uint8Array([n2&255,n2>>8&255,n2>>16&255,n2>>24&255]),28),f1.set([4,0],32),f1.set([16,0],34),f1.set([100,97,116,97],36),f1.set(new Uint8Array([n1&255,n1>>8&255,n1>>16&255,n1>>24&255]),40);let f2=new Uint8Array(S1+8),a5=i0;f2.set(f1,0);let T2=32767;if(i){let A0=p.map((C5,y3)=>Math.max(Math.abs(C5),Math.abs(U[y3]))).reduce((C5,y3)=>Math.max(C5,y3));T2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,f2[a5++]=y3&255,f2[a5++]=y3>>8&255}return U0&&(f2.set(e0,a5),a5+=e0.length),P&&f2.set(_,a5),new Blob([f2.buffer],{type:"audio/wav"})}var Rv=1e3;async function Fv(n=!0,i=44100,A=2,c=!1,d={},p=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let U=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),Z=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),O=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),e0=Ne(U,[{type:"text",textContent:O},{type:"progress"}],9999999,!1),U0=await this.seq.getMIDI(),_=Mp(U0.loop.start,U0),P=Mp(U0.loop.end,U0),i0=P-_,n1=U0.duration+A+i0*p,S1=i*n1,f1;try{f1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:S1}),await f1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(p3){Ne("ERROR",[{type:"text",textContent:p3}]);return}let g2=await this.synth.getSynthesizerSnapshot(),n2=this.soundFont,f2,T2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await f1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};g2.effectsConfig=T2;try{f2=new Iu(f1.destination,n2,!1,{parsedMIDI:U0,snapshot:g2,oneOutput:c,loopCount:p},T2)}catch(p3){throw Ne(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p3}let A0=e0.div.getElementsByTagName("p")[0],C5=e0.div.getElementsByClassName("notification_progress")[0],y3=Rv/1e3,v3=f2.currentTime,g6=n1,k3=.1,c9=setInterval(()=>{let p3=f2.currentTime-v3;v3=f2.currentTime;let w6=f2.currentTime/n1;C5.style.width=`${w6*100}%`;let L4=p3/y3,P7=(1-w6)/L4*n1;P7!==1/0&&(g6=k3*P7+(1-k3)*g6,A0.innerText=`${Z} ${v$(g6).time}`)},Rv),N9=await f1.startRendering();if(C5.style.width="100%",clearInterval(c9),A0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(p3=>setTimeout(p3,75)),c){let p3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",w6=[],L4=new Set;for(let q8 of U0.usedChannelsOnTrack)q8.forEach(Ka=>L4.add(Ka));for(let q8=0;q8<16;q8++){let Ka=!0;for(let Er=q8;Er{let T$=Wa.textContent;Wa.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ge=>setTimeout(Ge,75));let uC=$B(N9,!1,q8*2),dC=`${q8+1} - ${g2.channelSnapshots[q8].patchName}.wav`;this.saveBlob(uC,dC),Wa.classList.add("green_button"),Wa.textContent=T$}})}let P7=Ne(this.localeManager.getLocaleString(p3+"title"),w6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});P7.div.style.width="30rem"}else{let p3=Mp(U0.firstNoteOn,U0),w6=_-p3,L4=P-p3,P7;p===0&&(P7={start:w6,end:L4});let q8=$B(N9,n,0,d,P7);this.saveBlob(q8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}le(e0.id),this.isExporting=!1}async function Tv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(e0,U0,_)=>this.seq.midiData.RMIDInfo?.[e0]===void 0?U0:_.decode(this.seq.midiData.RMIDInfo?.[e0]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),d=new TextDecoder(c),p=A("IPRD","",d),U=A("IART","",d),Z=A("IGNR","",d),O=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:U,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:Z,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:e0=>{le(e0.id);let U0=e0.div.querySelector("input[normalize-volume-toggle]").checked,_=e0.div.querySelector("input[additional-time]").value,P=e0.div.querySelector("input[sample-rate]").value,i0=e0.div.querySelector("input[loop-count]").value,n1=e0.div.querySelector("input[separate-channels-toggle]").checked,S1=e0.div.querySelector("input[name='artist']").value,f1=e0.div.querySelector("input[name='album']").value,g2=e0.div.querySelector("input[name='song_title']").value,n2=e0.div.querySelector("input[name='genre']").value,f2={artist:S1.length>0?S1:void 0,album:f1.length>0?f1:void 0,title:g2.length>0?g2:void 0,genre:n2.length>0?n2:void 0};this._doExportAudioData(U0,parseInt(P),parseInt(_),n1,f2,parseInt(i0))}}];Ne(this.localeManager.getLocaleString(n+"title"),O,9999999,!0,this.localeManager)}async function Nv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=GE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Gv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,P)=>P>_?P:_),c=[];for(let _=0;_{U[n1]>=i0.length||i0[U[n1]].ticks0;){let _=O(),P=n.tracks[_];if(U[_]>=P.length){Z--;continue}let i0=P[U[_]];if(U[_]++,i0.messageStatusByte===Z3.midiPort){e0[_]=i0.messageData[0];continue}let n1=i0.messageStatusByte&240;if(n1!==Z3.noteOn&&n1!==Z3.controllerChange&&n1!==Z3.programChange&&n1!==Z3.systemExclusive)continue;let S1=(i0.messageStatusByte&15)+n.midiPortChannelOffsets[e0[_]]||0,f1=c[S1];switch(n1){case Z3.programChange:f1.program=i0.messageData[0],d(f1);break;case Z3.controllerChange:if(i0.messageData[0]!==$3.bankSelect||U0==="gs"&&f1.drums)continue;let g2=i0.messageData[1],n2=Math.max(0,g2-n.bankOffset);if(U0==="xg"){let T2=g2===120||g2===126||g2===127;T2!==f1.drums?(f1.drums=T2,f1.bank=f1.drums?128:n2,d(f1)):f1.bank=f1.drums?128:n2;continue}c[S1].bank=n2;break;case Z3.noteOn:if(i0.messageData[1]===0)continue;d(f1),p[f1.string].add(`${i0.messageData[0]}-${i0.messageData[1]}`);break;case Z3.systemExclusive:if(i0.messageData[0]!==65||i0.messageData[2]!==66||i0.messageData[3]!==18||i0.messageData[4]!==64||!(i0.messageData[5]&16)||i0.messageData[6]!==21){i0.messageData[0]===67&&i0.messageData[2]===76&&i0.messageData[5]===126&&i0.messageData[6]===0&&(U0="xg");continue}let f2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][i0.messageData[5]&15]+n.midiPortChannelOffsets[e0[_]],a5=!!(i0.messageData[7]>0&&i0.messageData[5]>>4);f1=c[f2],f1.drums=a5,f1.bank=a5?128:0,d(f1);break}}for(let _ of Object.keys(p))p[_].size===0&&(_5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return u9(),p}function Qu(n,i){function A(d,p){let U=0;for(let Z=0;Z=e0.min&&P.key<=e0.max&&P.velocity>=U0.min&&P.velocity<=U0.max){_=!0;break}_||(_5(`%c${O.sample.sampleName} %cremoved from %c${d.instrumentName}%c. Use count: %c${O.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),d.safeDeleteZone(Z)&&(U++,Z--,_5(`%c${O.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),O.sample.useCount<1&&n.deleteSample(O.sample))}return U}R7("%cTrimming soundfont...",C1.info);let c=Gv(i,n);y8("%cModifying soundfont...",C1.info),_5("Detected keys for midi:",c);for(let d=0;d{let _=U0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),_5(`Keys for ${p.presetName}:`,O);let e0=0;for(let U0=0;U0=P.min&&S1.key<=P.max&&S1.velocity>=i0.min&&S1.velocity<=i0.max){n1=!0;let f1=A(_.instrument,O);_5(`%cTrimmed off %c${f1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}n1||(e0++,p.deleteZone(U0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),U0--)}_5(`%cTrimmed off %c${e0}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),u9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`,""),d=(i0,n1,S1=!0)=>{let f1=document.getElementById(i0);if(n1.length>0)if(f1.parentElement.classList.remove("hidden"),f1.innerHTML="",n1.length>30&&S1){f1.classList.add("marquee");let g2=document.createElement("span");g2.textContent=n1,f1.appendChild(g2)}else f1.textContent=n1;else f1.parentElement.classList.add("hidden")};d("player_info_detail",c),d("player_info_time",v$(this.seq.duration).time),d("player_info_file_name",A.fileName,!1);let p=(i0,n1,S1,f1="")=>this.seq.midiData.RMIDInfo?.[i0]===void 0?n1:f1+S1.decode(this.seq.midiData.RMIDInfo?.[i0]).replace(/\0$/,""),T=p("IENC","ascii",new TextDecoder),H=new TextDecoder(T);d("player_info_album",p("IPRD","",H)),d("player_info_artist",p("IART","",H)),d("player_info_genre",p("IGNR","",H)),d("player_info_creation",p("ICRD","",H)+p("ICRT","",H,` +`)),d("player_info_comment",p("ICMT","",H));let O=this.mainDiv.getElementsByTagName("svg")[0],e0=this.mainDiv.getElementsByTagName("img")[0],U0=document.getElementById("player_info_background_image");if(!A.isEmbedded){O.style.display="",e0.style.display="none",U0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){O.style.display="",e0.style.display="none",U0.style.setProperty("--bg-image","undefined");return}O.style.display="none",e0.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),P=URL.createObjectURL(_);e0.src=P,U0.style.setProperty("--bg-image",`url('${P}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let d=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${d}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Rv*1e3)}else{let d=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${d}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Rv*1e3)}}};var tC=class{onLocaleChanged=[];constructor(i){this.locale=L$[i]||L$[$B],this.fallbackLocale=L$[$B],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,d)=>typeof A[d]<"u"?A[d]:c)}bindObjectProperty(i,A,c,d=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:d,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),d=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(d)}),this.locale=c,this._boundObjectProperties.forEach(d=>{this._applyPropertyInternal(d)}),this.onLocaleChanged.forEach(d=>d())}};function lB(n,i=!0,A=0,c={},d=void 0){let p=n.getChannelData(A),T=n.getChannelData(A+1),H=p.length,O=2,e0=new K5(0),U0=Object.keys(c).length>0;if(U0){let A0=new TextEncoder,C5=[pu("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),e0=k6("LIST",St(C5))}let _=new K5(0),P=d?.end!==void 0&&d?.start!==void 0;if(P){let A0=Math.floor(d.start*n.sampleRate),C5=Math.floor(d.end*n.sampleRate),y3=new K5(24);Ii(y3,0,4),Ii(y3,0,4),P8(y3,"data"),Ii(y3,0,4),Ii(y3,0,4),Ii(y3,A0,4);let k3=new K5(24);Ii(k3,1,4),Ii(k3,0,4),P8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,C5,4);let g6=St([new K5([2,0,0,0]),y3,k3]);_=k6("cue ",g6)}let i0=44,n1=H*2*O,S1=i0+n1+e0.length+_.length-8,f1=new Uint8Array(i0);f1.set([82,73,70,70],0),f1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),4),f1.set([87,65,86,69],8),f1.set([102,109,116,32],12),f1.set([16,0,0,0],16),f1.set([1,0],20),f1.set([2,0],22);let g2=n.sampleRate;f1.set(new Uint8Array([g2&255,g2>>8&255,g2>>16&255,g2>>24&255]),24);let n2=g2*2*O;f1.set(new Uint8Array([n2&255,n2>>8&255,n2>>16&255,n2>>24&255]),28),f1.set([4,0],32),f1.set([16,0],34),f1.set([100,97,116,97],36),f1.set(new Uint8Array([n1&255,n1>>8&255,n1>>16&255,n1>>24&255]),40);let f2=new Uint8Array(S1+8),a5=i0;f2.set(f1,0);let T2=32767;if(i){let A0=p.map((C5,y3)=>Math.max(Math.abs(C5),Math.abs(T[y3]))).reduce((C5,y3)=>Math.max(C5,y3));T2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,f2[a5++]=y3&255,f2[a5++]=y3>>8&255}return U0&&(f2.set(e0,a5),a5+=e0.length),P&&f2.set(_,a5),new Blob([f2.buffer],{type:"audio/wav"})}var Fv=1e3;async function Tv(n=!0,i=44100,A=2,c=!1,d={},p=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let T=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),H=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),O=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),e0=Ne(T,[{type:"text",textContent:O},{type:"progress"}],9999999,!1),U0=await this.seq.getMIDI(),_=Eu(U0.loop.start,U0),P=Eu(U0.loop.end,U0),i0=P-_,n1=U0.duration+A+i0*p,S1=i*n1,f1;try{f1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:S1}),await f1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(p3){Ne("ERROR",[{type:"text",textContent:p3}]);return}let g2=await this.synth.getSynthesizerSnapshot(),n2=this.soundFont,f2,T2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await f1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};g2.effectsConfig=T2;try{f2=new Iu(f1.destination,n2,!1,{parsedMIDI:U0,snapshot:g2,oneOutput:c,loopCount:p},T2)}catch(p3){throw Ne(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p3}let A0=e0.div.getElementsByTagName("p")[0],C5=e0.div.getElementsByClassName("notification_progress")[0],y3=Fv/1e3,k3=f2.currentTime,g6=n1,S3=.1,c9=setInterval(()=>{let p3=f2.currentTime-k3;k3=f2.currentTime;let w6=f2.currentTime/n1;C5.style.width=`${w6*100}%`;let L4=p3/y3,P7=(1-w6)/L4*n1;P7!==1/0&&(g6=S3*P7+(1-S3)*g6,A0.innerText=`${H} ${v$(g6).time}`)},Fv),N9=await f1.startRendering();if(C5.style.width="100%",clearInterval(c9),A0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(p3=>setTimeout(p3,75)),c){let p3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",w6=[],L4=new Set;for(let q8 of U0.usedChannelsOnTrack)q8.forEach(Ka=>L4.add(Ka));for(let q8=0;q8<16;q8++){let Ka=!0;for(let Er=q8;Er{let T$=Wa.textContent;Wa.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ge=>setTimeout(Ge,75));let fC=lB(N9,!1,q8*2),IC=`${q8+1} - ${g2.channelSnapshots[q8].patchName}.wav`;this.saveBlob(fC,IC),Wa.classList.add("green_button"),Wa.textContent=T$}})}let P7=Ne(this.localeManager.getLocaleString(p3+"title"),w6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});P7.div.style.width="30rem"}else{let p3=Eu(U0.firstNoteOn,U0),w6=_-p3,L4=P-p3,P7;p===0&&(P7={start:w6,end:L4});let q8=lB(N9,n,0,d,P7);this.saveBlob(q8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}le(e0.id),this.isExporting=!1}async function Nv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(e0,U0,_)=>this.seq.midiData.RMIDInfo?.[e0]===void 0?U0:_.decode(this.seq.midiData.RMIDInfo?.[e0]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),d=new TextDecoder(c),p=A("IPRD","",d),T=A("IART","",d),H=A("IGNR","",d),O=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:T,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:H,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:e0=>{le(e0.id);let U0=e0.div.querySelector("input[normalize-volume-toggle]").checked,_=e0.div.querySelector("input[additional-time]").value,P=e0.div.querySelector("input[sample-rate]").value,i0=e0.div.querySelector("input[loop-count]").value,n1=e0.div.querySelector("input[separate-channels-toggle]").checked,S1=e0.div.querySelector("input[name='artist']").value,f1=e0.div.querySelector("input[name='album']").value,g2=e0.div.querySelector("input[name='song_title']").value,n2=e0.div.querySelector("input[name='genre']").value,f2={artist:S1.length>0?S1:void 0,album:f1.length>0?f1:void 0,title:g2.length>0?g2:void 0,genre:n2.length>0?n2:void 0};this._doExportAudioData(U0,parseInt(P),parseInt(_),n1,f2,parseInt(i0))}}];Ne(this.localeManager.getLocaleString(n+"title"),O,9999999,!0,this.localeManager)}async function Gv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=OE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Uv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,P)=>P>_?P:_),c=[];for(let _=0;_{T[n1]>=i0.length||i0[T[n1]].ticks0;){let _=O(),P=n.tracks[_];if(T[_]>=P.length){H--;continue}let i0=P[T[_]];if(T[_]++,i0.messageStatusByte===v3.midiPort){e0[_]=i0.messageData[0];continue}let n1=i0.messageStatusByte&240;if(n1!==v3.noteOn&&n1!==v3.controllerChange&&n1!==v3.programChange&&n1!==v3.systemExclusive)continue;let S1=(i0.messageStatusByte&15)+n.midiPortChannelOffsets[e0[_]]||0,f1=c[S1];switch(n1){case v3.programChange:f1.program=i0.messageData[0],d(f1);break;case v3.controllerChange:if(i0.messageData[0]!==$3.bankSelect||U0==="gs"&&f1.drums)continue;let g2=i0.messageData[1],n2=Math.max(0,g2-n.bankOffset);if(U0==="xg"){let T2=g2===120||g2===126||g2===127;T2!==f1.drums?(f1.drums=T2,f1.bank=f1.drums?128:n2,d(f1)):f1.bank=f1.drums?128:n2;continue}c[S1].bank=n2;break;case v3.noteOn:if(i0.messageData[1]===0)continue;d(f1),p[f1.string].add(`${i0.messageData[0]}-${i0.messageData[1]}`);break;case v3.systemExclusive:if(i0.messageData[0]!==65||i0.messageData[2]!==66||i0.messageData[3]!==18||i0.messageData[4]!==64||!(i0.messageData[5]&16)||i0.messageData[6]!==21){i0.messageData[0]===67&&i0.messageData[2]===76&&i0.messageData[5]===126&&i0.messageData[6]===0&&(U0="xg");continue}let f2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][i0.messageData[5]&15]+n.midiPortChannelOffsets[e0[_]],a5=!!(i0.messageData[7]>0&&i0.messageData[5]>>4);f1=c[f2],f1.drums=a5,f1.bank=a5?128:0,d(f1);break}}for(let _ of Object.keys(p))p[_].size===0&&(_5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return u9(),p}function yu(n,i){function A(d,p){let T=0;for(let H=0;H=e0.min&&P.key<=e0.max&&P.velocity>=U0.min&&P.velocity<=U0.max){_=!0;break}_||(_5(`%c${O.sample.sampleName} %cremoved from %c${d.instrumentName}%c. Use count: %c${O.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),d.safeDeleteZone(H)&&(T++,H--,_5(`%c${O.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),O.sample.useCount<1&&n.deleteSample(O.sample))}return T}R7("%cTrimming soundfont...",C1.info);let c=Uv(i,n);y8("%cModifying soundfont...",C1.info),_5("Detected keys for midi:",c);for(let d=0;d{let _=U0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),_5(`Keys for ${p.presetName}:`,O);let e0=0;for(let U0=0;U0=P.min&&S1.key<=P.max&&S1.velocity>=i0.min&&S1.velocity<=i0.max){n1=!0;let f1=A(_.instrument,O);_5(`%cTrimmed off %c${f1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}n1||(e0++,p.deleteZone(U0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),U0--)}_5(`%cTrimmed off %c${e0}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),u9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+n.soundFontInfo.ICMT,_5("%cSoundfont modified!",C1.recognized),u9(),u9()}function Uv(){let n=4;for(let c of this.instruments)n+=c.instrumentZones.reduce((d,p)=>(p.generators=p.generators.filter(U=>U.generatorType!==I0.sampleID&&U.generatorType!==I0.keyRange&&U.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+d),0);let i=new K5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return p9(i,0),it(new y4("igen",i.length,i))}function Pv(n,i,A,c,d){let p=this.samples.map((e0,U0)=>{A&&e0.compressSample(c,d);let _=e0.getRawData();return _5(`%cEncoded sample %c${U0}. ${e0.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),U=this.samples.reduce((e0,U0,_)=>e0+p[_].length+46,0),Z=new K5(U);this.samples.forEach((e0,U0)=>{let _=p[U0],P,i0,n1=_.length;e0.isCompressed?(P=Z.currentIndex,i0=P+_.length):(P=Z.currentIndex/2,i0=P+_.length/2,n1+=46),n.push(P),Z.set(_,Z.currentIndex),Z.currentIndex+=n1,i.push(i0)});let O=it(new y4("smpl",Z.length,Z),new K5([115,100,116,97]));return it(new y4("LIST",O.length,O))}function Ov(n,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((d,p)=>{P8(c,d.sampleName,20);let U=n[p];p9(c,U);let Z=i[p];p9(c,Z);let O=d.sampleLoopStartIndex+U,e0=d.sampleLoopEndIndex+U;d.isCompressed&&(O-=U,e0-=U),p9(c,O),p9(c,e0),p9(c,d.sampleRate),c[c.currentIndex++]=d.samplePitch,c[c.currentIndex++]=d.samplePitchCorrection,j3(c,d.sampleLink),j3(c,d.sampleType)}),P8(c,"EOS",46),it(new y4("shdr",c.length,c))}function qv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new K5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("imod",i.length,i))}function Hv(){let n=this.instruments.reduce((p,U)=>U.instrumentZones.length*4+p,4),i=new K5(n),A=0,c=0,d=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let U of p.instrumentZones)U.zoneID=A,j3(i,c),j3(i,d),c+=U.generators.length,d+=U.modulators.length,A++}return j3(i,c),j3(i,d),it(new y4("ibag",i.length,i))}function Yv(){let n=this.instruments.length*22+22,i=new K5(n),A=0,c=0;for(let d of this.instruments)P8(i,d.instrumentName,20),j3(i,A),A+=d.instrumentZones.length,d.instrumentID=c,c++;return P8(i,"EOI",20),j3(i,A),it(new y4("inst",i.length,i))}function Vv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>(p.generators=p.generators.filter(U=>U.generatorType!==I0.instrument&&U.generatorType!==I0.keyRange&&U.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+d),0);let i=new K5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=d.generators.length}return j3(i,0),j3(i,0),it(new y4("pgen",i.length,i))}function Jv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new K5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("pmod",i.length,i))}function zv(){let n=this.presets.reduce((p,U)=>U.presetZones.length*4+p,4),i=new K5(n),A=0,c=0,d=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let U of p.presetZones)U.zoneID=A,j3(i,c),j3(i,d),c+=U.generators.length,d+=U.modulators.length,A++}return j3(i,c),j3(i,d),it(new y4("pbag",i.length,i))}function Kv(){let n=this.presets.length*38+38,i=new K5(n),A=0;for(let c of this.presets)P8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),p9(i,c.library),p9(i,c.genre),p9(i,c.morphology),A+=c.presetZones.length;return P8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),p9(i,0),p9(i,0),p9(i,0),it(new y4("phdr",i.length,i))}var i_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Wv(n=i_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),_5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),_5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a5,T2]of Object.entries(this.soundFontInfo))if(a5==="ifil"||a5==="iver"){let A0=parseInt(T2.split(".")[0]),C5=parseInt(T2.split(".")[1]),y3=new K5(4);j3(y3,A0),j3(y3,C5),i.push(it(new y4(a5,4,y3)))}else if(a5==="DMOD")i.push(it(new y4(a5,T2.length,T2)));else{let A0=new K5(T2.length);P8(A0,T2),i.push(it(new y4(a5,T2.length,A0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new y4("LIST",A.length,A));_5("%cWriting SDTA...",C1.info);let d=[],p=[],U=Pv.call(this,d,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);_5("%cWriting PDTA...",C1.info),_5("%cWriting SHDR...",C1.info);let Z=Ov.call(this,d,p);_5("%cWriting IGEN...",C1.info);let O=Uv.call(this);_5("%cWriting IMOD...",C1.info);let e0=qv.call(this);_5("%cWriting IBAG...",C1.info);let U0=Hv.call(this);_5("%cWriting INST...",C1.info);let _=Yv.call(this),P=Vv.call(this);_5("%cWriting PMOD...",C1.info);let i0=Jv.call(this);_5("%cWriting PBAG...",C1.info);let n1=zv.call(this);_5("%cWriting PHDR...",C1.info);let S1=Kv.call(this),f1=St([new K5([112,100,116,97]),S1,n1,i0,P,_,U0,e0,O,Z]),g2=it(new y4("LIST",f1.length,f1));_5("%cWriting the output file...",C1.info);let n2=St([new K5([115,102,98,107]),c,U,g2]),f2=it(new y4("RIFF",n2.length,n2));return _5(`%cSaved succesfully! Final file size: %c${f2.length}`,C1.info,C1.recognized),u9(),f2}var Pp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var Kr=class extends Pp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},yu=class extends Pp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var r_=new Set([I0.velRange,I0.keyRange,I0.instrument,I0.exclusiveClass,I0.endOper,I0.sampleModes,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.initialAttenuation,I0.fineTune,I0.coarseTune,I0.keyNumToVolEnvHold,I0.keyNumToVolEnvDecay,I0.keyNumToModEnvHold,I0.keyNumToModEnvDecay]);function Zv(n,i=!0){function A(_,P){_.push(...P.filter(i0=>!_.find(n1=>n1.generatorType===i0.generatorType)))}function c(_,P){return{min:Math.max(_.min,P.min),max:Math.min(_.max,P.max)}}function d(_,P){_.push(...P.filter(i0=>!_.find(n1=>l9.isIdentical(i0,n1))))}let p=[],U=[],Z=[],O={min:0,max:127},e0={min:0,max:127},U0=n.presetZones.find(_=>_.isGlobal);U0&&(U.push(...U0.generators),Z.push(...U0.modulators),O=U0.keyRange,e0=U0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let P=_.keyRange;_.hasKeyRange||(P=O);let i0=_.velRange;_.hasVelRange||(i0=e0);let n1=_.generators.map(A0=>new d6(A0.generatorType,A0.generatorValue));A(n1,U);let S1=[..._.modulators];d(S1,Z);let f1=_.instrument.instrumentZones,g2=[],n2=[],f2={min:0,max:127},a5={min:0,max:127},T2=f1.find(A0=>A0.isGlobal);T2&&(g2.push(...T2.generators),n2.push(...T2.modulators),f2=T2.keyRange,a5=T2.velRange);for(let A0 of f1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=f2);let y3=A0.velRange;if(A0.hasVelRange||(y3=a5),C5=c(C5,P),y3=c(y3,i0),C5.maxnew d6(p3.generatorType,p3.generatorValue));A(v3,g2);let g6=[...A0.modulators];d(g6,n2);let k3=[...g6];for(let p3 of S1){let w6=k3.findIndex(L4=>l9.isIdentical(p3,L4));w6!==-1?k3[w6]=k3[w6].sumTransform(p3):k3.push(p3)}let c9=v3.map(p3=>new d6(p3.generatorType,p3.generatorValue));for(let p3 of n1){if(p3.generatorType===I0.velRange||p3.generatorType===I0.keyRange||p3.generatorType===I0.instrument||p3.generatorType===I0.endOper||p3.generatorType===I0.sampleModes)continue;let w6=v3.findIndex(L4=>L4.generatorType===p3.generatorType);if(w6!==-1){let L4=c9[w6].generatorValue+p3.generatorValue;c9[w6]=new d6(p3.generatorType,L4)}else{let L4=W6[p3.generatorType].def+p3.generatorValue;c9.push(new d6(p3.generatorType,L4))}}c9=c9.filter(p3=>p3.generatorType!==I0.sampleID&&p3.generatorType!==I0.keyRange&&p3.generatorType!==I0.velRange&&p3.generatorType!==I0.endOper&&p3.generatorType!==I0.instrument&&p3.generatorValue!==W6[p3.generatorType].def);let N9=new Kr;N9.keyRange=C5,N9.velRange=y3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=A0.sample,N9.generators=c9,N9.modulators=k3,p.push(N9)}}if(i){let _=new Kr;_.isGlobal=!0;for(let n1=0;n1<58;n1++){if(r_.has(n1))continue;let S1={},f1=W6[n1]?.def||0;S1[f1]=0;for(let g2 of p){let n2=g2.generators.find(T2=>T2.generatorType===n1);if(n2){let T2=n2.generatorValue;S1[T2]===void 0?S1[T2]=1:S1[T2]++}else S1[f1]++;let f2;switch(n1){default:continue;case I0.decayVolEnv:f2=I0.keyNumToVolEnvDecay;break;case I0.holdVolEnv:f2=I0.keyNumToVolEnvHold;break;case I0.decayModEnv:f2=I0.keyNumToModEnvDecay;break;case I0.holdModEnv:f2=I0.keyNumToModEnvHold}if(g2.generators.find(T2=>T2.generatorType===f2)!==void 0){S1={};break}}if(Object.keys(S1).length>0){let g2=Object.entries(S1).reduce((f2,a5)=>f2[1]{let a5=f2.generators.findIndex(T2=>T2.generatorType===n1);a5!==-1?f2.generators[a5].generatorValue===n2&&f2.generators.splice(a5,1):n2!==f1&&f2.generators.push(new d6(n1,f1))})}}let i0=p.find(n1=>!n1.isGlobal).modulators.map(n1=>l9.copy(n1));for(let n1 of i0){let S1=!0;for(let f1 of p){if(f1.isGlobal||!S1)continue;f1.modulators.find(n2=>l9.isIdentical(n2,n1))||(S1=!1)}if(S1===!0){_.modulators.push(l9.copy(n1));for(let f1 of p){let g2=f1.modulators.find(n2=>l9.isIdentical(n2,n1));g2.transformAmount===n1.transformAmount&&f1.modulators.splice(f1.modulators.indexOf(g2),1)}}}p.splice(0,0,_)}return p}var jv=20;function XE(n,i,A,c,d,p,U){let Z=U===0?0:1,O=new K5(jv+Z*16);p9(O,jv),j3(O,i),j3(O,A);let e0=c*.4,U0=Math.floor(e0*-65536);p9(O,U0),p9(O,2);let _=p-d,P=0;switch(U){default:case 0:Z=0;break;case 1:P=0,Z=1;break;case 3:P=1,Z=1}return p9(O,Z),Z===1&&(p9(O,16),p9(O,P),p9(O,d),p9(O,_)),k6("wsmp",O)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},eC=new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),tC=new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),iC=new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),rC=new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var F5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Op=class{source;control;destination;scale;transform;constructor(i,A,c,d,p){this.source=i,this.control=A,this.destination=c,this.scale=d,this.transform=p}writeArticulator(){let i=new K5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),p9(i,this.scale<<16),i}};function Xv(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function ek(n,i){switch(n){default:return;case I0.initialAttenuation:return{dest:F5.gain,amount:-i};case I0.fineTune:return F5.pitch;case I0.pan:return F5.pan;case I0.keyNum:return F5.keyNum;case I0.reverbEffectsSend:return F5.reverbSend;case I0.chorusEffectsSend:return F5.chorusSend;case I0.freqModLFO:return F5.modLfoFreq;case I0.delayModLFO:return F5.modLfoDelay;case I0.delayVibLFO:return F5.vibLfoDelay;case I0.freqVibLFO:return F5.vibLfoFreq;case I0.delayVolEnv:return F5.volEnvDelay;case I0.attackVolEnv:return F5.volEnvAttack;case I0.holdVolEnv:return F5.volEnvHold;case I0.decayVolEnv:return F5.volEnvDecay;case I0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case I0.releaseVolEnv:return F5.volEnvRelease;case I0.delayModEnv:return F5.modEnvDelay;case I0.attackModEnv:return F5.modEnvAttack;case I0.holdModEnv:return F5.modEnvHold;case I0.decayModEnv:return F5.modEnvDecay;case I0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case I0.releaseModEnv:return F5.modEnvRelease;case I0.initialFilterFc:return F5.filterCutoff;case I0.initialFilterQ:return F5.filterQ}}function tk(n,i){switch(n){default:return;case I0.modEnvToFilterFc:return{source:m6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case I0.modEnvToPitch:return{source:m6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case I0.modLfoToFilterFc:return{source:m6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case I0.modLfoToVolume:return{source:m6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case I0.modLfoToPitch:return{source:m6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case I0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case I0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case I0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case I0.keyNumToModEnvHold:return{source:m6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case I0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case I0.scaleTuning:return{source:m6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function ik(n){let i=ek(n.generatorType,n.generatorValue),A=i,c=0,d=n.generatorValue;i?.amount!==void 0&&(d=i.amount,A=i.dest);let p=tk(n.generatorType,n.generatorValue);if(p!==void 0)d=p.amt,A=p.dest,c=p.source;else if(A===void 0){I9(`Invalid generator type: ${n.generatorType}`);return}return new Op(c,0,A,d,0)}function rk(n){if(n.transformType!==0){I9("Other transform types are not supported.");return}let i=Xv(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,d=n.sourceDirection;if(i===void 0){I9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===I0.initialAttenuation&&(d=d===1?0:1);let p=Xv(n.secSrcUsesCC,n.secSrcIndex),U=n.secSrcCurveType,Z=n.secSrcPolarity,O=n.secSrcDirection;if(p===void 0){I9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let e0=ek(n.modulatorDestination,n.transformAmount),U0=e0,_=n.transformAmount;e0?.dest!==void 0&&(U0=e0.dest,_=e0.amount);let P=tk(n.modulatorDestination,n.transformAmount);if(P!==void 0)_=P.amt,p=i,U=A,Z=c,O=d,A=er.linear,c=P.isBipolar?1:0,d=0,i=P.source,U0=P.dest;else if(U0===void 0){I9(`Invalid destination: ${n.modulatorDestination}`);return}let i0=0;return i0|=U<<4,i0|=Z<<8,i0|=O<<9,i0|=A,i0|=c<<14,i0|=d<<15,new Op(i,p,U0,_,i0)}var n_=new Set([I0.sampleModes,I0.initialAttenuation,I0.keyRange,I0.velRange,I0.sampleID,I0.fineTune,I0.coarseTune,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.overridingRootKey,I0.exclusiveClass]);function nC(n){for(let p=0;pn1.generatorType===Z);if(O===void 0)continue;let e0=U.generatorValue*-128,U0=60/128*e0,_=O.generatorValue-U0,P=n.generators.indexOf(U),i0=n.generators.indexOf(O);n.generators[i0]=new d6(Z,_,!1),n.generators[P]=new d6(U.generatorType,e0,!1)}let i=n.generators.reduce((p,U)=>{if(n_.has(U.generatorType))return p;let Z=ik(U);return Z!==void 0?(p.push(Z),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,U)=>{if(l9.isIdentical(U,tC,!0)||l9.isIdentical(U,eC,!0)||l9.isIdentical(U,iC,!0)||l9.isIdentical(U,rC,!0))return p;let Z=rk(U);return Z!==void 0?(p.push(Z),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new K5(8);p9(c,8),p9(c,i.length);let d=i.map(p=>p.writeArticulator());return k6("art2",St([c,...d]))}function nk(n,i){let A=new K5(12);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(I0.exclusiveClass,0);j3(A,c),j3(A,0);let d=k6("rgnh",A),p=n.getGeneratorValue(I0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(I0.scaleTuning,i.getGeneratorValue(I0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let Z=XE(n.sample,p,n.getGeneratorValue(I0.fineTune,0)+n.getGeneratorValue(I0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(I0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(I0.startloopAddrsOffset,0)+n.getGeneratorValue(I0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(I0.endloopAddrsOffset,0)+n.getGeneratorValue(I0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(I0.sampleModes,0)),O=new K5(12);j3(O,0),j3(O,0),p9(O,1),p9(O,this.samples.indexOf(n.sample));let e0=k6("wlnk",O),U0=new K5(0);if(n.modulators.length+n.generators.length>0){let _=nC(n);U0=k6("lar2",_,!1,!0)}return k6("rgn2",St([d,Z,e0,U0]),!1,!0)}function ok(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=Zv(n),A=i.reduce((P,i0)=>i0.isGlobal?P:P+1,0),c=new K5(12);p9(c,A);let d=(n.bank&127)<<8;n.bank===128&&(d|=1<<31),p9(c,d),p9(c,n.program&127);let p=k6("insh",c),U=new K5(0),Z=i.find(P=>P.isGlobal===!0);if(Z){let P=nC(Z);U=k6("lar2",P,!1,!0)}let O=St(i.reduce((P,i0)=>(i0.isGlobal||P.push(nk.apply(this,[i0,Z])),P),[])),e0=k6("lrgn",O,!1,!0),U0=k6("INAM",Fn(n.presetName)),_=k6("INFO",U0,!1,!0);return u9(),k6("ins ",St([p,e0,U,_]),!1,!0)}function sk(){let n=St(this.presets.map(i=>ok.apply(this,[i])));return k6("lins",n,!1,!0)}function ak(n){let i=new K5(18);j3(i,1),j3(i,1),p9(i,n.sampleRate),p9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(c=0);let d=XE(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,c),p=n.getAudioData(),U;if(n.isCompressed){let e0=new Int16Array(p.length);for(let U0=0;U0{let d=ak(c);return i.push(n),n+=d.length,d});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function $k(){y8("%cSaving DLS...",C1.info);let n=new K5(4);p9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=sk.apply(this);_5("%cSuccess!",C1.recognized),u9(),y8("%cWriting WAVE samples...",C1.info);let c=Ak.apply(this),d=c.data,p=c.indexes;_5("%cSucceeded!",C1.recognized),u9();let U=new K5(8+4*p.length);p9(U,8),p9(U,p.length);for(let _ of p)p9(U,_);let Z=k6("ptbl",U);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let O=[];for(let[_,P]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||O.push(k6(_,Fn(P),!0));let e0=k6("INFO",St(O),!1,!0),U0=new K5(i.length+A.length+Z.length+d.length+e0.length+4);return P8(U0,"DLS "),U0.set(St([i,A,Z,d,e0]),4),_5("%cSaved succesfully!",C1.recognized),u9(),k6("RIFF",U0)}var Va=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=DE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(U=>U.bank===p.bank&&U.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let d=this.presets.find(p=>p.bank===i&&p.program===A);if(d)return d;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(d=>d.bank===i&&d.program===A);return c||(i===128?(c=this.presets.find(d=>d.bank===128&&d.program===A),c||(c=this.presets.find(d=>d.bank===128))):c=this.presets.find(d=>d.program===A&&d.bank!==128),c&&I9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(I9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(I9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Va.prototype.write=Wv;Va.prototype.writeDLS=$k;function lk(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function d(i0,n1){return n1>=i0.min&&n1<=i0.max}function p(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>f1.generatorType===S1.generatorType)))}function U(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>l9.isIdentical(S1,f1))))}let Z=[],O=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],e0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],U0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(i0=>d(i0.hasKeyRange?i0.keyRange:U0,i)&&d(i0.hasVelRange?i0.velRange:_,A)&&!i0.isGlobal).forEach(i0=>{if(i0.instrument.instrumentZones.length<1)return;let n1=i0.generators,S1=i0.modulators,f1=i0.instrument.instrumentZones[0],g2=f1.isGlobal?[...f1.generators]:[],n2=f1.isGlobal?[...f1.modulators]:[],f2=f1.isGlobal?f1.keyRange:{min:0,max:127},a5=f1.isGlobal?f1.velRange:{min:0,max:127};i0.instrument.instrumentZones.filter(A0=>d(A0.hasKeyRange?A0.keyRange:f2,i)&&d(A0.hasVelRange?A0.velRange:a5,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],y3=[...A0.modulators];p(n1,O),p(C5,g2),U(S1,e0),U(y3,n2),U(y3,this.defaultModulators);let v3=[...y3];for(let g6=0;g6l9.isIdentical(k3,N9));c9!==-1?v3[c9]=v3[c9].sumTransform(k3):v3.push(k3)}Z.push({instrumentGenerators:C5,presetGenerators:n1,modulators:v3,sample:A0.sample,sampleID:A0.generators.find(g6=>g6.generatorType===I0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=Z,Z}};var vu=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var oC=class extends wu{constructor(i,A){super(DE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new vu,this.DLSInstrument.addUseCount();let d=new yu;d.instrument=this.DLSInstrument,this.presetZones=[d]}};function ck(n){this.verifyHeader(n,"LIST"),this.verifyText(Q4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(i0=>i0.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),d=s3(A.chunkData,4),p=s3(A.chunkData,4),U=new oC(d,p),Z="unnamedPreset",O=G7(i,"INFO");if(O){let i0=Qe(O.chunkData);for(;i0.header!=="INAM";)i0=Qe(O.chunkData);Z=Q4(i0.chunkData,i0.chunkData.length).trim()}U.presetName=Z,U.DLSInstrument.instrumentName=Z,R7(`%cParsing %c"${Z}"%c...`,C1.info,C1.recognized,C1.info);let e0=G7(i,"lrgn");if(!e0)throw u9(),new Error("No region list!");let U0=new Kr;U0.isGlobal=!0;let _=G7(i,"lart"),P=G7(i,"lar2");(P!==void 0||_!==void 0)&&this.readLart(_,P,U0),U0.generators=U0.generators.filter(i0=>i0.generatorValue!==W6[i0.generatorType].def),U0.modulators.find(i0=>i0.modulatorDestination===I0.reverbEffectsSend)===void 0&&U0.modulators.push(l9.copy(eC)),U0.modulators.find(i0=>i0.modulatorDestination===I0.chorusEffectsSend)===void 0&&U0.modulators.push(l9.copy(tC)),U.DLSInstrument.instrumentZones.push(U0);for(let i0=0;i0>10&15;n2===er.linear&&g2!==er.linear&&(n2=g2);let f2=c>>14&1,a5=c>>15&1;U===I0.initialAttenuation&&d<0&&(a5=1),P=Vr(n2,f2,a5,Z.isCC,Z.enum)}let i0=c>>4&15,n1=c>>8&1,S1=c>>9&1,f1=Vr(i0,n1,S1,_.isCC,_.enum);if(O){let g2=f1;f1=P,P=g2}return new l9({srcEnum:P,secSrcEnum:f1,dest:U,transform:0,amt:U0})}function lB(n,i){let A=n.chunkData,c=[],d=[];s3(A,4);let p=s3(A,4);for(let U=0;U>16;if(Z===0&&O===0&&U0===0){let i0;switch(e0){case F5.pan:i0=new d6(I0.pan,P);break;case F5.gain:i0=new d6(I0.initialAttenuation,-P*10/.4);break;case F5.filterCutoff:i0=new d6(I0.initialFilterFc,P);break;case F5.filterQ:i0=new d6(I0.initialFilterQ,P);break;case F5.modLfoFreq:i0=new d6(I0.freqModLFO,P);break;case F5.modLfoDelay:i0=new d6(I0.delayModLFO,P);break;case F5.vibLfoFreq:i0=new d6(I0.freqVibLFO,P);break;case F5.vibLfoDelay:i0=new d6(I0.delayVibLFO,P);break;case F5.volEnvDelay:i0=new d6(I0.delayVolEnv,P);break;case F5.volEnvAttack:i0=new d6(I0.attackVolEnv,P);break;case F5.volEnvHold:i0=new d6(I0.holdVolEnv,P,!1);break;case F5.volEnvDecay:i0=new d6(I0.decayVolEnv,P,!1);break;case F5.volEnvRelease:i0=new d6(I0.releaseVolEnv,P);break;case F5.volEnvSustain:let n1=1e3-P;i0=new d6(I0.sustainVolEnv,n1);break;case F5.modEnvDelay:i0=new d6(I0.delayModEnv,P);break;case F5.modEnvAttack:i0=new d6(I0.attackModEnv,P);break;case F5.modEnvHold:i0=new d6(I0.holdModEnv,P,!1);break;case F5.modEnvDecay:i0=new d6(I0.decayModEnv,P,!1);break;case F5.modEnvRelease:i0=new d6(I0.releaseModEnv,P);break;case F5.modEnvSustain:let S1=1e3-P;i0=new d6(I0.sustainModEnv,S1);break;case F5.reverbSend:i0=new d6(I0.reverbEffectsSend,P);break;case F5.chorusSend:i0=new d6(I0.chorusEffectsSend,P);break;case F5.pitch:let f1=Math.floor(P/100),g2=Math.floor(P-f1*100);i0=new d6(I0.fineTune,g2),c.push(new d6(I0.coarseTune,f1));break}i0&&c.push(i0)}else{let i0=!0;if(O===m6.none)if(Z===m6.modLfo&&e0===F5.pitch)c.push(new d6(I0.modLfoToPitch,P));else if(Z===m6.modLfo&&e0===F5.gain)c.push(new d6(I0.modLfoToVolume,P));else if(Z===m6.modLfo&&e0===F5.filterCutoff)c.push(new d6(I0.modLfoToFilterFc,P));else if(Z===m6.vibratoLfo&&e0===F5.pitch)c.push(new d6(I0.vibLfoToPitch,P));else if(Z===m6.modEnv&&e0===F5.pitch)c.push(new d6(I0.modEnvToPitch,P));else if(Z===m6.modEnv&&e0===F5.filterCutoff)c.push(new d6(I0.modEnvToFilterFc,P));else if(Z===m6.keyNum&&e0===F5.pitch)c.push(new d6(I0.scaleTuning,P/128));else if(Z===m6.keyNum&&e0===F5.volEnvHold){c.push(new d6(I0.keyNumToVolEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdVolEnv&&(S1.generatorValue+=n1)})}else if(Z===m6.keyNum&&e0===F5.volEnvDecay){c.push(new d6(I0.keyNumToVolEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayVolEnv&&(S1.generatorValue+=n1)})}else if(Z===m6.keyNum&&e0===F5.modEnvHold){c.push(new d6(I0.keyNumToModEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdModEnv&&(S1.generatorValue+=n1)})}else if(Z===m6.keyNum&&e0===F5.modEnvDecay){c.push(new d6(I0.keyNumToModEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayModEnv&&(S1.generatorValue+=n1)})}else i0=!1;else i0=!1;if(i0===!1){let n1=uk(Z,O,e0,U0,P);n1?(d.push(n1),_5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):I9("Failed converting to SF2 Modulator!")}}}return i&&d.push(l9.copy(iC),l9.copy(rC)),{modulators:d,generators:c}}function dk(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(y3=>y3.header==="rgnh"),c=s3(A.chunkData,2),d=s3(A.chunkData,2),p=s3(A.chunkData,2),U=s3(A.chunkData,2),Z=new sC({min:c,max:d},{min:p,max:U});s3(A.chunkData,2);let O=s3(A.chunkData,2);O!==0&&Z.generators.push(new d6(I0.exclusiveClass,O));let e0=G7(i,"lart"),U0=G7(i,"lar2");this.readLart(e0,U0,Z),Z.isGlobal=!1;let _=i.find(y3=>y3.header==="wsmp");s3(_.chunkData,4);let P=s3(_.chunkData,2),i0=Ua(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),S1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let f1=s3(_.chunkData,4),g2,n2={start:0,end:0};if(f1===0)g2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?g2=1:g2=3,n2.start=s3(_.chunkData,4);let v3=s3(_.chunkData,4);n2.end=n2.start+v3}let f2=i.find(y3=>y3.header==="wlnk");if(f2===void 0)return;s3(f2.chunkData,2),s3(f2.chunkData,2),s3(f2.chunkData,4);let a5=s3(f2.chunkData,4),T2=this.samples[a5];if(T2===void 0)throw new Error("Invalid sample ID!");let C5=(S1||T2.sampleDbAttenuation)*10/.4;return Z.setWavesample(C5,g2,n2,P,T2,a5,i0),Z}var ku=class{constructor(i,A,c,d,p,U,Z,O){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=d,this.sampleLink=p,this.sampleType=U,this.sampleLoopStartIndex=Z,this.sampleLoopEndIndex=O,this.isCompressed=(U&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{I9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var aC=class extends ku{sampleDbAttenuation;sampleData;constructor(i,A,c,d,p,U,Z,O){super(i,A,c,d,0,1,p,U),this.sampleData=Z,this.sampleDbAttenuation=O}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var fk={PCM:1,ALAW:6};function a_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),d,p=!1;i===1?(d=255,p=!0):d=A;let U=n.size/i,Z=new Float32Array(U);for(let O=0;O=A&&(e0-=c),Z[O]=e0/d)}return Z}function A_(n,i){let A=n.size/i,c=new Float32Array(A);for(let d=0;d>4,O=U&15;Z>0&&(O+=16),O=(O<<4)+8,Z>1&&(O=O<127?O:-O;c[d]=e0/32678}return c}function Ik(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexT2.header==="fmt ");if(!d)throw new Error("No fmt chunk in the wave file!");let p=s3(d.chunkData,2),U=s3(d.chunkData,2);if(U!==1)throw new Error(`Only mono samples are supported. Fmt reports ${U} channels`);let Z=s3(d.chunkData,4);s3(d.chunkData,4),s3(d.chunkData,2);let e0=s3(d.chunkData,2)/8,U0=!1,_=c.find(T2=>T2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let P;switch(p){default:U0=!0,P=new Float32Array(_.size/e0);break;case fk.PCM:P=a_(_,e0);break;case fk.ALAW:P=A_(_,e0);break}let i0=G7(c,"INFO"),n1=`Unnamed ${i}`;if(i0){let T2=Qe(i0.chunkData);for(;T2.header!=="INAM"&&i0.chunkData.currentIndexT2.header==="wsmp");if(a5){s3(a5.chunkData,4),S1=s3(a5.chunkData,2),f1=Ua(a5.chunkData[a5.chunkData.currentIndex++],a5.chunkData[a5.chunkData.currentIndex++]);let T2=Math.trunc(f1/100);if(S1+=T2,f1-=T2*100,f2=(s3(a5.chunkData,4)|0)/-655360,s3(a5.chunkData,4),s3(a5.chunkData,4)===1){s3(a5.chunkData,8),g2=s3(a5.chunkData,4);let y3=s3(a5.chunkData,4);n2=g2+y3}}else I9("No wsmp chunk in wave... using sane defaults.");U0&&console.error(`Failed to load '${n1}': Unsupported format: (${p})`),this.samples.push(new aC(n1,Z,S1,f1,g2,n2,P,f2)),i++,_5(`%cLoaded sample %c${n1}`,C1.info,C1.recognized)}u9()}var Ho=class extends Va{constructor(i){super(),this.dataArray=new K5(i),R7("%cParsing DLS...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=Qe(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(Q4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndex(p.generators=p.generators.filter(T=>T.generatorType!==I0.sampleID&&T.generatorType!==I0.keyRange&&T.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+d),0);let i=new K5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return p9(i,0),it(new y4("igen",i.length,i))}function Ov(n,i,A,c,d){let p=this.samples.map((e0,U0)=>{A&&e0.compressSample(c,d);let _=e0.getRawData();return _5(`%cEncoded sample %c${U0}. ${e0.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),T=this.samples.reduce((e0,U0,_)=>e0+p[_].length+46,0),H=new K5(T);this.samples.forEach((e0,U0)=>{let _=p[U0],P,i0,n1=_.length;e0.isCompressed?(P=H.currentIndex,i0=P+_.length):(P=H.currentIndex/2,i0=P+_.length/2,n1+=46),n.push(P),H.set(_,H.currentIndex),H.currentIndex+=n1,i.push(i0)});let O=it(new y4("smpl",H.length,H),new K5([115,100,116,97]));return it(new y4("LIST",O.length,O))}function qv(n,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((d,p)=>{P8(c,d.sampleName,20);let T=n[p];p9(c,T);let H=i[p];p9(c,H);let O=d.sampleLoopStartIndex+T,e0=d.sampleLoopEndIndex+T;d.isCompressed&&(O-=T,e0-=T),p9(c,O),p9(c,e0),p9(c,d.sampleRate),c[c.currentIndex++]=d.samplePitch,c[c.currentIndex++]=d.samplePitchCorrection,j3(c,d.sampleLink),j3(c,d.sampleType)}),P8(c,"EOS",46),it(new y4("shdr",c.length,c))}function Hv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new K5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("imod",i.length,i))}function Vv(){let n=this.instruments.reduce((p,T)=>T.instrumentZones.length*4+p,4),i=new K5(n),A=0,c=0,d=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let T of p.instrumentZones)T.zoneID=A,j3(i,c),j3(i,d),c+=T.generators.length,d+=T.modulators.length,A++}return j3(i,c),j3(i,d),it(new y4("ibag",i.length,i))}function Yv(){let n=this.instruments.length*22+22,i=new K5(n),A=0,c=0;for(let d of this.instruments)P8(i,d.instrumentName,20),j3(i,A),A+=d.instrumentZones.length,d.instrumentID=c,c++;return P8(i,"EOI",20),j3(i,A),it(new y4("inst",i.length,i))}function Jv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>(p.generators=p.generators.filter(T=>T.generatorType!==I0.instrument&&T.generatorType!==I0.keyRange&&T.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+d),0);let i=new K5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=d.generators.length}return j3(i,0),j3(i,0),it(new y4("pgen",i.length,i))}function zv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new K5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("pmod",i.length,i))}function Kv(){let n=this.presets.reduce((p,T)=>T.presetZones.length*4+p,4),i=new K5(n),A=0,c=0,d=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let T of p.presetZones)T.zoneID=A,j3(i,c),j3(i,d),c+=T.generators.length,d+=T.modulators.length,A++}return j3(i,c),j3(i,d),it(new y4("pbag",i.length,i))}function Wv(){let n=this.presets.length*38+38,i=new K5(n),A=0;for(let c of this.presets)P8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),p9(i,c.library),p9(i,c.genre),p9(i,c.morphology),A+=c.presetZones.length;return P8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),p9(i,0),p9(i,0),p9(i,0),it(new y4("phdr",i.length,i))}var r_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Zv(n=r_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),_5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),_5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a5,T2]of Object.entries(this.soundFontInfo))if(a5==="ifil"||a5==="iver"){let A0=parseInt(T2.split(".")[0]),C5=parseInt(T2.split(".")[1]),y3=new K5(4);j3(y3,A0),j3(y3,C5),i.push(it(new y4(a5,4,y3)))}else if(a5==="DMOD")i.push(it(new y4(a5,T2.length,T2)));else{let A0=new K5(T2.length);P8(A0,T2),i.push(it(new y4(a5,T2.length,A0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new y4("LIST",A.length,A));_5("%cWriting SDTA...",C1.info);let d=[],p=[],T=Ov.call(this,d,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);_5("%cWriting PDTA...",C1.info),_5("%cWriting SHDR...",C1.info);let H=qv.call(this,d,p);_5("%cWriting IGEN...",C1.info);let O=Pv.call(this);_5("%cWriting IMOD...",C1.info);let e0=Hv.call(this);_5("%cWriting IBAG...",C1.info);let U0=Vv.call(this);_5("%cWriting INST...",C1.info);let _=Yv.call(this),P=Jv.call(this);_5("%cWriting PMOD...",C1.info);let i0=zv.call(this);_5("%cWriting PBAG...",C1.info);let n1=Kv.call(this);_5("%cWriting PHDR...",C1.info);let S1=Wv.call(this),f1=St([new K5([112,100,116,97]),S1,n1,i0,P,_,U0,e0,O,H]),g2=it(new y4("LIST",f1.length,f1));_5("%cWriting the output file...",C1.info);let n2=St([new K5([115,102,98,107]),c,T,g2]),f2=it(new y4("RIFF",n2.length,n2));return _5(`%cSaved succesfully! Final file size: %c${f2.length}`,C1.info,C1.recognized),u9(),f2}var qp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var Kr=class extends qp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},wu=class extends qp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var n_=new Set([I0.velRange,I0.keyRange,I0.instrument,I0.exclusiveClass,I0.endOper,I0.sampleModes,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.initialAttenuation,I0.fineTune,I0.coarseTune,I0.keyNumToVolEnvHold,I0.keyNumToVolEnvDecay,I0.keyNumToModEnvHold,I0.keyNumToModEnvDecay]);function jv(n,i=!0){function A(_,P){_.push(...P.filter(i0=>!_.find(n1=>n1.generatorType===i0.generatorType)))}function c(_,P){return{min:Math.max(_.min,P.min),max:Math.min(_.max,P.max)}}function d(_,P){_.push(...P.filter(i0=>!_.find(n1=>l9.isIdentical(i0,n1))))}let p=[],T=[],H=[],O={min:0,max:127},e0={min:0,max:127},U0=n.presetZones.find(_=>_.isGlobal);U0&&(T.push(...U0.generators),H.push(...U0.modulators),O=U0.keyRange,e0=U0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let P=_.keyRange;_.hasKeyRange||(P=O);let i0=_.velRange;_.hasVelRange||(i0=e0);let n1=_.generators.map(A0=>new d6(A0.generatorType,A0.generatorValue));A(n1,T);let S1=[..._.modulators];d(S1,H);let f1=_.instrument.instrumentZones,g2=[],n2=[],f2={min:0,max:127},a5={min:0,max:127},T2=f1.find(A0=>A0.isGlobal);T2&&(g2.push(...T2.generators),n2.push(...T2.modulators),f2=T2.keyRange,a5=T2.velRange);for(let A0 of f1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=f2);let y3=A0.velRange;if(A0.hasVelRange||(y3=a5),C5=c(C5,P),y3=c(y3,i0),C5.maxnew d6(p3.generatorType,p3.generatorValue));A(k3,g2);let g6=[...A0.modulators];d(g6,n2);let S3=[...g6];for(let p3 of S1){let w6=S3.findIndex(L4=>l9.isIdentical(p3,L4));w6!==-1?S3[w6]=S3[w6].sumTransform(p3):S3.push(p3)}let c9=k3.map(p3=>new d6(p3.generatorType,p3.generatorValue));for(let p3 of n1){if(p3.generatorType===I0.velRange||p3.generatorType===I0.keyRange||p3.generatorType===I0.instrument||p3.generatorType===I0.endOper||p3.generatorType===I0.sampleModes)continue;let w6=k3.findIndex(L4=>L4.generatorType===p3.generatorType);if(w6!==-1){let L4=c9[w6].generatorValue+p3.generatorValue;c9[w6]=new d6(p3.generatorType,L4)}else{let L4=W6[p3.generatorType].def+p3.generatorValue;c9.push(new d6(p3.generatorType,L4))}}c9=c9.filter(p3=>p3.generatorType!==I0.sampleID&&p3.generatorType!==I0.keyRange&&p3.generatorType!==I0.velRange&&p3.generatorType!==I0.endOper&&p3.generatorType!==I0.instrument&&p3.generatorValue!==W6[p3.generatorType].def);let N9=new Kr;N9.keyRange=C5,N9.velRange=y3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=A0.sample,N9.generators=c9,N9.modulators=S3,p.push(N9)}}if(i){let _=new Kr;_.isGlobal=!0;for(let n1=0;n1<58;n1++){if(n_.has(n1))continue;let S1={},f1=W6[n1]?.def||0;S1[f1]=0;for(let g2 of p){let n2=g2.generators.find(T2=>T2.generatorType===n1);if(n2){let T2=n2.generatorValue;S1[T2]===void 0?S1[T2]=1:S1[T2]++}else S1[f1]++;let f2;switch(n1){default:continue;case I0.decayVolEnv:f2=I0.keyNumToVolEnvDecay;break;case I0.holdVolEnv:f2=I0.keyNumToVolEnvHold;break;case I0.decayModEnv:f2=I0.keyNumToModEnvDecay;break;case I0.holdModEnv:f2=I0.keyNumToModEnvHold}if(g2.generators.find(T2=>T2.generatorType===f2)!==void 0){S1={};break}}if(Object.keys(S1).length>0){let g2=Object.entries(S1).reduce((f2,a5)=>f2[1]{let a5=f2.generators.findIndex(T2=>T2.generatorType===n1);a5!==-1?f2.generators[a5].generatorValue===n2&&f2.generators.splice(a5,1):n2!==f1&&f2.generators.push(new d6(n1,f1))})}}let i0=p.find(n1=>!n1.isGlobal).modulators.map(n1=>l9.copy(n1));for(let n1 of i0){let S1=!0;for(let f1 of p){if(f1.isGlobal||!S1)continue;f1.modulators.find(n2=>l9.isIdentical(n2,n1))||(S1=!1)}if(S1===!0){_.modulators.push(l9.copy(n1));for(let f1 of p){let g2=f1.modulators.find(n2=>l9.isIdentical(n2,n1));g2.transformAmount===n1.transformAmount&&f1.modulators.splice(f1.modulators.indexOf(g2),1)}}}p.splice(0,0,_)}return p}var Xv=20;function iC(n,i,A,c,d,p,T){let H=T===0?0:1,O=new K5(Xv+H*16);p9(O,Xv),j3(O,i),j3(O,A);let e0=c*.4,U0=Math.floor(e0*-65536);p9(O,U0),p9(O,2);let _=p-d,P=0;switch(T){default:case 0:H=0;break;case 1:P=0,H=1;break;case 3:P=1,H=1}return p9(O,H),H===1&&(p9(O,16),p9(O,P),p9(O,d),p9(O,_)),k6("wsmp",O)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},rC=new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),nC=new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),oC=new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),sC=new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var F5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Hp=class{source;control;destination;scale;transform;constructor(i,A,c,d,p){this.source=i,this.control=A,this.destination=c,this.scale=d,this.transform=p}writeArticulator(){let i=new K5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),p9(i,this.scale<<16),i}};function ek(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function tk(n,i){switch(n){default:return;case I0.initialAttenuation:return{dest:F5.gain,amount:-i};case I0.fineTune:return F5.pitch;case I0.pan:return F5.pan;case I0.keyNum:return F5.keyNum;case I0.reverbEffectsSend:return F5.reverbSend;case I0.chorusEffectsSend:return F5.chorusSend;case I0.freqModLFO:return F5.modLfoFreq;case I0.delayModLFO:return F5.modLfoDelay;case I0.delayVibLFO:return F5.vibLfoDelay;case I0.freqVibLFO:return F5.vibLfoFreq;case I0.delayVolEnv:return F5.volEnvDelay;case I0.attackVolEnv:return F5.volEnvAttack;case I0.holdVolEnv:return F5.volEnvHold;case I0.decayVolEnv:return F5.volEnvDecay;case I0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case I0.releaseVolEnv:return F5.volEnvRelease;case I0.delayModEnv:return F5.modEnvDelay;case I0.attackModEnv:return F5.modEnvAttack;case I0.holdModEnv:return F5.modEnvHold;case I0.decayModEnv:return F5.modEnvDecay;case I0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case I0.releaseModEnv:return F5.modEnvRelease;case I0.initialFilterFc:return F5.filterCutoff;case I0.initialFilterQ:return F5.filterQ}}function ik(n,i){switch(n){default:return;case I0.modEnvToFilterFc:return{source:m6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case I0.modEnvToPitch:return{source:m6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case I0.modLfoToFilterFc:return{source:m6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case I0.modLfoToVolume:return{source:m6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case I0.modLfoToPitch:return{source:m6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case I0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case I0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case I0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case I0.keyNumToModEnvHold:return{source:m6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case I0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case I0.scaleTuning:return{source:m6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function rk(n){let i=tk(n.generatorType,n.generatorValue),A=i,c=0,d=n.generatorValue;i?.amount!==void 0&&(d=i.amount,A=i.dest);let p=ik(n.generatorType,n.generatorValue);if(p!==void 0)d=p.amt,A=p.dest,c=p.source;else if(A===void 0){I9(`Invalid generator type: ${n.generatorType}`);return}return new Hp(c,0,A,d,0)}function nk(n){if(n.transformType!==0){I9("Other transform types are not supported.");return}let i=ek(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,d=n.sourceDirection;if(i===void 0){I9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===I0.initialAttenuation&&(d=d===1?0:1);let p=ek(n.secSrcUsesCC,n.secSrcIndex),T=n.secSrcCurveType,H=n.secSrcPolarity,O=n.secSrcDirection;if(p===void 0){I9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let e0=tk(n.modulatorDestination,n.transformAmount),U0=e0,_=n.transformAmount;e0?.dest!==void 0&&(U0=e0.dest,_=e0.amount);let P=ik(n.modulatorDestination,n.transformAmount);if(P!==void 0)_=P.amt,p=i,T=A,H=c,O=d,A=er.linear,c=P.isBipolar?1:0,d=0,i=P.source,U0=P.dest;else if(U0===void 0){I9(`Invalid destination: ${n.modulatorDestination}`);return}let i0=0;return i0|=T<<4,i0|=H<<8,i0|=O<<9,i0|=A,i0|=c<<14,i0|=d<<15,new Hp(i,p,U0,_,i0)}var o_=new Set([I0.sampleModes,I0.initialAttenuation,I0.keyRange,I0.velRange,I0.sampleID,I0.fineTune,I0.coarseTune,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.overridingRootKey,I0.exclusiveClass]);function aC(n){for(let p=0;pn1.generatorType===H);if(O===void 0)continue;let e0=T.generatorValue*-128,U0=60/128*e0,_=O.generatorValue-U0,P=n.generators.indexOf(T),i0=n.generators.indexOf(O);n.generators[i0]=new d6(H,_,!1),n.generators[P]=new d6(T.generatorType,e0,!1)}let i=n.generators.reduce((p,T)=>{if(o_.has(T.generatorType))return p;let H=rk(T);return H!==void 0?(p.push(H),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,T)=>{if(l9.isIdentical(T,nC,!0)||l9.isIdentical(T,rC,!0)||l9.isIdentical(T,oC,!0)||l9.isIdentical(T,sC,!0))return p;let H=nk(T);return H!==void 0?(p.push(H),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new K5(8);p9(c,8),p9(c,i.length);let d=i.map(p=>p.writeArticulator());return k6("art2",St([c,...d]))}function ok(n,i){let A=new K5(12);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(I0.exclusiveClass,0);j3(A,c),j3(A,0);let d=k6("rgnh",A),p=n.getGeneratorValue(I0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(I0.scaleTuning,i.getGeneratorValue(I0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let H=iC(n.sample,p,n.getGeneratorValue(I0.fineTune,0)+n.getGeneratorValue(I0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(I0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(I0.startloopAddrsOffset,0)+n.getGeneratorValue(I0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(I0.endloopAddrsOffset,0)+n.getGeneratorValue(I0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(I0.sampleModes,0)),O=new K5(12);j3(O,0),j3(O,0),p9(O,1),p9(O,this.samples.indexOf(n.sample));let e0=k6("wlnk",O),U0=new K5(0);if(n.modulators.length+n.generators.length>0){let _=aC(n);U0=k6("lar2",_,!1,!0)}return k6("rgn2",St([d,H,e0,U0]),!1,!0)}function sk(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=jv(n),A=i.reduce((P,i0)=>i0.isGlobal?P:P+1,0),c=new K5(12);p9(c,A);let d=(n.bank&127)<<8;n.bank===128&&(d|=1<<31),p9(c,d),p9(c,n.program&127);let p=k6("insh",c),T=new K5(0),H=i.find(P=>P.isGlobal===!0);if(H){let P=aC(H);T=k6("lar2",P,!1,!0)}let O=St(i.reduce((P,i0)=>(i0.isGlobal||P.push(ok.apply(this,[i0,H])),P),[])),e0=k6("lrgn",O,!1,!0),U0=k6("INAM",Fn(n.presetName)),_=k6("INFO",U0,!1,!0);return u9(),k6("ins ",St([p,e0,T,_]),!1,!0)}function ak(){let n=St(this.presets.map(i=>sk.apply(this,[i])));return k6("lins",n,!1,!0)}function Ak(n){let i=new K5(18);j3(i,1),j3(i,1),p9(i,n.sampleRate),p9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(c=0);let d=iC(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,c),p=n.getAudioData(),T;if(n.isCompressed){let e0=new Int16Array(p.length);for(let U0=0;U0{let d=Ak(c);return i.push(n),n+=d.length,d});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function lk(){y8("%cSaving DLS...",C1.info);let n=new K5(4);p9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=ak.apply(this);_5("%cSuccess!",C1.recognized),u9(),y8("%cWriting WAVE samples...",C1.info);let c=$k.apply(this),d=c.data,p=c.indexes;_5("%cSucceeded!",C1.recognized),u9();let T=new K5(8+4*p.length);p9(T,8),p9(T,p.length);for(let _ of p)p9(T,_);let H=k6("ptbl",T);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let O=[];for(let[_,P]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||O.push(k6(_,Fn(P),!0));let e0=k6("INFO",St(O),!1,!0),U0=new K5(i.length+A.length+H.length+d.length+e0.length+4);return P8(U0,"DLS "),U0.set(St([i,A,H,d,e0]),4),_5("%cSaved succesfully!",C1.recognized),u9(),k6("RIFF",U0)}var Ya=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=LE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(T=>T.bank===p.bank&&T.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let d=this.presets.find(p=>p.bank===i&&p.program===A);if(d)return d;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(d=>d.bank===i&&d.program===A);return c||(i===128?(c=this.presets.find(d=>d.bank===128&&d.program===A),c||(c=this.presets.find(d=>d.bank===128))):c=this.presets.find(d=>d.program===A&&d.bank!==128),c&&I9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(I9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(I9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Ya.prototype.write=Zv;Ya.prototype.writeDLS=lk;function ck(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function d(i0,n1){return n1>=i0.min&&n1<=i0.max}function p(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>f1.generatorType===S1.generatorType)))}function T(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>l9.isIdentical(S1,f1))))}let H=[],O=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],e0=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],U0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(i0=>d(i0.hasKeyRange?i0.keyRange:U0,i)&&d(i0.hasVelRange?i0.velRange:_,A)&&!i0.isGlobal).forEach(i0=>{if(i0.instrument.instrumentZones.length<1)return;let n1=i0.generators,S1=i0.modulators,f1=i0.instrument.instrumentZones[0],g2=f1.isGlobal?[...f1.generators]:[],n2=f1.isGlobal?[...f1.modulators]:[],f2=f1.isGlobal?f1.keyRange:{min:0,max:127},a5=f1.isGlobal?f1.velRange:{min:0,max:127};i0.instrument.instrumentZones.filter(A0=>d(A0.hasKeyRange?A0.keyRange:f2,i)&&d(A0.hasVelRange?A0.velRange:a5,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],y3=[...A0.modulators];p(n1,O),p(C5,g2),T(S1,e0),T(y3,n2),T(y3,this.defaultModulators);let k3=[...y3];for(let g6=0;g6l9.isIdentical(S3,N9));c9!==-1?k3[c9]=k3[c9].sumTransform(S3):k3.push(S3)}H.push({instrumentGenerators:C5,presetGenerators:n1,modulators:k3,sample:A0.sample,sampleID:A0.generators.find(g6=>g6.generatorType===I0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=H,H}};var ku=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var AC=class extends vu{constructor(i,A){super(LE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new ku,this.DLSInstrument.addUseCount();let d=new wu;d.instrument=this.DLSInstrument,this.presetZones=[d]}};function gk(n){this.verifyHeader(n,"LIST"),this.verifyText(Q4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(i0=>i0.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),d=s3(A.chunkData,4),p=s3(A.chunkData,4),T=new AC(d,p),H="unnamedPreset",O=G7(i,"INFO");if(O){let i0=Qe(O.chunkData);for(;i0.header!=="INAM";)i0=Qe(O.chunkData);H=Q4(i0.chunkData,i0.chunkData.length).trim()}T.presetName=H,T.DLSInstrument.instrumentName=H,R7(`%cParsing %c"${H}"%c...`,C1.info,C1.recognized,C1.info);let e0=G7(i,"lrgn");if(!e0)throw u9(),new Error("No region list!");let U0=new Kr;U0.isGlobal=!0;let _=G7(i,"lart"),P=G7(i,"lar2");(P!==void 0||_!==void 0)&&this.readLart(_,P,U0),U0.generators=U0.generators.filter(i0=>i0.generatorValue!==W6[i0.generatorType].def),U0.modulators.find(i0=>i0.modulatorDestination===I0.reverbEffectsSend)===void 0&&U0.modulators.push(l9.copy(rC)),U0.modulators.find(i0=>i0.modulatorDestination===I0.chorusEffectsSend)===void 0&&U0.modulators.push(l9.copy(nC)),T.DLSInstrument.instrumentZones.push(U0);for(let i0=0;i0>10&15;n2===er.linear&&g2!==er.linear&&(n2=g2);let f2=c>>14&1,a5=c>>15&1;T===I0.initialAttenuation&&d<0&&(a5=1),P=Yr(n2,f2,a5,H.isCC,H.enum)}let i0=c>>4&15,n1=c>>8&1,S1=c>>9&1,f1=Yr(i0,n1,S1,_.isCC,_.enum);if(O){let g2=f1;f1=P,P=g2}return new l9({srcEnum:P,secSrcEnum:f1,dest:T,transform:0,amt:U0})}function cB(n,i){let A=n.chunkData,c=[],d=[];s3(A,4);let p=s3(A,4);for(let T=0;T>16;if(H===0&&O===0&&U0===0){let i0;switch(e0){case F5.pan:i0=new d6(I0.pan,P);break;case F5.gain:i0=new d6(I0.initialAttenuation,-P*10/.4);break;case F5.filterCutoff:i0=new d6(I0.initialFilterFc,P);break;case F5.filterQ:i0=new d6(I0.initialFilterQ,P);break;case F5.modLfoFreq:i0=new d6(I0.freqModLFO,P);break;case F5.modLfoDelay:i0=new d6(I0.delayModLFO,P);break;case F5.vibLfoFreq:i0=new d6(I0.freqVibLFO,P);break;case F5.vibLfoDelay:i0=new d6(I0.delayVibLFO,P);break;case F5.volEnvDelay:i0=new d6(I0.delayVolEnv,P);break;case F5.volEnvAttack:i0=new d6(I0.attackVolEnv,P);break;case F5.volEnvHold:i0=new d6(I0.holdVolEnv,P,!1);break;case F5.volEnvDecay:i0=new d6(I0.decayVolEnv,P,!1);break;case F5.volEnvRelease:i0=new d6(I0.releaseVolEnv,P);break;case F5.volEnvSustain:let n1=1e3-P;i0=new d6(I0.sustainVolEnv,n1);break;case F5.modEnvDelay:i0=new d6(I0.delayModEnv,P);break;case F5.modEnvAttack:i0=new d6(I0.attackModEnv,P);break;case F5.modEnvHold:i0=new d6(I0.holdModEnv,P,!1);break;case F5.modEnvDecay:i0=new d6(I0.decayModEnv,P,!1);break;case F5.modEnvRelease:i0=new d6(I0.releaseModEnv,P);break;case F5.modEnvSustain:let S1=1e3-P;i0=new d6(I0.sustainModEnv,S1);break;case F5.reverbSend:i0=new d6(I0.reverbEffectsSend,P);break;case F5.chorusSend:i0=new d6(I0.chorusEffectsSend,P);break;case F5.pitch:let f1=Math.floor(P/100),g2=Math.floor(P-f1*100);i0=new d6(I0.fineTune,g2),c.push(new d6(I0.coarseTune,f1));break}i0&&c.push(i0)}else{let i0=!0;if(O===m6.none)if(H===m6.modLfo&&e0===F5.pitch)c.push(new d6(I0.modLfoToPitch,P));else if(H===m6.modLfo&&e0===F5.gain)c.push(new d6(I0.modLfoToVolume,P));else if(H===m6.modLfo&&e0===F5.filterCutoff)c.push(new d6(I0.modLfoToFilterFc,P));else if(H===m6.vibratoLfo&&e0===F5.pitch)c.push(new d6(I0.vibLfoToPitch,P));else if(H===m6.modEnv&&e0===F5.pitch)c.push(new d6(I0.modEnvToPitch,P));else if(H===m6.modEnv&&e0===F5.filterCutoff)c.push(new d6(I0.modEnvToFilterFc,P));else if(H===m6.keyNum&&e0===F5.pitch)c.push(new d6(I0.scaleTuning,P/128));else if(H===m6.keyNum&&e0===F5.volEnvHold){c.push(new d6(I0.keyNumToVolEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdVolEnv&&(S1.generatorValue+=n1)})}else if(H===m6.keyNum&&e0===F5.volEnvDecay){c.push(new d6(I0.keyNumToVolEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayVolEnv&&(S1.generatorValue+=n1)})}else if(H===m6.keyNum&&e0===F5.modEnvHold){c.push(new d6(I0.keyNumToModEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdModEnv&&(S1.generatorValue+=n1)})}else if(H===m6.keyNum&&e0===F5.modEnvDecay){c.push(new d6(I0.keyNumToModEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayModEnv&&(S1.generatorValue+=n1)})}else i0=!1;else i0=!1;if(i0===!1){let n1=dk(H,O,e0,U0,P);n1?(d.push(n1),_5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):I9("Failed converting to SF2 Modulator!")}}}return i&&d.push(l9.copy(oC),l9.copy(sC)),{modulators:d,generators:c}}function hk(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(y3=>y3.header==="rgnh"),c=s3(A.chunkData,2),d=s3(A.chunkData,2),p=s3(A.chunkData,2),T=s3(A.chunkData,2),H=new $C({min:c,max:d},{min:p,max:T});s3(A.chunkData,2);let O=s3(A.chunkData,2);O!==0&&H.generators.push(new d6(I0.exclusiveClass,O));let e0=G7(i,"lart"),U0=G7(i,"lar2");this.readLart(e0,U0,H),H.isGlobal=!1;let _=i.find(y3=>y3.header==="wsmp");s3(_.chunkData,4);let P=s3(_.chunkData,2),i0=Ua(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),S1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let f1=s3(_.chunkData,4),g2,n2={start:0,end:0};if(f1===0)g2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?g2=1:g2=3,n2.start=s3(_.chunkData,4);let k3=s3(_.chunkData,4);n2.end=n2.start+k3}let f2=i.find(y3=>y3.header==="wlnk");if(f2===void 0)return;s3(f2.chunkData,2),s3(f2.chunkData,2),s3(f2.chunkData,4);let a5=s3(f2.chunkData,4),T2=this.samples[a5];if(T2===void 0)throw new Error("Invalid sample ID!");let C5=(S1||T2.sampleDbAttenuation)*10/.4;return H.setWavesample(C5,g2,n2,P,T2,a5,i0),H}var Su=class{constructor(i,A,c,d,p,T,H,O){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=d,this.sampleLink=p,this.sampleType=T,this.sampleLoopStartIndex=H,this.sampleLoopEndIndex=O,this.isCompressed=(T&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{I9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var lC=class extends Su{sampleDbAttenuation;sampleData;constructor(i,A,c,d,p,T,H,O){super(i,A,c,d,0,1,p,T),this.sampleData=H,this.sampleDbAttenuation=O}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var Ik={PCM:1,ALAW:6};function A_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),d,p=!1;i===1?(d=255,p=!0):d=A;let T=n.size/i,H=new Float32Array(T);for(let O=0;O=A&&(e0-=c),H[O]=e0/d)}return H}function $_(n,i){let A=n.size/i,c=new Float32Array(A);for(let d=0;d>4,O=T&15;H>0&&(O+=16),O=(O<<4)+8,H>1&&(O=O<127?O:-O;c[d]=e0/32678}return c}function mk(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexT2.header==="fmt ");if(!d)throw new Error("No fmt chunk in the wave file!");let p=s3(d.chunkData,2),T=s3(d.chunkData,2);if(T!==1)throw new Error(`Only mono samples are supported. Fmt reports ${T} channels`);let H=s3(d.chunkData,4);s3(d.chunkData,4),s3(d.chunkData,2);let e0=s3(d.chunkData,2)/8,U0=!1,_=c.find(T2=>T2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let P;switch(p){default:U0=!0,P=new Float32Array(_.size/e0);break;case Ik.PCM:P=A_(_,e0);break;case Ik.ALAW:P=$_(_,e0);break}let i0=G7(c,"INFO"),n1=`Unnamed ${i}`;if(i0){let T2=Qe(i0.chunkData);for(;T2.header!=="INAM"&&i0.chunkData.currentIndexT2.header==="wsmp");if(a5){s3(a5.chunkData,4),S1=s3(a5.chunkData,2),f1=Ua(a5.chunkData[a5.chunkData.currentIndex++],a5.chunkData[a5.chunkData.currentIndex++]);let T2=Math.trunc(f1/100);if(S1+=T2,f1-=T2*100,f2=(s3(a5.chunkData,4)|0)/-655360,s3(a5.chunkData,4),s3(a5.chunkData,4)===1){s3(a5.chunkData,8),g2=s3(a5.chunkData,4);let y3=s3(a5.chunkData,4);n2=g2+y3}}else I9("No wsmp chunk in wave... using sane defaults.");U0&&console.error(`Failed to load '${n1}': Unsupported format: (${p})`),this.samples.push(new lC(n1,H,S1,f1,g2,n2,P,f2)),i++,_5(`%cLoaded sample %c${n1}`,C1.info,C1.recognized)}u9()}var Ho=class extends Ya{constructor(i){super(),this.dataArray=new K5(i),R7("%cParsing DLS...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=Qe(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(Q4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndexO.header==="colh");p||(u9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),_5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let U=G7(c,"wvpl");U||(u9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(U);let Z=G7(c,"lins");Z||(u9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(Z),this.presets.sort((O,e0)=>O.program-e0.program+(O.bank-e0.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};Ho.prototype.readDLSInstrumentList=lk;Ho.prototype.readDLSInstrument=ck;Ho.prototype.readRegion=hk;Ho.prototype.readLart=dk;Ho.prototype.readDLSSamples=Ik;var Ja=Ja!==void 0?Ja:{},mk=!1,pk;Ja.isInitialized=new Promise(n=>pk=n);var $_=function(n){var i,A,c,d,p,U,Z,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e0="",U0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do d=O.indexOf(n.charAt(U0++)),p=O.indexOf(n.charAt(U0++)),U=O.indexOf(n.charAt(U0++)),Z=O.indexOf(n.charAt(U0++)),i=d<<2|p>>4,A=(15&p)<<4|U>>2,c=(3&U)<<6|Z,e0+=String.fromCharCode(i),U!==64&&(e0+=String.fromCharCode(A)),Z!==64&&(e0+=String.fromCharCode(c));while(U01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof Z$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):k3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Cr(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(y3||v3)&&(y3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},v3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var p3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||p3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function L4(R0){var t1=i0;return i0=i0+R0+15&-16,t1}function P7(R0){var t1=O[f2>>2],y1=t1+R0+15&-16;return O[f2>>2]=y1,y1>=G9&&!Zr()?(O[f2>>2]=t1,0):t1}function q8(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function Ka(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Cr(t1%8==0),t1/8}}function Er(R0){Er.shown||(Er.shown={}),Er.shown[R0]||(Er.shown[R0]=1,w6(R0))}C5=void 0;var Wa={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},T$=[];function uC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function N$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Za=0,Su=0;function Cr(R0,t1){R0||tr("Assertion failed: "+t1)}function ja(R0){var t1=A0["_"+R0];return Cr(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var Hp={stackSave:function(){Xp()},stackRestore:function(){W$()},arrayToC:function(R0){var t1,y1,_2=Xa(R0.length);return t1=R0,y1=_2,d.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=Xa(y1),Vp(R0,t1,y1)}return t1}},Vo={string:Hp.stringToC,array:Hp.arrayToC};function bu(R0,t1,y1,_2,t6){var E9=ja(R0),ee=[],p6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Vo[y1[v8]];H4?(p6===0&&(p6=Xp()),ee[v8]=H4(_2[v8])):ee[v8]=_2[v8]}var rt,M4=E9.apply(null,ee);return M4=(rt=M4,t1==="string"?U$(rt):t1==="boolean"?!!rt:rt),p6!==0&&W$(p6),M4}function O3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":d[R0>>0]=t1;break;case"i16":U[R0>>1]=t1;break;case"i32":O[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+xu(tempDouble=t1)>=1?tempDouble>0?(0|Mu(+Lu(tempDouble/4294967296),4294967295))>>>0:~~+z$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],O[R0>>2]=tempI64[0],O[R0+4>>2]=tempI64[1];break;case"float":U0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:tr("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return d[R0>>0];case"i16":return U[R0>>1];case"i32":case"i64":return O[R0>>2];case"float":return U0[R0>>2];case"double":return _[R0>>3];default:tr("invalid type for getValue: "+t1)}return null}function QB(R0,t1,y1,_2){typeof R0=="number"?(E9=!0,ee=R0):(E9=!1,ee=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof jo=="function"?jo:L4,Xa,L4,P7][y1===void 0?2:y1](Math.max(ee,t6?1:t1.length)),E9){for(_2=p6,Cr((3&p6)==0),v8=p6+(-4&ee);_2>2]=0;for(v8=p6+ee;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var E9,ee,p6,v8,H4,rt,M4,C9=0;C9>0],(_2!=0||t1)&&(ee++,!t1||ee!=t1););t1||(t1=ee);var p6="";if(E9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Yp)return Yp.decode(H4.subarray(rt,M4));for(var C9,Ui,H7,k8,Pi,Y7,V7="";;){if(!(C9=H4[rt++]))return V7;if(!(128&C9)){V7+=String.fromCharCode(C9);continue}if(Ui=63&H4[rt++],(224&C9)==192){V7+=String.fromCharCode((31&C9)<<6|Ui);continue}if(H7=63&H4[rt++],(240&C9)==224?C9=(15&C9)<<12|Ui<<6|H7:(k8=63&H4[rt++],(248&C9)==240?C9=(7&C9)<<18|Ui<<12|H7<<6|k8:(Pi=63&H4[rt++],C9=(252&C9)==248?(3&C9)<<24|Ui<<18|H7<<12|k8<<6|Pi:(1&C9)<<30|Ui<<24|H7<<18|k8<<12|Pi<<6|(Y7=63&H4[rt++]))),C9<65536)V7+=String.fromCharCode(C9);else{var On=C9-65536;V7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(p,y1)}function yB(R0){for(var t1="";;){var y1=d[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function Jo(R0,t1){return function(_2,t6,E9){for(var ee=0;ee<_2.length;++ee)d[t6++>>0]=_2.charCodeAt(ee);E9||(d[t6>>0]=0)}(R0,t1,!1)}var Yp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,E9=y1+_2-1,ee=0;ee=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++ee)),p6<=127){if(y1>=E9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=E9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=E9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=E9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=E9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=E9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function Vp(R0,t1,y1){return Un(R0,p,t1,y1)}function zo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Jp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function wB(R0){for(var t1=R0,y1=t1>>1;U[y1];)++y1;if((t1=y1<<1)-R0>32&&Jp)return Jp.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var E9=U[R0+2*_2>>1];if(E9==0)return t6;++_2,t6+=String.fromCharCode(E9)}}function vB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,E9=0;E9>1]=ee,t1+=2}return U[t1>>1]=0,t1-_2}function kB(R0){return 2*R0.length}function SB(R0){for(var t1=0,y1="";;){var _2=O[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function bB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,E9=0;E9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&R0.charCodeAt(++E9)),O[t1>>2]=ee,(t1+=4)+4>t6)break}return O[t1>>2]=0,t1-_2}function DB(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function _B(R0){var t1=zo(R0)+1,y1=jo(t1);return y1&&Un(R0,d,y1,t1),y1}function xB(R0){var t1=zo(R0)+1,y1=Xa(t1);return Un(R0,d,y1,t1),y1}function zp(R0){return R0}function fC(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` -`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function Du(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function Kp(R0){A0.buffer=c=R0}function X9(){A0.HEAP8=d=new Int8Array(c),A0.HEAP16=U=new Int16Array(c),A0.HEAP32=O=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=Z=new Uint16Array(c),A0.HEAPU32=e0=new Uint32Array(c),A0.HEAPF32=U0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(O[f2>>2]>t1)return!1;var y1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?Du(2*G9,R0):Math.min(Du((3*G9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Kp(_2),X9(),!0):(G9=y1,!1)}P=i0=S1=f1=g2=n2=f2=0,n1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=d;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!pC(t1)&&t1});try{(a5=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a5=function(t1){return t1.byteLength}}var P$=A0.TOTAL_STACK||5242880,G9=A0.TOTAL_MEMORY||16777216;function O$(){return G9}function Ko(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}G9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var xu=Math.abs,z$=Math.ceil,Lu=Math.floor,Mu=Math.min,Pn=0,Ru=null,Zo=null;function LB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var jp="data:application/octet-stream;base64,";function K$(R0){return String.prototype.startsWith?R0.startsWith(jp):R0.indexOf(jp)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";K$(t1)||(t1=N9(t1)),K$(y1)||(y1=N9(y1)),K$(_2)||(_2=N9(_2));var t6={global:null,env:null,asm2wasm:Wa,parent:A0},E9=null;function ee(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){tr(M4)}}A0.asmPreload=A0.asm;var v8=A0.reallocBuffer,H4=function(M4){M4=Du(M4,A0.usingWasm?65536:16777216);var C9=A0.buffer.byteLength;if(A0.usingWasm)try{var Ui=A0.wasmMemory.grow((M4-C9)/65536);return Ui!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?v8(M4):H4(M4)};var rt="";A0.asm=function(M4,C9,Ui){var H7;if(!(C9=H7=C9).table){var k8,Pi=A0.wasmTableSize;Pi===void 0&&(Pi=1024);var Y7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?Y7!==void 0?C9.table=new WebAssembly.Table({initial:Pi,maximum:Y7,element:"anyfunc"}):C9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):C9.table=Array(Pi),A0.wasmTable=C9.table}return C9.memoryBase||(C9.memoryBase=A0.STATIC_BASE),C9.tableBase||(C9.tableBase=0),k8=function(On,Br,eE){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function Fu(Qr,ir){if((E9=Qr.exports).memory){var eA,Xo,es;eA=E9.memory,Xo=A0.buffer,eA.byteLength0?y1:zo(R0)+1,t6=Array(_2),E9=Un(R0,t6,0,t6.length);return t1&&(t6.length=E9),t6}function mC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}i0+=16,f2=L4(4),g2=(S1=f1=q8(i0))+P$,n2=q8(g2),O[f2>>2]=n2,n1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:tr,assert:Cr,enlargeMemory:Zr,getTotalMemory:O$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(t1,y1,_2){var t6=Xp();try{return A0.dynCall_iii(t1,y1,_2)}catch(E9){if(W$(t6),typeof E9!="number"&&E9!=="longjmp")throw E9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){tr("Assertion failed: "+U$(t1)+", at: "+[y1?U$(y1):"unknown filename",_2,t6?U$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(O[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:Lu,DYNAMICTOP_PTR:f2,tempDoublePtr:Gi,ABORT:Za,STACKTOP:f1,STACK_MAX:g2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var pC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var jo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var Xa=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},W$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Xp=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function Z$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function j$(R0){R0=R0||A0.arguments,!(Pn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)IC(A0.preRun.shift());Ko(jr)}(),!(Pn>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Za||(Y$||(Y$=!0,Ko(q$)),Ko(_u),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)q7(A0.postRun.shift());Ko(H$)}()))}}function EC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Za=!0,Su=R0,f1=T2,Ko(k7),O7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new Z$(R0)))}function tr(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(p3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Za=!0,Su=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=bu,A0.cwrap=function(t1,y1,_2,t6){var E9=(_2=_2||[]).every(function(ee){return ee==="number"});return y1!=="string"&&E9&&!t6?ja(t1):function(){return bu(t1,y1,_2,arguments,t6)}},Z$.prototype=Error(),Z$.prototype.constructor=Z$,Zo=function R0(){A0.calledRun||j$(),A0.calledRun||(Zo=R0)},A0.run=j$,A0.abort=tr,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,j$(),A0.onRuntimeInitialized=()=>{mk=!0,pk()},Ja.decode=function(R0){return function(y1){if(!mk)throw Error("Not initialized");var _2={};function t6(Br){return new Int32Array(A0.HEAPU8.buffer,Br,1)[0]}function E9(Br,eE){var Fu=new ArrayBuffer(eE*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Fu);return bt.set(new Float32Array(A0.HEAPU8.buffer,Br,eE)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var ee,p6,v8,H4,rt=_2.open(),M4=(ee=y1,p6=y1.byteLength,v8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,v8,p6)).set(new Uint8Array(ee,0,p6)),H4),C9=A0._malloc(4),Ui=A0._malloc(4),H7=_2.decode(rt,M4.byteOffset,M4.byteLength,C9,Ui);if(A0._free(M4.byteOffset),H7<0)throw _2.close(rt),A0._free(C9),Error("stbvorbis decode failed: "+H7);for(var k8=_2.channels(rt),Pi=Array(k8),Y7=new Int32Array(A0.HEAPU32.buffer,t6(C9),k8),V7=0;V7n.chunkData.currentIndex;){let p=l_(d,n.chunkData,i,A);c.push(p),d++}return c.length>1&&c.pop(),c}function l_(n,i,A,c){let d=Q4(i,20),p=s3(i,4)*2,U=s3(i,4)*2,Z=s3(i,4),O=s3(i,4),e0=s3(i,4),U0=i[i.currentIndex++];U0===255&&(U0=60);let _=Ny(i[i.currentIndex++]),P=s3(i,2),i0=s3(i,2);return new cB(d,p,U,Z,O,e0,U0,_,P,i0,A,n,c)}var gB=class extends d6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ua(i[A+2],i[A+3]),i.currentIndex+=4}};function uB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new gB(n.chunkData));return i.length>1&&i.pop(),i}var dB=class extends vu{constructor(i){super(),this.instrumentName=Q4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new dB(n);if(A.length>0){let d=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(d,i)}A.push(c)}return A.length>1&&A.pop(),A}var hB=class extends Kr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Bk(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new hB(n.chunkData);if(d.length>0){let U=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,Z=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(U,Z),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getSample(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var fB=class extends yu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Qk(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new fB(n.chunkData);if(d.length>0){let U=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,Z=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(U,Z),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getInstrument(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var IB=class extends wu{constructor(i,A){super(A),this.presetName=Q4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let d=new IB(n,A);if(c.length>0){let p=d.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(d)}return c.length>1&&c.pop(),c}var mB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function AC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new mB(n.chunkData));return i}var $C=class extends Va{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),R7("%cParsing SoundFont...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=Qe(this.dataArray,!1);this.verifyHeader(c,"riff");let d=Q4(this.dataArray,4).toLowerCase();if(d!=="sfbk"&&d!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${d}"`);let p=d==="sfpk",U=Qe(this.dataArray);for(this.verifyHeader(U,"list"),Q4(U.chunkData,4);U.chunkData.length>U.chunkData.currentIndex;){let g6=Qe(U.chunkData),k3;switch(g6.header.toLowerCase()){case"ifil":case"iver":k3=`${s3(g6.chunkData,2)}.${s3(g6.chunkData,2)}`,this.soundFontInfo[g6.header]=k3;break;case"icmt":k3=Q4(g6.chunkData,g6.chunkData.length,void 0,!1),this.soundFontInfo[g6.header]=k3;break;case"dmod":let c9=AC(g6);c9.pop(),k3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(p3=>!this.defaultModulators.find(w6=>l9.isIdentical(p3,w6)))),this.soundFontInfo[g6.header]=g6.chunkData;break;default:k3=Q4(g6.chunkData,g6.chunkData.length),this.soundFontInfo[g6.header]=k3}_5(`%c"${g6.header}": %c"${k3}"`,C1.info,C1.recognized)}let Z=Qe(this.dataArray,!1);this.verifyHeader(Z,"list"),this.verifyText(Q4(this.dataArray,4),"sdta"),_5("%cVerifying smpl chunk...",C1.warn);let O=Qe(this.dataArray,!1);this.verifyHeader(O,"smpl");let e0;if(p){_5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{e0=Ja.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+Z.size-12)).data[0]}catch(g6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${g6}`)}_5(`%cDecoded the smpl chunk! Length: %c${e0.length}`,C1.info,C1.value)}else e0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;_5(`%cSkipping sample chunk, length: %c${Z.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=Z.size-12,_5("%cLoading preset data chunk...",C1.warn);let U0=Qe(this.dataArray);this.verifyHeader(U0,"list"),Q4(U0.chunkData,4);let _=Qe(U0.chunkData);this.verifyHeader(_,"phdr");let P=Qe(U0.chunkData);this.verifyHeader(P,"pbag");let i0=Qe(U0.chunkData);this.verifyHeader(i0,"pmod");let n1=Qe(U0.chunkData);this.verifyHeader(n1,"pgen");let S1=Qe(U0.chunkData);this.verifyHeader(S1,"inst");let f1=Qe(U0.chunkData);this.verifyHeader(f1,"ibag");let g2=Qe(U0.chunkData);this.verifyHeader(g2,"imod");let n2=Qe(U0.chunkData);this.verifyHeader(n2,"igen");let f2=Qe(U0.chunkData);this.verifyHeader(f2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Ek(f2,e0,!p));let a5=uB(n2),T2=AC(g2),A0=Bk(f1,a5,T2,this.samples);this.instruments=Ck(S1,A0);let C5=uB(n1),y3=AC(i0),v3=Qk(P,C5,y3,this.instruments);this.presets.push(...yk(_,v3,this.defaultModulators)),this.presets.sort((g6,k3)=>g6.program-k3.program+(g6.bank-k3.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Yo(n){let i=n.slice(8,12),A=new K5(i);return Q4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(n):new $C(n,!1)}async function wk(){let n="locale.exportAudio.formats.formats.soundfont.options.";Ne(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,d=parseInt(i.div.querySelector("input[type='range']").value)/10;le(i.id),R7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),U=Yo(p.embeddedSoundFont||this.soundFont);Pa(p,await this.synth.getSynthesizerSnapshot()),A&&Qu(U,p);let Z=U.write({compress:c,compressionQuality:d,compressionFunction:this.compressionFunc}),O=new Blob([Z.buffer],{type:"audio/soundfont"}),e0=U.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(O,`${U.soundFontInfo.INAM||"unnamed"}.${e0}`),u9()}}],99999999,!0,this.localeManager)}async function vk(){let n="locale.exportAudio.formats.";Ne(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{le(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{le(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{le(i.id);try{this._exportSoundfont()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{le(i.id);try{this._exportDLS()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{le(i.id);try{this._exportRMIDI()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function kk(){let n=(_,P,i0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?P:i0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),d=n("IART","",A),p=n("IGNR","",A),U=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),Z="locale.exportAudio.formats.formats.rmidi.options.",O="locale.exportAudio.formats.metadata.",U0=Ne(this.localeManager.getLocaleString(Z+"title"),[{type:"toggle",translatePathTitle:Z+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:Z+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:O+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:O+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:O+"artist",attributes:{value:d,name:"artist",type:"text"}},{type:"input",translatePathTitle:O+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:O+"comment",attributes:{value:U,name:"comment",type:"text"}},{type:"file",translatePathTitle:O+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:Z+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:Z+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(Z+"confirm"),onClick:async _=>{let P=_.div.querySelector("input[compress-toggle='1']").checked,i0=parseInt(_.div.querySelector("input[type='range']").value)/10,n1=_.div.querySelector("input[name='album']").value,S1=_.div.querySelector("input[name='artist']").value,f1=_.div.querySelector("input[name='song_title']").value,g2=_.div.querySelector("input[name='comment']").value,n2=_.div.querySelector("input[name='genre']").value,f2=parseInt(_.div.querySelector("input[name='bank_offset']").value),a5=_.div.querySelector("input[name='adjust']").checked,T2=_.div.querySelector("input[type='file']")?.files[0];le(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=Ne(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let y3=C5.div.getElementsByClassName("export_rmidi_message")[0],v3=await this.seq.getMIDI(),g6=Yo(v3.embeddedSoundFont||this.soundFont);y3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Pa(v3,await this.synth.getSynthesizerSnapshot()),y3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),Qu(g6,v3);let k3=g6.write({compress:P,compressionQuality:i0,compressionFunction:this.compressionFunc});y3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let c9;T2?.type.split("/")[0]==="image"?c9=await T2.arrayBuffer():v3.RMIDInfo?.IPIC!==void 0&&(c9=v3.RMIDInfo.IPIC.buffer);let N9=UE(k3,v3,g6,f2,this.seqUI.encoding,{name:f1,comment:g2,engineer:g6.soundFontInfo.IENG,picture:c9,album:n1.length>0?n1:void 0,artist:S1.length>0?S1:void 0,genre:n2.length>0?n2:void 0,midiEncoding:this.seqUI.encoding},a5),p3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(p3,`${f1||"unnamed_song"}.rmi`),y3.textContent=this.localeManager.getLocaleString(A0+"done"),le(C5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");U0.oninput=()=>{U0.files[0]&&(U0.parentElement.firstChild.textContent=U0.files[0].name)}}var Sk="synthetizer/worklet_processor.min.js";var lC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",d=typeof process=="object"&&typeof kE=="function"&&!c,p=typeof importScripts=="function",U=!c&&!d&&!p;if(d){n.print||(n.print=function(l){process.stdout.write(l+` +Converted from DLS to SF2 with SpessaSynth`;for(let[O,e0]of Object.entries(this.soundFontInfo))_5(`%c"${O}": %c"${e0}"`,C1.info,C1.recognized);let p=c.find(O=>O.header==="colh");p||(u9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),_5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let T=G7(c,"wvpl");T||(u9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(T);let H=G7(c,"lins");H||(u9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(H),this.presets.sort((O,e0)=>O.program-e0.program+(O.bank-e0.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};Ho.prototype.readDLSInstrumentList=ck;Ho.prototype.readDLSInstrument=gk;Ho.prototype.readRegion=fk;Ho.prototype.readLart=hk;Ho.prototype.readDLSSamples=mk;var Ja=Ja!==void 0?Ja:{},pk=!1,Ek;Ja.isInitialized=new Promise(n=>Ek=n);var l_=function(n){var i,A,c,d,p,T,H,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",e0="",U0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do d=O.indexOf(n.charAt(U0++)),p=O.indexOf(n.charAt(U0++)),T=O.indexOf(n.charAt(U0++)),H=O.indexOf(n.charAt(U0++)),i=d<<2|p>>4,A=(15&p)<<4|T>>2,c=(3&T)<<6|H,e0+=String.fromCharCode(i),T!==64&&(e0+=String.fromCharCode(A)),H!==64&&(e0+=String.fromCharCode(c));while(U01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof Z$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):S3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Cr(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(y3||k3)&&(y3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},k3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var p3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||p3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function L4(R0){var t1=i0;return i0=i0+R0+15&-16,t1}function P7(R0){var t1=O[f2>>2],y1=t1+R0+15&-16;return O[f2>>2]=y1,y1>=G9&&!Zr()?(O[f2>>2]=t1,0):t1}function q8(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function Ka(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Cr(t1%8==0),t1/8}}function Er(R0){Er.shown||(Er.shown={}),Er.shown[R0]||(Er.shown[R0]=1,w6(R0))}C5=void 0;var Wa={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},T$=[];function fC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function N$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Za=0,bu=0;function Cr(R0,t1){R0||tr("Assertion failed: "+t1)}function ja(R0){var t1=A0["_"+R0];return Cr(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var Yp={stackSave:function(){tE()},stackRestore:function(){W$()},arrayToC:function(R0){var t1,y1,_2=Xa(R0.length);return t1=R0,y1=_2,d.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=Xa(y1),zp(R0,t1,y1)}return t1}},Yo={string:Yp.stringToC,array:Yp.arrayToC};function Du(R0,t1,y1,_2,t6){var E9=ja(R0),ee=[],p6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Yo[y1[v8]];H4?(p6===0&&(p6=tE()),ee[v8]=H4(_2[v8])):ee[v8]=_2[v8]}var rt,M4=E9.apply(null,ee);return M4=(rt=M4,t1==="string"?U$(rt):t1==="boolean"?!!rt:rt),p6!==0&&W$(p6),M4}function q3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":d[R0>>0]=t1;break;case"i16":T[R0>>1]=t1;break;case"i32":O[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+Lu(tempDouble=t1)>=1?tempDouble>0?(0|Ru(+Mu(tempDouble/4294967296),4294967295))>>>0:~~+z$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],O[R0>>2]=tempI64[0],O[R0+4>>2]=tempI64[1];break;case"float":U0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:tr("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return d[R0>>0];case"i16":return T[R0>>1];case"i32":case"i64":return O[R0>>2];case"float":return U0[R0>>2];case"double":return _[R0>>3];default:tr("invalid type for getValue: "+t1)}return null}function yB(R0,t1,y1,_2){typeof R0=="number"?(E9=!0,ee=R0):(E9=!1,ee=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof jo=="function"?jo:L4,Xa,L4,P7][y1===void 0?2:y1](Math.max(ee,t6?1:t1.length)),E9){for(_2=p6,Cr((3&p6)==0),v8=p6+(-4&ee);_2>2]=0;for(v8=p6+ee;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var E9,ee,p6,v8,H4,rt,M4,C9=0;C9>0],(_2!=0||t1)&&(ee++,!t1||ee!=t1););t1||(t1=ee);var p6="";if(E9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Jp)return Jp.decode(H4.subarray(rt,M4));for(var C9,Ui,H7,k8,Pi,V7,Y7="";;){if(!(C9=H4[rt++]))return Y7;if(!(128&C9)){Y7+=String.fromCharCode(C9);continue}if(Ui=63&H4[rt++],(224&C9)==192){Y7+=String.fromCharCode((31&C9)<<6|Ui);continue}if(H7=63&H4[rt++],(240&C9)==224?C9=(15&C9)<<12|Ui<<6|H7:(k8=63&H4[rt++],(248&C9)==240?C9=(7&C9)<<18|Ui<<12|H7<<6|k8:(Pi=63&H4[rt++],C9=(252&C9)==248?(3&C9)<<24|Ui<<18|H7<<12|k8<<6|Pi:(1&C9)<<30|Ui<<24|H7<<18|k8<<12|Pi<<6|(V7=63&H4[rt++]))),C9<65536)Y7+=String.fromCharCode(C9);else{var On=C9-65536;Y7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(p,y1)}function wB(R0){for(var t1="";;){var y1=d[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function Jo(R0,t1){return function(_2,t6,E9){for(var ee=0;ee<_2.length;++ee)d[t6++>>0]=_2.charCodeAt(ee);E9||(d[t6>>0]=0)}(R0,t1,!1)}var Jp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,E9=y1+_2-1,ee=0;ee=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++ee)),p6<=127){if(y1>=E9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=E9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=E9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=E9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=E9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=E9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function zp(R0,t1,y1){return Un(R0,p,t1,y1)}function zo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Kp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function vB(R0){for(var t1=R0,y1=t1>>1;T[y1];)++y1;if((t1=y1<<1)-R0>32&&Kp)return Kp.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var E9=T[R0+2*_2>>1];if(E9==0)return t6;++_2,t6+=String.fromCharCode(E9)}}function kB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,E9=0;E9>1]=ee,t1+=2}return T[t1>>1]=0,t1-_2}function SB(R0){return 2*R0.length}function bB(R0){for(var t1=0,y1="";;){var _2=O[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function DB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,E9=0;E9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&R0.charCodeAt(++E9)),O[t1>>2]=ee,(t1+=4)+4>t6)break}return O[t1>>2]=0,t1-_2}function _B(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function xB(R0){var t1=zo(R0)+1,y1=jo(t1);return y1&&Un(R0,d,y1,t1),y1}function LB(R0){var t1=zo(R0)+1,y1=Xa(t1);return Un(R0,d,y1,t1),y1}function Wp(R0){return R0}function pC(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` +`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function _u(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function Zp(R0){A0.buffer=c=R0}function X9(){A0.HEAP8=d=new Int8Array(c),A0.HEAP16=T=new Int16Array(c),A0.HEAP32=O=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=H=new Uint16Array(c),A0.HEAPU32=e0=new Uint32Array(c),A0.HEAPF32=U0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(O[f2>>2]>t1)return!1;var y1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?_u(2*G9,R0):Math.min(_u((3*G9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Zp(_2),X9(),!0):(G9=y1,!1)}P=i0=S1=f1=g2=n2=f2=0,n1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=d;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!BC(t1)&&t1});try{(a5=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a5=function(t1){return t1.byteLength}}var P$=A0.TOTAL_STACK||5242880,G9=A0.TOTAL_MEMORY||16777216;function O$(){return G9}function Ko(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}G9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var Lu=Math.abs,z$=Math.ceil,Mu=Math.floor,Ru=Math.min,Pn=0,Fu=null,Zo=null;function MB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var eE="data:application/octet-stream;base64,";function K$(R0){return String.prototype.startsWith?R0.startsWith(eE):R0.indexOf(eE)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";K$(t1)||(t1=N9(t1)),K$(y1)||(y1=N9(y1)),K$(_2)||(_2=N9(_2));var t6={global:null,env:null,asm2wasm:Wa,parent:A0},E9=null;function ee(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){tr(M4)}}A0.asmPreload=A0.asm;var v8=A0.reallocBuffer,H4=function(M4){M4=_u(M4,A0.usingWasm?65536:16777216);var C9=A0.buffer.byteLength;if(A0.usingWasm)try{var Ui=A0.wasmMemory.grow((M4-C9)/65536);return Ui!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?v8(M4):H4(M4)};var rt="";A0.asm=function(M4,C9,Ui){var H7;if(!(C9=H7=C9).table){var k8,Pi=A0.wasmTableSize;Pi===void 0&&(Pi=1024);var V7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?V7!==void 0?C9.table=new WebAssembly.Table({initial:Pi,maximum:V7,element:"anyfunc"}):C9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):C9.table=Array(Pi),A0.wasmTable=C9.table}return C9.memoryBase||(C9.memoryBase=A0.STATIC_BASE),C9.tableBase||(C9.tableBase=0),k8=function(On,Br,iE){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function Tu(Qr,ir){if((E9=Qr.exports).memory){var eA,Xo,es;eA=E9.memory,Xo=A0.buffer,eA.byteLength0?y1:zo(R0)+1,t6=Array(_2),E9=Un(R0,t6,0,t6.length);return t1&&(t6.length=E9),t6}function CC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}i0+=16,f2=L4(4),g2=(S1=f1=q8(i0))+P$,n2=q8(g2),O[f2>>2]=n2,n1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:tr,assert:Cr,enlargeMemory:Zr,getTotalMemory:O$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(t1,y1,_2){var t6=tE();try{return A0.dynCall_iii(t1,y1,_2)}catch(E9){if(W$(t6),typeof E9!="number"&&E9!=="longjmp")throw E9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){tr("Assertion failed: "+U$(t1)+", at: "+[y1?U$(y1):"unknown filename",_2,t6?U$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(O[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:Mu,DYNAMICTOP_PTR:f2,tempDoublePtr:Gi,ABORT:Za,STACKTOP:f1,STACK_MAX:g2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var BC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var jo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var Xa=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},W$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},tE=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function Z$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function j$(R0){R0=R0||A0.arguments,!(Pn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)EC(A0.preRun.shift());Ko(jr)}(),!(Pn>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Za||(V$||(V$=!0,Ko(q$)),Ko(xu),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)q7(A0.postRun.shift());Ko(H$)}()))}}function QC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Za=!0,bu=R0,f1=T2,Ko(k7),O7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new Z$(R0)))}function tr(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(p3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Za=!0,bu=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=Du,A0.cwrap=function(t1,y1,_2,t6){var E9=(_2=_2||[]).every(function(ee){return ee==="number"});return y1!=="string"&&E9&&!t6?ja(t1):function(){return Du(t1,y1,_2,arguments,t6)}},Z$.prototype=Error(),Z$.prototype.constructor=Z$,Zo=function R0(){A0.calledRun||j$(),A0.calledRun||(Zo=R0)},A0.run=j$,A0.abort=tr,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,j$(),A0.onRuntimeInitialized=()=>{pk=!0,Ek()},Ja.decode=function(R0){return function(y1){if(!pk)throw Error("Not initialized");var _2={};function t6(Br){return new Int32Array(A0.HEAPU8.buffer,Br,1)[0]}function E9(Br,iE){var Tu=new ArrayBuffer(iE*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Tu);return bt.set(new Float32Array(A0.HEAPU8.buffer,Br,iE)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var ee,p6,v8,H4,rt=_2.open(),M4=(ee=y1,p6=y1.byteLength,v8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,v8,p6)).set(new Uint8Array(ee,0,p6)),H4),C9=A0._malloc(4),Ui=A0._malloc(4),H7=_2.decode(rt,M4.byteOffset,M4.byteLength,C9,Ui);if(A0._free(M4.byteOffset),H7<0)throw _2.close(rt),A0._free(C9),Error("stbvorbis decode failed: "+H7);for(var k8=_2.channels(rt),Pi=Array(k8),V7=new Int32Array(A0.HEAPU32.buffer,t6(C9),k8),Y7=0;Y7n.chunkData.currentIndex;){let p=c_(d,n.chunkData,i,A);c.push(p),d++}return c.length>1&&c.pop(),c}function c_(n,i,A,c){let d=Q4(i,20),p=s3(i,4)*2,T=s3(i,4)*2,H=s3(i,4),O=s3(i,4),e0=s3(i,4),U0=i[i.currentIndex++];U0===255&&(U0=60);let _=Gy(i[i.currentIndex++]),P=s3(i,2),i0=s3(i,2);return new gB(d,p,T,H,O,e0,U0,_,P,i0,A,n,c)}var uB=class extends d6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ua(i[A+2],i[A+3]),i.currentIndex+=4}};function dB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new uB(n.chunkData));return i.length>1&&i.pop(),i}var hB=class extends ku{constructor(i){super(),this.instrumentName=Q4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new hB(n);if(A.length>0){let d=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(d,i)}A.push(c)}return A.length>1&&A.pop(),A}var fB=class extends Kr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Qk(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new fB(n.chunkData);if(d.length>0){let T=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(T,H),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getSample(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var IB=class extends wu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function yk(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new IB(n.chunkData);if(d.length>0){let T=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(T,H),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getInstrument(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var mB=class extends vu{constructor(i,A){super(A),this.presetName=Q4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let d=new mB(n,A);if(c.length>0){let p=d.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(d)}return c.length>1&&c.pop(),c}var pB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function cC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new pB(n.chunkData));return i}var gC=class extends Ya{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),R7("%cParsing SoundFont...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=Qe(this.dataArray,!1);this.verifyHeader(c,"riff");let d=Q4(this.dataArray,4).toLowerCase();if(d!=="sfbk"&&d!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${d}"`);let p=d==="sfpk",T=Qe(this.dataArray);for(this.verifyHeader(T,"list"),Q4(T.chunkData,4);T.chunkData.length>T.chunkData.currentIndex;){let g6=Qe(T.chunkData),S3;switch(g6.header.toLowerCase()){case"ifil":case"iver":S3=`${s3(g6.chunkData,2)}.${s3(g6.chunkData,2)}`,this.soundFontInfo[g6.header]=S3;break;case"icmt":S3=Q4(g6.chunkData,g6.chunkData.length,void 0,!1),this.soundFontInfo[g6.header]=S3;break;case"dmod":let c9=cC(g6);c9.pop(),S3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(p3=>!this.defaultModulators.find(w6=>l9.isIdentical(p3,w6)))),this.soundFontInfo[g6.header]=g6.chunkData;break;default:S3=Q4(g6.chunkData,g6.chunkData.length),this.soundFontInfo[g6.header]=S3}_5(`%c"${g6.header}": %c"${S3}"`,C1.info,C1.recognized)}let H=Qe(this.dataArray,!1);this.verifyHeader(H,"list"),this.verifyText(Q4(this.dataArray,4),"sdta"),_5("%cVerifying smpl chunk...",C1.warn);let O=Qe(this.dataArray,!1);this.verifyHeader(O,"smpl");let e0;if(p){_5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{e0=Ja.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+H.size-12)).data[0]}catch(g6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${g6}`)}_5(`%cDecoded the smpl chunk! Length: %c${e0.length}`,C1.info,C1.value)}else e0=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;_5(`%cSkipping sample chunk, length: %c${H.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=H.size-12,_5("%cLoading preset data chunk...",C1.warn);let U0=Qe(this.dataArray);this.verifyHeader(U0,"list"),Q4(U0.chunkData,4);let _=Qe(U0.chunkData);this.verifyHeader(_,"phdr");let P=Qe(U0.chunkData);this.verifyHeader(P,"pbag");let i0=Qe(U0.chunkData);this.verifyHeader(i0,"pmod");let n1=Qe(U0.chunkData);this.verifyHeader(n1,"pgen");let S1=Qe(U0.chunkData);this.verifyHeader(S1,"inst");let f1=Qe(U0.chunkData);this.verifyHeader(f1,"ibag");let g2=Qe(U0.chunkData);this.verifyHeader(g2,"imod");let n2=Qe(U0.chunkData);this.verifyHeader(n2,"igen");let f2=Qe(U0.chunkData);this.verifyHeader(f2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Ck(f2,e0,!p));let a5=dB(n2),T2=cC(g2),A0=Qk(f1,a5,T2,this.samples);this.instruments=Bk(S1,A0);let C5=dB(n1),y3=cC(i0),k3=yk(P,C5,y3,this.instruments);this.presets.push(...wk(_,k3,this.defaultModulators)),this.presets.sort((g6,S3)=>g6.program-S3.program+(g6.bank-S3.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Vo(n){let i=n.slice(8,12),A=new K5(i);return Q4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(n):new gC(n,!1)}async function vk(){let n="locale.exportAudio.formats.formats.soundfont.options.";Ne(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,d=parseInt(i.div.querySelector("input[type='range']").value)/10;le(i.id),R7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),T=Vo(p.embeddedSoundFont||this.soundFont);Pa(p,await this.synth.getSynthesizerSnapshot()),A&&yu(T,p);let H=T.write({compress:c,compressionQuality:d,compressionFunction:this.compressionFunc}),O=new Blob([H.buffer],{type:"audio/soundfont"}),e0=T.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(O,`${T.soundFontInfo.INAM||"unnamed"}.${e0}`),u9()}}],99999999,!0,this.localeManager)}async function kk(){let n="locale.exportAudio.formats.";Ne(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{le(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{le(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{le(i.id);try{this._exportSoundfont()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{le(i.id);try{this._exportDLS()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{le(i.id);try{this._exportRMIDI()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Sk(){let n=(_,P,i0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?P:i0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),d=n("IART","",A),p=n("IGNR","",A),T=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),H="locale.exportAudio.formats.formats.rmidi.options.",O="locale.exportAudio.formats.metadata.",U0=Ne(this.localeManager.getLocaleString(H+"title"),[{type:"toggle",translatePathTitle:H+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:H+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:O+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:O+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:O+"artist",attributes:{value:d,name:"artist",type:"text"}},{type:"input",translatePathTitle:O+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:O+"comment",attributes:{value:T,name:"comment",type:"text"}},{type:"file",translatePathTitle:O+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:H+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:H+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(H+"confirm"),onClick:async _=>{let P=_.div.querySelector("input[compress-toggle='1']").checked,i0=parseInt(_.div.querySelector("input[type='range']").value)/10,n1=_.div.querySelector("input[name='album']").value,S1=_.div.querySelector("input[name='artist']").value,f1=_.div.querySelector("input[name='song_title']").value,g2=_.div.querySelector("input[name='comment']").value,n2=_.div.querySelector("input[name='genre']").value,f2=parseInt(_.div.querySelector("input[name='bank_offset']").value),a5=_.div.querySelector("input[name='adjust']").checked,T2=_.div.querySelector("input[type='file']")?.files[0];le(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=Ne(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let y3=C5.div.getElementsByClassName("export_rmidi_message")[0],k3=await this.seq.getMIDI(),g6=Vo(k3.embeddedSoundFont||this.soundFont);y3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Pa(k3,await this.synth.getSynthesizerSnapshot()),y3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),yu(g6,k3);let S3=g6.write({compress:P,compressionQuality:i0,compressionFunction:this.compressionFunc});y3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let c9;T2?.type.split("/")[0]==="image"?c9=await T2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(c9=k3.RMIDInfo.IPIC.buffer);let N9=qE(S3,k3,g6,f2,this.seqUI.encoding,{name:f1,comment:g2,engineer:g6.soundFontInfo.IENG,picture:c9,album:n1.length>0?n1:void 0,artist:S1.length>0?S1:void 0,genre:n2.length>0?n2:void 0,midiEncoding:this.seqUI.encoding},a5),p3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(p3,`${f1||"unnamed_song"}.rmi`),y3.textContent=this.localeManager.getLocaleString(A0+"done"),le(C5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");U0.oninput=()=>{U0.files[0]&&(U0.parentElement.firstChild.textContent=U0.files[0].name)}}var bk="synthetizer/worklet_processor.min.js";var uC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",d=typeof process=="object"&&typeof bE=="function"&&!c,p=typeof importScripts=="function",T=!c&&!d&&!p;if(d){n.print||(n.print=function(l){process.stdout.write(l+` `)}),n.printErr||(n.printErr=function(l){process.stderr.write(l+` -`)});var Z=void 0,O=void 0;n.read=function(l,u){l=O.normalize(l);var f=Z.readFileSync(l);return!f&&l!=O.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=Z.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){U0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof tA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(U)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return Ge(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var e0=!1;n.print||(n.print=e0&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function U0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){U0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return k7},stackRestore:function(r){k7=r},getNativeTypeSize:function(r){switch(r){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return Ge(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(Ge((r&7)===4),r+=4):Ge((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){Ge(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=k7;return k7=k7+r|0,k7=k7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=O7;if(O7=O7+r|0,O7=O7+15&-16,O7>=Wo){var u=IC();if(!u)return O7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var P=0,i0=!1,n1=0,S1=0,f1,g2,n2,f2,a5,T2,A0,C5,y3,v3,g6,k3,c9,N9,p3,w6,L4,P7,q8,Ka,Er,Wa,T$,uC,dC;function Ge(r,l){r||ts("Assertion failed: "+l)}var Lk=this;function hC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return Ge(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var N$,Za;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return Xa(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),jo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Za=function(r1,x2,s,l1,C){var k5=hC(r1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":G9[r>>2]=l;break;case"i64":N9=[l>>>0,(k3=l,+j$(k3)>=1?k3>0?(Ui(+H4(k3/4294967296),4294967295)|0)>>>0:~~+v8((k3-+(~~k3>>>0))/4294967296)>>>0:0)],G9[r>>2]=N9[0],G9[r+4>>2]=N9[1];break;case"float":el[r>>2]=l;break;case"double":O$[r>>3]=l;break;default:ts("invalid type for setValue: "+u)}}n.setValue=Su;function Cr(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[r>>0];case"i8":return X9[r>>0];case"i16":return Zr[r>>1];case"i32":return G9[r>>2];case"i64":return G9[r>>2];case"float":return el[r>>2];case"double":return O$[r>>3];default:ts("invalid type for setValue: "+l)}return null}n.getValue=Cr;var ja=0,Hp=1,Vo=2,bu=3,O3=4;n.ALLOC_NORMAL=ja,n.ALLOC_STACK=Hp,n.ALLOC_STATIC=Vo,n.ALLOC_DYNAMIC=bu,n.ALLOC_NONE=O3;function C3(r,l,u,f){var H,e;typeof r=="number"?(H=!0,e=r):(H=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==O3?r1=f:r1=[Tu,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Vo:u](Math.max(e,X0?1:l.length)),H){var f=r1,x2;for(Ge((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?S7.set(r,r1):S7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(H++,l&&H==l)););l||(l=H);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,S7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=G$;function U$(r){for(var l="";;){var u=X9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=U$;function yB(r,l){return W$(r,l,!1)}n.stringToAscii=yB;function Jo(r,l){for(var u,f,H,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(H=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|H:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|H<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|H<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|H<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=Jo;function Yp(r){return Jo(S7,r)}n.UTF8ToString=Yp;function Un(r,l,u,f){if(!(f>0))return 0;for(var H=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-H}n.stringToUTF8Array=Un;function Vp(r,l,u){return Un(r,S7,l,u)}n.stringToUTF8=Vp;function zo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=zo;function Jp(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Jp;function wB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,H=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=wB;function vB(r){return r.length*2}n.lengthBytesUTF16=vB;function kB(r){for(var l=0,u="";;){var f=G9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var H=f-65536;u+=String.fromCharCode(55296|H>>10,56320|H&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=kB;function SB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,H=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(G9[l>>2]=X0,l+=4,l+4>H)break}return G9[l>>2]=0,l-f}n.stringToUTF32=SB;function bB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=bB;function DB(r){var l=!!n.___cxa_demangle;if(l)try{var u=Tu(r.length);jo(r.substr(1),u);var f=Tu(4),H=n.___cxa_demangle(u,0,0,f);if(Cr(f,"i32")===0&&H)return G$(H)}catch{}finally{u&&BC(u),f&&BC(f),H&&BC(H)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var yr=r[e++];if(yr in X0)ye.push(X0[yr]);else switch(yr){case"P":ye.push(C(!0,1,!0)[0]+"*");break;case"R":ye.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var il=r.indexOf("E",e),It=il-e;ye.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,ye.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+yr;break e}}return!U9&&ye.length===1&&ye[0]==="void"&&(ye=[]),w2?(W9&&ye.push(W9+"?"),ye):W9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=G$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function _B(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=DB(l);return l===u?l:l+" ["+u+"]"})}function xB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function zp(){return _B(xB())}n.stackTrace=zp;var fC=4096;function Du(r){return r%4096>0&&(r+=4096-r%4096),r}var Kp,X9,S7,Zr,P$,G9,X$,el,O$,Ko=0,jr=0,q$=!1,_u=0,k7=0,H$=0,Y$=0,O7=0;function IC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Wp=n.TOTAL_STACK||5242880,Wo=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Zp=[],J$=[],xu=[],z$=[],Lu=[],Mu=!1,Pn=!1;function Ru(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());V$(Zp)}function Zo(){Mu||(Mu=!0,V$(J$))}function LB(){V$(xu)}function jp(){V$(z$),Pn=!0}function K$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)mC(n.postRun.shift());V$(Lu)}function Gi(r){Zp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function MB(r){J$.unshift(r)}n.addOnInit=n.addOnInit=MB;function RB(r){xu.unshift(r)}n.addOnPreMain=n.addOnPreMain=RB;function FB(r){z$.unshift(r)}n.addOnExit=n.addOnExit=FB;function mC(r){Lu.unshift(r)}n.addOnPostRun=n.addOnPostRun=mC;function en(r,l,u){var f=u>0?u:zo(r)+1,H=new Array(f),e=Un(r,H,0,H.length);return l&&(H.length=e),H}n.intArrayFromString=en;function pC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=pC;function jo(r,l,u){for(var f=en(r,u),H=0;H>0]=e,H=H+1}}n.writeStringToMemory=jo;function Xa(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=Xa;function W$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(X9[l>>0]=0)}n.writeAsciiToMemory=W$;function Xp(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,H=l&65535,e=u>>>16,X0=u&65535;return H*X0+(f*X0+H*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var j$=Math.abs,EC=Math.cos,tr=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,E9=Math.exp,ee=Math.log,p6=Math.sqrt,v8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,C9=Math.fround,Ui=Math.min,H7=Math.clz32,k8=0,Pi=null,Y7=null;function V7(r){return r}function On(r){k8++,n.monitorRunDependencies&&n.monitorRunDependencies(k8)}n.addRunDependency=On;function Br(r){if(k8--,n.monitorRunDependencies&&n.monitorRunDependencies(k8),k8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),Y7)){var l=Y7;Y7=null,l()}}n.removeRunDependency=Br,n.preloadedImages={},n.preloadedAudios={};var eE=null,Fu=[];Ko=8,jr=Ko+553552,J$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",O3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",O3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",O3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",O3,_.GLOBAL_BASE+41032),C3([1],"i8",O3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",O3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",O3,_.GLOBAL_BASE+72464),C3([1],"i8",O3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",O3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",O3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",O3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",O3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",O3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",O3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",O3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",O3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",O3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",O3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",O3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",O3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",O3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",O3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",O3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",O3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",O3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",O3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",O3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",O3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",O3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",O3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",O3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",O3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",O3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",O3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",O3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",O3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",O3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",O3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",O3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Vo),8);Ge(bt%8==0);function CC(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3]}function Qr(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3],X9[bt+4]=X9[r+4],X9[bt+5]=X9[r+5],X9[bt+6]=X9[r+6],X9[bt+7]=X9[r+7]}var ir=EC,eA=j$,Xo=0;function es(r){return G9[Xo>>2]=r,r}var N2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function TB(r){switch(r){case 30:return fC;case 85:return Xr/fC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return es(N2.EINVAL),-1}n._memset=dS;var NB=!0;n._strlen=lS,n._strcat=cS,n._bitshift64Shl=mS;function Mk(){n.abort()}n._i64Add=gS;var Rk=H4,Fk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){qn.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var l=qn.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(N2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,H){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(N2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,H).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` +`)});var H=void 0,O=void 0;n.read=function(l,u){l=O.normalize(l);var f=H.readFileSync(l);return!f&&l!=O.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=H.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){U0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof tA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(T)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return Ge(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var e0=!1;n.print||(n.print=e0&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function U0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){U0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return k7},stackRestore:function(r){k7=r},getNativeTypeSize:function(r){switch(r){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return Ge(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(Ge((r&7)===4),r+=4):Ge((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){Ge(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=k7;return k7=k7+r|0,k7=k7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=O7;if(O7=O7+r|0,O7=O7+15&-16,O7>=Wo){var u=EC();if(!u)return O7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var P=0,i0=!1,n1=0,S1=0,f1,g2,n2,f2,a5,T2,A0,C5,y3,k3,g6,S3,c9,N9,p3,w6,L4,P7,q8,Ka,Er,Wa,T$,fC,IC;function Ge(r,l){r||ts("Assertion failed: "+l)}var Mk=this;function mC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return Ge(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var N$,Za;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return Xa(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),jo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Za=function(r1,x2,s,l1,C){var k5=mC(r1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":G9[r>>2]=l;break;case"i64":N9=[l>>>0,(S3=l,+j$(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+v8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],G9[r>>2]=N9[0],G9[r+4>>2]=N9[1];break;case"float":el[r>>2]=l;break;case"double":O$[r>>3]=l;break;default:ts("invalid type for setValue: "+u)}}n.setValue=bu;function Cr(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[r>>0];case"i8":return X9[r>>0];case"i16":return Zr[r>>1];case"i32":return G9[r>>2];case"i64":return G9[r>>2];case"float":return el[r>>2];case"double":return O$[r>>3];default:ts("invalid type for setValue: "+l)}return null}n.getValue=Cr;var ja=0,Yp=1,Yo=2,Du=3,q3=4;n.ALLOC_NORMAL=ja,n.ALLOC_STACK=Yp,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=Du,n.ALLOC_NONE=q3;function C3(r,l,u,f){var V,e;typeof r=="number"?(V=!0,e=r):(V=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==q3?r1=f:r1=[Nu,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Yo:u](Math.max(e,X0?1:l.length)),V){var f=r1,x2;for(Ge((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?S7.set(r,r1):S7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(V++,l&&V==l)););l||(l=V);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,S7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=G$;function U$(r){for(var l="";;){var u=X9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=U$;function wB(r,l){return W$(r,l,!1)}n.stringToAscii=wB;function Jo(r,l){for(var u,f,V,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(V=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|V:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|V<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|V<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|V<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=Jo;function Jp(r){return Jo(S7,r)}n.UTF8ToString=Jp;function Un(r,l,u,f){if(!(f>0))return 0;for(var V=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-V}n.stringToUTF8Array=Un;function zp(r,l,u){return Un(r,S7,l,u)}n.stringToUTF8=zp;function zo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=zo;function Kp(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Kp;function vB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,V=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=vB;function kB(r){return r.length*2}n.lengthBytesUTF16=kB;function SB(r){for(var l=0,u="";;){var f=G9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var V=f-65536;u+=String.fromCharCode(55296|V>>10,56320|V&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=SB;function bB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,V=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(G9[l>>2]=X0,l+=4,l+4>V)break}return G9[l>>2]=0,l-f}n.stringToUTF32=bB;function DB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=DB;function _B(r){var l=!!n.___cxa_demangle;if(l)try{var u=Nu(r.length);jo(r.substr(1),u);var f=Nu(4),V=n.___cxa_demangle(u,0,0,f);if(Cr(f,"i32")===0&&V)return G$(V)}catch{}finally{u&&wC(u),f&&wC(f),V&&wC(V)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var yr=r[e++];if(yr in X0)ye.push(X0[yr]);else switch(yr){case"P":ye.push(C(!0,1,!0)[0]+"*");break;case"R":ye.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var il=r.indexOf("E",e),It=il-e;ye.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,ye.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+yr;break e}}return!U9&&ye.length===1&&ye[0]==="void"&&(ye=[]),w2?(W9&&ye.push(W9+"?"),ye):W9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=G$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function xB(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=_B(l);return l===u?l:l+" ["+u+"]"})}function LB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Wp(){return xB(LB())}n.stackTrace=Wp;var pC=4096;function _u(r){return r%4096>0&&(r+=4096-r%4096),r}var Zp,X9,S7,Zr,P$,G9,X$,el,O$,Ko=0,jr=0,q$=!1,xu=0,k7=0,H$=0,V$=0,O7=0;function EC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var jp=n.TOTAL_STACK||5242880,Wo=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Xp=[],J$=[],Lu=[],z$=[],Mu=[],Ru=!1,Pn=!1;function Fu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());Y$(Xp)}function Zo(){Ru||(Ru=!0,Y$(J$))}function MB(){Y$(Lu)}function eE(){Y$(z$),Pn=!0}function K$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)CC(n.postRun.shift());Y$(Mu)}function Gi(r){Xp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function RB(r){J$.unshift(r)}n.addOnInit=n.addOnInit=RB;function FB(r){Lu.unshift(r)}n.addOnPreMain=n.addOnPreMain=FB;function TB(r){z$.unshift(r)}n.addOnExit=n.addOnExit=TB;function CC(r){Mu.unshift(r)}n.addOnPostRun=n.addOnPostRun=CC;function en(r,l,u){var f=u>0?u:zo(r)+1,V=new Array(f),e=Un(r,V,0,V.length);return l&&(V.length=e),V}n.intArrayFromString=en;function BC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=BC;function jo(r,l,u){for(var f=en(r,u),V=0;V>0]=e,V=V+1}}n.writeStringToMemory=jo;function Xa(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=Xa;function W$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(X9[l>>0]=0)}n.writeAsciiToMemory=W$;function tE(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,V=l&65535,e=u>>>16,X0=u&65535;return V*X0+(f*X0+V*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var j$=Math.abs,QC=Math.cos,tr=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,E9=Math.exp,ee=Math.log,p6=Math.sqrt,v8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,C9=Math.fround,Ui=Math.min,H7=Math.clz32,k8=0,Pi=null,V7=null;function Y7(r){return r}function On(r){k8++,n.monitorRunDependencies&&n.monitorRunDependencies(k8)}n.addRunDependency=On;function Br(r){if(k8--,n.monitorRunDependencies&&n.monitorRunDependencies(k8),k8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),V7)){var l=V7;V7=null,l()}}n.removeRunDependency=Br,n.preloadedImages={},n.preloadedAudios={};var iE=null,Tu=[];Ko=8,jr=Ko+553552,J$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",q3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",q3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",q3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",q3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",q3,_.GLOBAL_BASE+41032),C3([1],"i8",q3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",q3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",q3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",q3,_.GLOBAL_BASE+72464),C3([1],"i8",q3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",q3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",q3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",q3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",q3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",q3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",q3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",q3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",q3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",q3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",q3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",q3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",q3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",q3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",q3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",q3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",q3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",q3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",q3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",q3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",q3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",q3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",q3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",q3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",q3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",q3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",q3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",q3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",q3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",q3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",q3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",q3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",q3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",q3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",q3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",q3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",q3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",q3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",q3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",q3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",q3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",q3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",q3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",q3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",q3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",q3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Yo),8);Ge(bt%8==0);function yC(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3]}function Qr(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3],X9[bt+4]=X9[r+4],X9[bt+5]=X9[r+5],X9[bt+6]=X9[r+6],X9[bt+7]=X9[r+7]}var ir=QC,eA=j$,Xo=0;function es(r){return G9[Xo>>2]=r,r}var N2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function NB(r){switch(r){case 30:return pC;case 85:return Xr/pC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return es(N2.EINVAL),-1}n._memset=hS;var GB=!0;n._strlen=cS,n._strcat=gS,n._bitshift64Shl=pS;function Rk(){n.abort()}n._i64Add=uS;var Fk=H4,Tk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){qn.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var l=qn.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(N2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,V){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(N2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,V).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` `)):typeof readline=="function"&&(l=readline(),l!==null&&(l+=` -`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(Jo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(Jo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(Jo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Jo(r.output,0)),r.output=[])}}},M9={ops_table:null,mount:function(r){return M9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(N2.EPERM);M9.ops_table||(M9.ops_table={dir:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,lookup:M9.node_ops.lookup,mknod:M9.node_ops.mknod,rename:M9.node_ops.rename,unlink:M9.node_ops.unlink,rmdir:M9.node_ops.rmdir,readdir:M9.node_ops.readdir,symlink:M9.node_ops.symlink},stream:{llseek:M9.stream_ops.llseek}},file:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:{llseek:M9.stream_ops.llseek,read:M9.stream_ops.read,write:M9.stream_ops.write,allocate:M9.stream_ops.allocate,mmap:M9.stream_ops.mmap,msync:M9.stream_ops.msync}},link:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,readlink:M9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:k.chrdev_stream_ops}});var H=k.createNode(r,l,u,f);return k.isDir(H.mode)?(H.node_ops=M9.ops_table.dir.node,H.stream_ops=M9.ops_table.dir.stream,H.contents={}):k.isFile(H.mode)?(H.node_ops=M9.ops_table.file.node,H.stream_ops=M9.ops_table.file.stream,H.usedBytes=0,H.contents=null):k.isLink(H.mode)?(H.node_ops=M9.ops_table.link.node,H.stream_ops=M9.ops_table.link.stream):k.isChrdev(H.mode)&&(H.node_ops=M9.ops_table.chrdev.node,H.stream_ops=M9.ops_table.chrdev.stream),H.timestamp=Date.now(),r&&(r.contents[l]=H),H},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=M9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(H.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-H,f);if(Ge(X0>=0),X0>8&&e.subarray)l.set(e.subarray(H,H+X0),u);else for(var r1=0;r10||H+fP5.timestamp)&&(H.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([S8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(S8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},H.sort().forEach(function(k5){l.type==="local"?S8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);S8.storeLocalEntry(k5,P5,C)}):S8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);S8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?S8.removeLocalEntry(k5,C):S8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return Ge(d),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(N2.EINVAL);var H=k.createNode(r,l,u);return H.node_ops=ft.node_ops,H.stream_ops=ft.stream_ops,H},getMode:function(r){var l;try{l=b8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),m9.join.apply(null,l)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=b8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(b8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);b8.utimesSync(u,f,f)}l.size!==void 0&&b8.truncateSync(u,l.size)}catch(H){throw H.code?new k.ErrnoError(N2[H.code]):H}},lookup:function(r,l){var u=m9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var H=ft.createNode(r,l,u,f),e=ft.realPath(H);try{k.isDir(H.mode)?b8.mkdirSync(e,H.mode):b8.writeFileSync(e,"",{mode:H.mode})}catch(X0){throw X0.code?new k.ErrnoError(N2[X0.code]):X0}return H},rename:function(r,l,u){var f=ft.realPath(r),H=m9.join2(ft.realPath(l),u);try{b8.renameSync(f,H)}catch(e){throw e.code?new k.ErrnoError(N2[e.code]):e}},unlink:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},rmdir:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return b8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},symlink:function(r,l,u){var f=m9.join2(ft.realPath(r),l);try{b8.symlinkSync(u,f)}catch(H){throw H.code?new k.ErrnoError(N2[H.code]):H}},readlink:function(r){var l=ft.realPath(r);try{return l=b8.readlinkSync(l),l=PB.relative(PB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=b8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&b8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(N2[l.code]):l}},read:function(r,l,u,f,H){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=b8.readSync(r.nfd,e,0,f,H)}catch(x2){throw new k.ErrnoError(N2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(N2.ELOOP);for(var H=m9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(N2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),H=k.nameTable[f];H;H=H.name_next){var e=H.name;if(H.parent.id===r.id&&e===l)return H}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var H=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&H)===H},set:function(r1){r1?this.mode|=H:this.mode&=~H}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return N2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var H=k.nodePermissions(r,"wx");if(H)return H;if(u){if(!k.isDir(f.mode))return N2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return N2.EBUSY}else if(k.isDir(f.mode))return N2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?N2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?N2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(N2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var H in r)f[H]=r[H];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function H(e){if(e)return H.errored?void 0:(H.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return H(null);e.type.syncfs(e,r,H)})},mount:function(r,l,u){var f=u==="/",H=!u,e;if(f&&k.root)throw new k.ErrnoError(N2.EBUSY);if(!f&&!H){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(N2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(N2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(N2.EINVAL);var u=l.node,f=u.mounted,H=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;H.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);Ge(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),H=f.node,e=m9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(N2.EINVAL);var X0=k.mayCreate(H,e);if(X0)throw new k.ErrnoError(X0);if(!H.node_ops.mknod)throw new k.ErrnoError(N2.EPERM);return H.node_ops.mknod(H,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!m9.resolve(r))throw new k.ErrnoError(N2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);var H=m9.basename(l),e=k.mayCreate(f,H);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(N2.EPERM);return f.node_ops.symlink(f,H,r)},rename:function(r,l){var u=m9.dirname(r),f=m9.dirname(l),H=m9.basename(r),e=m9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(N2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(N2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(N2.EXDEV);var s=k.lookupNode(r1,H),l1=m9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(N2.EINVAL);if(l1=m9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(N2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,H,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(N2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),H=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(H))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(H);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(N2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),H=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(H))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(H);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(N2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(N2.EINVAL);return m9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(N2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var H=k.lookupPath(r,{follow:!u});f=H.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var H;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});H=e.node}else H=r;if(!H.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);H.node_ops.setattr(H,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(N2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(N2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(N2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(N2.EINVAL);var H=k.nodePermissions(u,"w");if(H)throw new k.ErrnoError(H);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(N2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),H=f.node;H.node_ops.setattr(H,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,H){if(r==="")throw new k.ErrnoError(N2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=m9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(N2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(N2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,H);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,H){if(f<0||H<0)throw new k.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(N2.EINVAL);var e=!0;if(typeof H>"u")H=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,H);return e||(r.position+=X0),X0},write:function(r,l,u,f,H,e){if(f<0||H<0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(N2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof H>"u")H=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,H,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,H,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,l,u,f,H,e,X0)},msync:function(r,l,u,f,H){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,H)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),H=k.stat(r),e=H.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=Jo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var H=new Uint8Array(zo(l)+1),e=Un(l,H,0,H.length);k.write(f,H,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(N2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,H,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),qn.register(k.makedev(5,0),qn.default_tty_ops),qn.register(k.makedev(6,0),qn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else d?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");G9[Tk>>2]=k.getPtrForStream(r),Ge(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");G9[Nk>>2]=k.getPtrForStream(l),Ge(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");G9[Gk>>2]=k.getPtrForStream(u),Ge(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var H in N2)if(N2[H]===f){this.code=H;break}},this.setErrno(l),this.message=Fk[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[N2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(M9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){Ge(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,U9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var ye=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",u,!1),w2!==W9&&t4.setRequestHeader("Range","bytes="+ie+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+u+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):en(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,t4=(ie+1)*W9-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=ye(It,t4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,H);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,U9,W9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);var ye=k5.node.contents;if(W9>=ye.length)return 0;var Dt=Math.min(ye.length-W9,U9);if(Ge(Dt>=0),ye.slice)for(var ie=0;ie=0;f--){var H=r[f];H==="."?r.splice(f,1):H===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=m9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=m9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return m9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return m9.normalize(r.join("/"))},join2:function(r,l){return m9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=m9.normalizeArray(r.split("/").filter(function(H){return!!H}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=m9.resolve(r).substr(1),l=m9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),H=u(l.split("/")),e=Math.min(f.length,H.length),X0=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?tE(0,1e3/l):tE(1,1),J1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,u=J1.mainLoop.func;J1.mainLoop.func=null,GB(u,0,!1,J1.mainLoop.arg,!0),tE(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,u=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){Ge(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var U9=P5.getContext("2d");U9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(U9){s||(s=!0,n.preloadedAudios[X0]=U9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(X0)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function ye(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",J7=0,z7=0,yr=0;yr=6;){var il=J7>>z7-6&63;z7-=6,t4+=ie[il]}return z7==2?(t4+=ie[(J7&3)<<4],t4+=It+It):z7==4&&(t4+=ie[(J7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+ye(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(H){!J1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),H.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var H,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(H=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else H=r.getContext("2d");return H?(u&&(l||Ge(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=H,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),H):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=u,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function H(){J1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",H,!1),document.addEventListener("mozfullscreenchange",H,!1),document.addEventListener("webkitfullscreenchange",H,!1),document.addEventListener("MSFullscreenChange",H,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var u=Math.max(J1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!i0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){i0||J1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,H=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(H+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")J1.lastTouches[X0.identifier]=s,J1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[X0.identifier];l1||(l1=s),J1.lastTouches[X0.identifier]=l1,J1.touches[X0.identifier]=s}return}var C=r.pageX-(H+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){J1.xhrLoad(r,function(H){Ge(H,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(H)),f||Br("al "+r)},function(H){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),u||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=X$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=X$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,H=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/H>2]=l),l}function eS(){n.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=_.staticAlloc(4),G9[Xo>>2]=0,n.requestFullScreen=function(l,u,f){J1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){J1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,u,f,H){return J1.createContext(l,u,f,H)},k.staticInit(),J$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),xu.push(function(){k.ignorePermissions=!1}),z$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,J$.unshift(function(){qn.init()}),z$.push(function(){qn.shutdown()}),d)var b8=void 0,PB=void 0;_u=k7=_.alignMemory(jr),q$=!0,H$=_u+Wp,Y$=O7=_.alignMemory(H$),Ge(Y$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function z_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function MS(t){t=t|0,Z6=t}function RS(){return Z6|0}function wC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=R9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function FS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,h=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&h,Q=E&255,f[y>>0]=Q)}function q2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0;Y0=C,h=a>>>0>32;do if(!h){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)N=g;else{if(T0=(g|0)==0,T0)return;if(z0=(a0|0)>2147483391,z0||(H0=t+8|0,Z0=e[H0>>2]|0,I=a0+256|0,E=W7(Z0,I)|0,Q=(E|0)==0,Q))break;e[H0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,N=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,G=T&255,Y=G|F,X=Y&255,f[N>>0]=X,z=(R|0)>7;do if(z&&(K=e[M>>2]|0,r0=8-K|0,s0=y>>>r0,V=s0&255,o0=e[$>>2]|0,q=o0+1|0,f[q>>0]=V,d0=(R|0)>15,d0&&(t0=e[M>>2]|0,j=16-t0|0,u0=y>>>j,$0=u0&255,l0=e[$>>2]|0,W=l0+2|0,f[W>>0]=$0,m0=(R|0)>23,m0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,h0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=h0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,W0=_0+4|0,f[W0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,P0=e[t>>2]|0,q0=P0+N0|0,e[t>>2]=q0,k0=e[$>>2]|0,J0=k0+N0|0,e[$>>2]=J0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,K0=(G0|0)==0,K0||E2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function vC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;h=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||E2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function mi(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,h=e[g>>2]|0,e[o>>2]=h,m=h,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function kC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,X=t+4|0,j=e[X>>2]|0,p0=j+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,h=(S0|0)<(E0|0),!h){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>j,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-j|0,T=R<16,G?(Y=b+2|0,z=f[Y>>0]|0,a0=z&255,K=16-j|0,r0=a0<24,V?(o0=b+3|0,q=f[o0>>0]|0,d0=q&255,t0=24-j|0,u0=d0<>0]|0,g0=m0&255,f0=32-j|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,h=t+12|0,m=e[h>>2]|0,I=m+g|0,e[h>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function r4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,h=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,W=e[s0>>2]|0,E0=W+o|0,T0=e[t>>2]|0,N0=t+16|0,P0=e[N0>>2]|0,q0=P0+-4|0,B=(T0|0)<(q0|0),!B){if(S=E0+7|0,b=S>>3,v=P0-b|0,w=(T0|0)>(v|0),w){h=t,m=s0,v0=P0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>W,T=(E0|0)>8,T?(N=x+1|0,G=f[N>>0]|0,Y=G&255,X=8-W|0,z=Y<16,K?(r0=x+2|0,V=f[r0>>0]|0,o0=V&255,q=16-W|0,d0=o0<24,j?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-W|0,m0=$0<>0]|0,C0=p0&255,S0=32-W|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,W0=E0&7,e[s0>>2]=W0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[h>>2]=v0,e[m>>2]=1,a=-1,a|0}function D8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,h=(g|0)/8&-1,m=h+o|0,m|0}function hQ(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function TS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;if(T=C,g=(t|0)==0,g)return a=-1,a|0;g4(t|0,0,360)|0,h=t+4|0,e[h>>2]=16384,b=t+24|0,e[b>>2]=1024,v=R9(16384)|0,e[t>>2]=v,w=R9(4096)|0,D=t+16|0,e[D>>2]=w,y=R9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){E2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||E2(Q),g4(t|0,0,360)|0,a=-1,a|0}function NS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,h=e[g>>2]|0,m=(h|0)==0,m||E2(h),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),g4(t|0,0,360)|0),0}function GS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0;if(P0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,G=e[t>>2]|0,d0=G+23|0,f[d0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(h=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=h+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,T=(F|0)<($|0),T)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(N=M0<<8,Y=M0>>>24,X=B+T0|0,z=f[X>>0]|0,a0=z&255,K=a0^Y,r0=144+(K<<2)|0,s0=e[r0>>2]|0,V=s0^N,o0=T0+1|0,q=(o0|0)<(I|0),q)M0=V,T0=o0;else{W0=V;break}else W0=B0;t0=W0&255,j=e[t>>2]|0,u0=j+22|0,f[u0>>0]=t0,c0=W0>>>8,$0=c0&255,l0=e[t>>2]|0,W=l0+23|0,f[W>>0]=$0,m0=W0>>>16,g0=m0&255,f0=e[t>>2]|0,h0=f0+24|0,f[h0>>0]=g0,p0=W0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function US(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,a2=(q1|0)<0,w=2147483647-q1|0,Y=(m2|0)>(w|0),G2=a2|Y,G2){I=-1;break}if(t0=q1+m2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)m2=t0,k2=c0;else{s2=t0;break e}}return I|0}else s2=0;while(!1);l0=(s2|0)/255&-1,W=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(h0=e[v>>2]|0,p0=h0-g0|0,e[v>>2]=p0,C0=(h0|0)==(g0|0),C0||(S0=_0+g0|0,sA(_0|0,S0|0,p0|0)|0),e[m0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-s2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-s2|0,W0=(b0|0)>(B0|0),W0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=t+16|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),q0=t+20|0,k0=e[q0>>2]|0,J0=(k0|0)==0,J0||E2(k0),g4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+s2|0,G0=(F0|0)<2147482623,K0=F0+1024|0,m=G0?K0:F0,z0=e[t>>2]|0,H0=W7(z0,m)|0,Z0=(H0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=H0;break}return O0=e[t>>2]|0,Y0=(O0|0)==0,Y0||E2(O0),s1=t+16|0,V0=e[s1>>2]|0,i1=(V0|0)==0,i1||E2(V0),o1=t+20|0,d1=e[o1>>2]|0,g1=(d1|0)==0,g1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=PS(t,W)|0,h1=(m1|0)==0,!h1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ge(w1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,D1=D2+1|0,t2=(D1|0)==(a|0),!t2;)v1=U1,D2=D1;if(u1=(s2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,u1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=c1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,z1=e[x1>>2]|0,H1=G1+4|0,Y1=H1,V1=e[Y1>>2]|0,X1=Q1+(P1<<3)|0,o2=X1,j1=o2,e[j1>>2]=z1,O1=o2+4|0,u2=O1,e[u2>>2]=V1,W1=Q2+1|0,I2=(W1|0)<(l0|0),I2;)Q2=W1;L2=p1?l0:1,B=E1,l2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,l2=S,S2=0;return C2=(s2|0)%255&-1,A2=c1+S2|0,K1=$1+(A2<<2)|0,e[K1>>2]=C2,h2=l2+(A2<<3)|0,i2=h2,c2=i2,e[c2>>2]=g,r2=i2+4|0,$2=r2,e[$2>>2]=h,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=h,M=$1+(c1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=c1+W|0,e[A1>>2]=F,T=t+344|0,N=T,G=N,X=e[G>>2]|0,z=N+4|0,a0=z,K=e[a0>>2]|0,r0=ns(X|0,K|0,1,0)|0,s0=Z6,V=T,o0=V,e[o0>>2]=r0,q=V+4|0,d0=q,e[d0>>2]=s0,j=($|0)==0,j?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function sE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,h=g,m=e[h>>2]|0,I=US(t,y,1,S,D,m)|0,C=M,I|0}function fQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=mQ(t,o,1,4096)|0,a|0}function IQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,h=(t|0)==0,h||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=mQ(t,o,D,4096)|0,a=w,a|0)}function PS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0;return h0=C,g=t+24|0,h=e[g>>2]|0,y=h-o|0,z=t+28|0,u0=e[z>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(W=2147483647-o|0,m0=(h|0)>(W|0),m0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||E2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||E2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(b=h+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=W7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,T=(F|0)==0,T||E2(F),N=e[D>>2]|0,G=(N|0)==0,G||E2(N),Y=t+20|0,X=e[Y>>2]|0,a0=(X|0)==0,a0||E2(X),g4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,K=t+20|0,r0=e[K>>2]|0,s0=a<<3,V=W7(r0,s0)|0,o0=(V|0)==0,o0?(q=e[t>>2]|0,d0=(q|0)==0,d0||E2(q),t0=e[D>>2]|0,j=(t0|0)==0,j||E2(t0),c0=e[K>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[K>>2]=V,e[g>>2]=a,$=0,$|0))))}function mQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,d1=(x|0)>255,g=d1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,Y1=(R1|0)==0,A2=(g|0)==0,D3=A2|Y1,D3))return h=0,h|0;t2=t+332|0,J2=e[t2>>2]|0,Z2=(J2|0)==0;e:do if(Z2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,z5=g3,V5=14;break e}if(Z0=e[Q0>>2]|0,V0=Z0+(g3<<2)|0,i1=e[V0>>2]|0,x0=i1&255,o1=(x0|0)==255,g1=g3+1|0,o1)g3=g1;else{I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,z5=g1,V5=14;break}}else if(M=(g|0)>0,M){for(K=t+16|0,$0=t+20|0,Q5=0,D5=-1,d5=-1,l5=-1,j2=-1,d2=-1,w5=-1,i5=-1,s5=-1,t3=0,N3=0,Q3=0;;){if(m1=(Q5|0)>($|0),h1=(t3|0)>3,q3=m1&h1,q3){m=1,q5=D5,M5=d5,V2=l5,p5=j2,$5=d2,u5=w5,y5=i5,T1=s5,u3=Q3;break}if(u1=e[K>>2]|0,A1=u1+(Q3<<2)|0,c1=e[A1>>2]|0,a1=c1&255,$1=a1+Q5|0,j0=(a1|0)==255,j0?(h5=D5,z2=d5,f5=l5,r5=j2,R5=d2,X2=w5,c5=i5,F2=s5,s6=0,H3=N3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=N3+1|0,b1=w1&255,_1=os(w1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(w1|0,L1|0,16)|0,P1=Z6,Z1=D1&255,G1=os(w1|0,L1|0,24)|0,x1=Z6,z1=G1&255,q1=L1&255,H1=os(w1|0,L1|0,40)|0,V1=Z6,X1=H1&255,o2=os(w1|0,L1|0,48)|0,j1=Z6,O1=o2&255,u2=os(w1|0,L1|0,56)|0,W1=Z6,I2=u2&255,h5=b1,z2=Z1,f5=z1,r5=q1,R5=X1,X2=O1,c5=I2,F2=U1,s6=M1,H3=M1),a2=Q3+1|0,C2=(a2|0)<(g|0),C2)Q5=$1,D5=h5,d5=z2,l5=f5,j2=r5,d2=R5,w5=X2,i5=c5,s5=F2,t3=s6,N3=H3,Q3=a2;else{m=a,q5=h5,M5=z2,V2=f5,p5=r5,$5=R5,u5=X2,y5=c5,T1=F2,u3=a2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=M5,G5=V2,Z5=p5,_3=$5,f3=u5,w3=y5,X3=T1,H5=255):(I=m,v5=q5,J5=M5,i3=V2,E5=p5,I3=$5,h3=u5,W5=y5,r3=T1,z5=u3,V5=14)}else I=a,v5=-1,J5=-1,i3=-1,E5=-1,I3=-1,h3=-1,W5=-1,r3=-1,z5=0,V5=14;while(!1);if((V5|0)==14){if(h2=(I|0)==0,h2)return h=0,h|0;a3=v5,B3=J5,G5=i3,Z5=E5,_3=I3,f3=h3,w3=W5,X3=r3,H5=z5}if(l2=t+40|0,f[l2>>0]=79,f[l2+1>>0]=103,f[l2+2>>0]=103,f[l2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,c2=t+45|0,f[c2>>0]=0,r2=t+16|0,$2=e[r2>>2]|0,e2=e[$2>>2]|0,s2=e2>>>8,S=s2&1,m2=S^1,k2=m2|2,E=Z2?k2:m2,c3=E&255,f[c2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=Q2&G2,X5&&(Q=Z2?k2:m2,L2=Q|4,P2=L2&255,f[c2>>0]=P2),e[t2>>2]=1,p2=t+46|0,f[p2>>0]=a3,K2=t+47|0,f[K2>>0]=X3,O2=t+48|0,f[O2>>0]=B3,U2=t+49|0,f[U2>>0]=G5,H2=t+50|0,f[H2>>0]=Z5,W2=t+51|0,f[W2>>0]=_3,A5=t+52|0,f[A5>>0]=f3,Y2=t+53|0,f[Y2>>0]=w3,N1=t+336|0,e5=e[N1>>2]|0,T5=e5&255,t5=t+54|0,f[t5>>0]=T5,x5=e5>>>8,I5=x5&255,b5=t+55|0,f[b5>>0]=I5,Y5=e5>>>16,g5=Y5&255,b2=t+56|0,f[b2>>0]=g5,B5=e5>>>24,o5=B5&255,R2=t+57|0,f[R2>>0]=o5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,T=F&255,N=t+58|0,f[N>>0]=T,G=F>>>8,Y=G&255,X=t+59|0,f[X>>0]=Y,z=F>>>16,a0=z&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,V=s0&255,o0=t+61|0,f[o0>>0]=V,q=t+62|0,d0=H5&255,t0=t+66|0,f[q>>0]=0,f[q+1>>0]=0,f[q+2>>0]=0,f[q+3>>0]=0,f[t0>>0]=d0,j=(H5|0)>0,j){if(u0=e[$2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,W=u0&255,L5=(H5|0)==1,L5)B=W;else for(g0=1,b0=W;;)if(b=e[r2>>2]|0,m0=b+(g0<<2)|0,f0=e[m0>>2]|0,n0=f0&255,h0=g0+27|0,p0=(t+40|0)+h0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,N5=B}else v0=R1,k0=x,F0=$2,N5=0;return e[o>>2]=l2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,W0=e[_0>>2]|0,M0=v0+W0|0,T0=o+8|0,e[T0>>2]=M0,P0=o+12|0,e[P0>>2]=N5,q0=k0-H5|0,e[y>>2]=q0,J0=F0+(H5<<2)|0,L0=q0<<2,sA(F0|0,J0|0,L0|0)|0,G0=t+20|0,K0=e[G0>>2]|0,z0=K0+(H5<<3)|0,H0=e[y>>2]|0,O0=H0<<3,sA(K0|0,z0|0,O0|0)|0,Y0=e[_0>>2]|0,s1=Y0+N5|0,e[_0>>2]=s1,GS(o),h=1,h|0}function OS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0;return V0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,X=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,j=e[X>>2]|0,mi(j),p0=g+16|0,M0=e[p0>>2]|0,mi(M0),K0=g+20|0,O0=e[K0>>2]|0,mi(O0),Y0=g+24|0,h=e[Y0>>2]|0,mi(h),m=g+28|0,I=e[m>>2]|0,mi(I),E=g+32|0,Q=e[E>>2]|0,mi(Q),B=g+36|0,S=e[B>>2]|0,mi(S),b=g+40|0,v=e[b>>2]|0,mi(v),w=g+44|0,y=e[w>>2]|0,mi(y),x=g+48|0,M=e[x>>2]|0,mi(M),L=g+52|0,R=e[L>>2]|0,mi(R),F=g+56|0,T=e[F>>2]|0,mi(T),N=g+60|0,G=e[N>>2]|0,mi(G),Y=g+64|0,z=e[Y>>2]|0,mi(z),a0=g+68|0,K=e[a0>>2]|0,mi(K),r0=e[6416]|0,s0=r0+12|0,V=e[s0>>2]|0,o0=WQ[V&1](t)|0,q=(o0|0)==0,q?(d0=(o|0)==0,d0?(a=0,a|0):(t0=Uu(t)|0,u0=(t0|0)==0,u0?(c0=t+4|0,$0=hQ(c0)|0,e[o>>2]=$0,l0=D8(c0)|0,W=o+4|0,e[W>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,h0=t+48|0,C0=h0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,W0=B0+4|0,v0=W0,e[v0>>2]=y0,T0=t+56|0,N0=T0,P0=N0,q0=e[P0>>2]|0,k0=N0+4|0,J0=k0,F0=e[J0>>2]|0,L0=o+24|0,G0=L0,z0=G0,e[z0>>2]=q0,H0=G0+4|0,Z0=H0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function qS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,Y=e[w>>2]|0,t0=(Y|0)>0,t0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,h0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,h=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=h,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(h0|0),S=Q*B,b=+(f0|0),v=S/b,D=+K7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,T=F/b,N=+K7(T),G=~~N,X=o+16|0,e[X>>2]=G,z=$+3368|0,a0=e[z>>2]|0,K=+(a0|0),r0=K*B,s0=r0/b,V=+K7(s0),o0=~~V,q=o+20|0,e[q>>2]=o0,d0=o+32|0,l1[d0>>3]=7,j=+(Y|0),u0=$+3376|0,c0=+l1[u0>>3],$0=j*c0,l0=~~$0,W=o+8|0,e[W>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function HS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Uu(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,h=e[g>>2]|0,m=h+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function YS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0;if(R6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,M5=b2+104|0,d2=e[M5>>2]|0,F2=b2+4|0,G5=e[F2>>2]|0,N3=G5+28|0,U5=e[N3>>2]|0,S=d2+112|0,T=+l1[S>>3],o0=+K7(T),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,J0=e[w0>>2]|0,V0=D8(J0)|0,a1=V0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,e2=d2+96|0,p2=e[e2>>2]|0,I2?(T5=d2+100|0,x5=e[T5>>2]|0,q=p2,b0=T5,B0=x5):(Z2=d2+104|0,I5=e[Z2>>2]|0,b5=d2+100|0,Y5=e[b5>>2]|0,g5=n5(I5,p2)|0,B5=n5(I5,Y5)|0,q=g5,b0=b5,B0=B5),o5=U5+(x1<<2)|0,R2=e[o5>>2]|0,M2=R2>>1,y2=U5+3372|0,Q5=e[y2>>2]|0,N5=+(Q5|0),m5=U5+3376|0,L5=+l1[m5>>3],q5=N5*L5,V2=~~q5,p5=d2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=d2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,d5=d2+92|0,l5=e[d5>>2]|0,j2=(l5|0)>0,j2){I2?c5=l5:(w5=d2+104|0,i5=e[w5>>2]|0,s5=n5(i5,l5)|0,c5=s5),h5=U5+3384|0,z2=+l1[h5>>3],f5=15/z2,r5=d2+84|0,R5=e[r5>>2]|0,X2=a1-c5|0,v5=R5+X2|0,J5=(v5|0)>(V2|0);e:do if(J5)if(i3=(g0|0)>0,E5=(a1|0)>(c5|0),M6=E5&i3,M6)if(I3=a1-c5|0,h3=I3+R5|0,W5=(h3|0)>(V2|0),W5)for(V3=g0;;){if(r3=V3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,Z5=D8(B3)|0,_3=Z5<<3,f3=(V3|0)>1,w3=(_3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(I=e[r5>>2]|0,X3=_3-c5|0,q3=X3+I|0,X5=(q3|0)>(V2|0),X5)V3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(D3=(v5|0)<(V2|0),D3)if(t3=g0+1|0,s6=(t3|0)<15,H3=(a1|0)<(c5|0),r6=H3&s6,r6)if(c3=a1-c5|0,g3=c3+R5|0,u3=(g3|0)<(V2|0),u3)for(z5=t3;;){if(Q3=(B+12|0)+(z5<<2)|0,H5=e[Q3>>2]|0,V5=D8(H5)|0,S5=V5<<3,Y3=z5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){j5=z5;break e}if(m=e[r5>>2]|0,l3=S5-c5|0,G3=l3+m|0,E6=(G3|0)<(V2|0),E6)z5=Y3;else{j5=z5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);S3=+(j5|0),x3=+l1[S>>3],b3=S3-x3,a6=+K7(b3),i6=+(M2|0),b=a6/i6,v=G5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,M3=L?f5:v6,R=M3/D,F=R*i6,N=F+x3,l1[S>>3]=N,G=+K7(N),Y=~~G,X=(B+12|0)+(Y<<2)|0,z=e[X>>2]|0,a0=D8(z)|0,K=a0<<3,E=e[e2>>2]|0,r0=E,L3=Y,n6=K}else r0=p2,L3=g0,n6=a1;s0=(r0|0)>0,V=(n6|0)<(q|0),f6=V&s0;e:do if(f6)if(d0=d2+88|0,t0=e[d0>>2]|0,j=n6-q|0,u0=j+t0|0,c0=(u0|0)<0,c0)for(d3=L3,o6=n6;;){if($0=d3+1|0,l0=(d3|0)>13,l0){J3=$0,C6=o6;break e}if(W=(B+12|0)+($0<<2)|0,m0=e[W>>2]|0,f0=D8(m0)|0,n0=f0<<3,h0=e[d0>>2]|0,p0=n0-q|0,C0=p0+h0|0,S0=(C0|0)<0,S0)d3=$0,o6=n0;else{J3=$0,C6=n0;break}}else J3=L3,C6=n6;else J3=L3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=d2+88|0,W0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+W0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(h6=J3,z3=C6;;){if(P0=h6+-1|0,q0=(h6|0)<1,q0){m3=P0,R3=z3;break e}if(k0=(B+12|0)+(P0<<2)|0,F0=e[k0>>2]|0,L0=D8(F0)|0,G0=L0<<3,K0=e[_0>>2]|0,z0=G0-B0|0,H0=z0+K0|0,Z0=e[y2>>2]|0,O0=(H0|0)>(Z0|0),O0)h6=P0,z3=G0;else{m3=P0,R3=G0;break}}else m3=J3,R3=C6;else m3=J3,R3=C6;while(!1);if(Y0=(m3|0)<0,Y0)s1=e[y2>>2]|0,i1=d2+88|0,x0=e[i1>>2]|0,o1=s1+B0|0,d1=o1-x0|0,g1=(d1|0)/8&-1,m1=d2+124|0,e[m1>>2]=0,h1=B+12|0,u1=e[h1>>2]|0,A1=D8(u1)|0,c1=(A1|0)>(g1|0),c1?($1=e[h1>>2]|0,j0=g1<<3,FS($1,j0),E1=e[h1>>2]|0,I1=D8(E1)|0,Q1=I1<<3,K3=Q1):K3=R3;else{if(p1=d2+88|0,B1=e[p1>>2]|0,w1=q+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=d2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=D8(R1)|0,U1=k1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(Z1=x6+-1|0,q2(G1,0,8),z1=(x6|0)>1,q1=e[_1>>2]|0,z1)G1=q1,x6=Z1;else{h=q1;break}else h=P1;H1=D8(h)|0,Y1=H1<<3,K3=Y1}V1=e[e2>>2]|0,X1=(V1|0)>0,X1?e6=37:(o2=e[b0>>2]|0,j1=(o2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,u2=(K3|0)>(B0|0),N6=O1&u2,N6){a2=K3-B0|0,C2=d2+88|0,A2=e[C2>>2]|0,K1=a2+A2|0,e[C2>>2]=K1;break}if(h2=(q|0)>0,l2=(K3|0)<(q|0),j6=h2&l2,j6){i2=K3-q|0,c2=d2+88|0,r2=e[c2>>2]|0,$2=i2+r2|0,e[c2>>2]=$2;break}if(s2=d2+88|0,m2=e[s2>>2]|0,t2=(m2|0)>(V2|0),t2)if(O1){k2=K3-B0|0,D2=m2+k2|0,S2=(D2|0)<(V2|0),o=S2?V2:D2,e[s2>>2]=o;break}else{e[s2>>2]=V2;break}else if(h2){Q2=K3-q|0,G2=m2+Q2|0,L2=(G2|0)>(V2|0),$=L2?V2:G2,e[s2>>2]=$;break}else{e[s2>>2]=V2;break}}while(!1);return P2=e[d5>>2]|0,K2=(P2|0)>0,K2?(O2=e[L1>>2]|0,J2=(O2|0)==0,J2?Y2=P2:(U2=d2+104|0,H2=e[U2>>2]|0,W2=n5(H2,P2)|0,Y2=W2),A5=K3-Y2|0,N1=d2+84|0,e5=e[N1>>2]|0,t5=A5+e5|0,e[N1>>2]=t5,a=0,a|0):(a=0,a|0)}function pQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,X=e[D>>2]|0,j=(X|0)==0,j?(a=0,a|0):(p0=(o|0)==0,p0||(C0=X+104|0,S0=e[C0>>2]|0,Q0=X+64|0,b0=e[Q0>>2]|0,h=b0+104|0,m=e[h>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=hQ(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=D8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=X+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,T=X+48|0,N=T,G=N,Y=e[G>>2]|0,z=N+4|0,a0=z,K=e[a0>>2]|0,r0=o+16|0,s0=r0,V=s0,e[V>>2]=Y,o0=s0+4|0,q=o0,e[q>>2]=K,d0=X+56|0,t0=d0,u0=t0,c0=e[u0>>2]|0,$0=t0+4|0,l0=$0,W=e[l0>>2]|0,m0=o+24|0,g0=m0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,h0=n0,e[h0>>2]=W),e[D>>2]=0,a=1,a|0)}function VS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;F=C,L=o,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=ce(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(h=(M|0)==7,h){e[g>>2]=D,wC(D),M=8;continue}else{if(m=ce(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,wC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function K8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0;return z=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,T=e[F>>2]|0,N=(R|0)>(T|0),G=t+68|0,Y=e[G>>2]|0,N?(g=(Y|0)==0,g||(h=Y,m=R9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=h,e[B>>2]=m),e[F>>2]=$,v=R9($)|0,e[G>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=Y,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function JS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0;if(t0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,G=e[D>>2]|0,Y=(G|0)==0,!Y)for(o0=G;X=o0+4|0,z=e[X>>2]|0,a0=e[o0>>2]|0,E2(a0),E2(o0),K=(z|0)==0,!K;)o0=z;if(r0=t+80|0,h=e[r0>>2]|0,m=(h|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+h|0,B=W7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||E2(y),M=(g|0)==0,M){q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}else V=0;for(;;){if(L=(g+12|0)+(V<<2)|0,R=e[L>>2]|0,vC(R),F=(V|0)==7,F){V=8;continue}if(T=e[L>>2]|0,E2(T),N=V+1|0,s0=(N|0)==15,s0)break;V=N}E2(g),q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}function zS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=WS(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=Sb(o)|0,S=Q+60|0,e[S>>2]=B,b=ce(1,180)|0,e[Q>>2]=b,tb(b,o),v=Q+80|0,qS(o,v),w=t+64|0,D=w,h=D,e[h>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function EQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0;if(O2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,J0=(w0|0)!=0,J0?(V0=w0+28|0,a1=e[V0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if($2=e[x1>>2]|0,b=($2|0)==0,b||(ib($2),N=e[x1>>2]|0,E2(N)),q=x1+12|0,f0=e[q>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,xC(S0),Q0=e[q>>2]|0,b0=e[Q0>>2]|0,E2(b0),E0=e[q>>2]|0,E2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(W0=e[B0>>2]|0,xC(W0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,E2(v0),T0=e[y0>>2]|0,E2(T0)),N0=x1+48|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0){if(F0=(k0|0)==0,F0)p1=P0;else if(L0=k0+16|0,G0=e[L0>>2]|0,K0=(G0|0)>0,K0){if(z0=k0+800|0,H0=e[z0>>2]|0,Z0=25640+(H0<<2)|0,O0=e[Z0>>2]|0,Y0=O0+16|0,s1=e[Y0>>2]|0,i1=e[P0>>2]|0,as[s1&7](i1),x0=e[L0>>2]|0,o1=(x0|0)>1,o1)for(g1=1;o=e[N0>>2]|0,d1=z0+(g1<<2)|0,m1=e[d1>>2]|0,h1=25640+(m1<<2)|0,u1=e[h1>>2]|0,A1=u1+16|0,c1=e[A1>>2]|0,$1=o+(g1<<2)|0,j0=e[$1>>2]|0,as[c1&7](j0),E1=g1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)g1=E1;a=e[N0>>2]|0,p1=a}else p1=P0;E2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,as[Z1&7](G1),z1=e[M1>>2]|0,q1=(z1|0)>1,q1)for(Y1=1;$=e[B1>>2]|0,H1=R1+(Y1<<2)|0,V1=e[H1>>2]|0,X1=25648+(V1<<2)|0,o2=e[X1>>2]|0,j1=o2+16|0,O1=e[j1>>2]|0,u2=$+(Y1<<2)|0,I2=e[u2>>2]|0,as[O1&7](I2),a2=Y1+1|0,C2=e[M1>>2]|0,A2=(a2|0)<(C2|0),A2;)Y1=a2;g=e[B1>>2]|0,K1=g}else K1=w1;E2(K1)}if(h2=x1+56|0,l2=e[h2>>2]|0,i2=(l2|0)==0,!i2){if(c2=(k0|0)==0,c2)L2=l2;else if(r2=k0+28|0,e2=e[r2>>2]|0,s2=(e2|0)>0,s2){if(bQ(l2),m2=e[r2>>2]|0,t2=(m2|0)>1,t2)for(D2=1;h=e[h2>>2]|0,k2=h+(D2*52|0)|0,bQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,G2=(S2|0)<(Q2|0),G2;)D2=S2;m=e[h2>>2]|0,L2=m}else L2=l2;E2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||bb(w),y=x1+80|0,HS(y),x=x1+20|0,GQ(x),M=x1+32|0,GQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(J0)if(T=w0+4|0,G=e[T>>2]|0,Y=(G|0)>0,Y){for(z=R,p0=G,P2=0;X=z+(P2<<2)|0,a0=e[X>>2]|0,K=(a0|0)==0,K?V=p0:(E2(a0),E=e[T>>2]|0,V=E),r0=P2+1|0,s0=(r0|0)<(V|0),!!s0;)I=e[L>>2]|0,z=I,p0=V,P2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;E2(o0),d0=t+12|0,t0=e[d0>>2]|0,j=(t0|0)==0,j||E2(t0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,W=e[l0>>2]|0,m0=(W|0)==0,m0||E2(W),g0=x1+72|0,n0=e[g0>>2]|0,h0=(n0|0)==0,h0||E2(n0),E2(x1)),p2=t,J2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(J2|0))}}function CQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0;if(J0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||E2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,h=e[a>>2]|0,o0=h,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,T=e[F>>2]|0,N=(T|0)>0,N)if(G=t+8|0,Y=e[G>>2]|0,X=e[Y>>2]|0,z=R<<2,a0=W7(X,z)|0,K=e[G>>2]|0,e[K>>2]=a0,s0=e[F>>2]|0,V=(s0|0)>1,V)for($0=1;;)if($=e[D>>2]|0,u0=e[G>>2]|0,c0=u0+($0<<2)|0,W=e[c0>>2]|0,m0=$<<2,g0=W7(W,m0)|0,f0=e[G>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,h0=$0+1|0,p0=e[F>>2]|0,C0=(h0|0)<(p0|0),C0)$0=h0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(q=(o0|0)>0,q)){for(d0=t+8|0,t0=e[b>>2]|0,j=t+12|0,q0=0;;)if(S0=e[d0>>2]|0,Q0=S0+(q0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(t0<<2)|0,w0=e[j>>2]|0,B0=w0+(q0<<2)|0,e[B0>>2]=y0,_0=q0+1|0,W0=(_0|0)<(o0|0),W0)q0=_0;else{g=j;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function KS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0;if(H0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=H0,$|0):(e[S0>>2]=E0,_0=t+28|0,W0=e[_0>>2]|0,M0=(W0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,q0=r0+4|0,k0=e[q0>>2]|0,J0=(N0|0)>(k0|0),!J0)?($=0,C=H0,$|0):(QQ(t),$=0,C=H0,$|0));if(b0=C,C=C+128|0,P0=t+28|0,F0=e[P0>>2]|0,L0=(F0|0)==0,L0&&QQ(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,CQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=H0,$|0;for(F=t+8|0,T=b,K0=0;;){if(N=(T|0)>64,N?(G=e[G0>>2]|0,Y=(T|0)>(G|0),a=Y?G:T,X=e[F>>2]|0,z=X+(K0<<2)|0,a0=e[z>>2]|0,h=T-a|0,K=a0+(h<<2)|0,+yQ(K,b0,a,32),s0=e[F>>2]|0,V=s0+(K0<<2)|0,o0=e[V>>2]|0,q=e[v>>2]|0,d0=o0+(q<<2)|0,m=q+-32|0,t0=o0+(m<<2)|0,j=e[S>>2]|0,u0=j-q|0,wQ(b0,t0,32,d0,u0)):(c0=e[F>>2]|0,$0=c0+(K0<<2)|0,W=e[$0>>2]|0,m0=W+(T<<2)|0,g0=e[S>>2]|0,f0=g0-T|0,n0=f0<<2,g4(m0|0,0,n0|0)|0),h0=K0+1|0,p0=e[x>>2]|0,C0=(h0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,T=g,K0=h0}return C=H0,$|0}function BQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0;if(ue=C,S=t+4|0,b=e[S>>2]|0,a2=b+28|0,S5=e[a2>>2]|0,a6=t+104|0,M6=e[a6>>2]|0,C6=M6+60|0,B6=e[C6>>2]|0,Y6=t+48|0,s9=e[Y6>>2]|0,v=t+40|0,G=e[v>>2]|0,d0=S5+(G<<2)|0,n0=e[d0>>2]|0,_0=(n0|0)/2&-1,L0=s9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,O2=e[m2>>2]|0,x5=(O2|0)==-1,x5))return $=0,$|0;y2=rb(t)|0,y5=(y2|0)==-1;do if(y5){if(z2=e[m2>>2]|0,I3=(z2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,h=X3,V3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,U5=e[Y3>>2]|0,$6=(Q3|0)==(U5|0),n3=t+44|0,$6){e[n3>>2]=0,h=n3,V3=0;break}else{e[n3>>2]=y2,h=n3,V3=y2;break}while(!1);if(l3=e[Y6>>2]|0,G3=e[v>>2]|0,E6=S5+(G3<<2)|0,S3=e[E6>>2]|0,x3=(S3|0)/4&-1,b3=x3+l3|0,i6=S5+(V3<<2)|0,j5=e[i6>>2]|0,L3=(j5|0)/4&-1,d3=b3+L3|0,J3=(j5|0)/2&-1,h6=d3+J3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(h6|0),L6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,f6=(r6|0)==0,!f6)for(w9=r6;b6=w9+4|0,N6=e[b6>>2]|0,j6=e[w9>>2]|0,E2(j6),E2(w9),v6=(N6|0)==0,!v6;)w9=N6;M3=o+80|0,n6=e[M3>>2]|0,o6=(n6|0)==0,o6||(z3=o+68|0,R3=e[z3>>2]|0,K3=o+76|0,e6=e[K3>>2]|0,R6=e6+n6|0,l6=W7(R3,R6)|0,e[z3>>2]=l6,o3=e[M3>>2]|0,z6=e[K3>>2]|0,A3=z6+o3|0,e[K3>>2]=A3,e[M3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,F3=t+36|0,H6=e[F3>>2]|0,A6=o+24|0,e[A6>>2]=H6,D6=e[v>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[h>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=nb(t)|0,U6=(g9|0)==0,V6=j0+8|0,U6){e[V6>>2]=1;break}else{e[V6>>2]=0;break}else if(U3=(H6|0)==0,r9=(e9|0)==0,V9=U3|r9,o9=j0+8|0,V9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,P3=e[P6>>2]|0,O6=_6+4|0,d9=O6,n9=e[d9>>2]|0,B9=ns(P3|0,n9|0,1,0)|0,Q9=Z6,y9=t9,h9=y9,e[h9>>2]=B9,f9=y9+4|0,Y9=f9,e[Y9>>2]=Q9,y6=o+56|0,q6=y6,w=q6,e[w>>2]=P3,D=q6+4|0,y=D,e[y>>2]=n9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,T=F,N=e[T>>2]|0,Y=o+48|0,X=Y,z=X,e[z>>2]=R,a0=X+4|0,K=a0,e[K>>2]=N,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,V=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=V,q=j0+4|0,t0=+s[q>>2],j=+s[B6>>2],u0=t0>j,u0?(s[B6>>2]=t0,c0=t0):c0=j,$0=+xb(c0,t),s[B6>>2]=$0,s[q>>2]=$0,l0=b+4|0,W=e[l0>>2]|0,m0=W<<2,g0=m0+7|0,f0=g0&-8,h0=e[c6>>2]|0,p0=f0+h0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=R9(8)|0,W0=e[M3>>2]|0,M0=W0+h0|0,e[M3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=R9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,q0=N0,k0=0,G0=g,O0=f0):(q0=E0,k0=h0,G0=W,O0=S0),P0=q0+k0|0,J0=k0+f0|0,e[c6>>2]=J0,e[o>>2]=P0,F0=G0<<2,K0=F0+7|0,z0=K0&-8,H0=z0+J0|0,Z0=(H0|0)>(O0|0),Z0?(Y0=(q0|0)==0,Y0||(s1=q0,V0=R9(8)|0,i1=e[M3>>2]|0,o1=i1+J0|0,e[M3>>2]=o1,d1=e[S6>>2]|0,g1=V0+4|0,e[g1>>2]=d1,e[V0>>2]=s1,e[S6>>2]=V0),e[C0>>2]=z0,m1=R9(z0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,u1=m1,A1=0,a1=m,V5=z0):(u1=q0,A1=J0,a1=G0,V5=O0),h1=u1+A1|0,c1=A1+z0|0,e[c6>>2]=c1,e[j0>>2]=h1,$1=(a1|0)>0;e:do if($1)for(E1=t+8|0,k1=c1,M1=V5,_1=u1,a9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,U1=R9(8)|0,D1=e[M3>>2]|0,P1=D1+k1|0,e[M3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=R9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,Y1=0):(H1=_1,Y1=k1),z1=H1+Y1|0,V1=Y1+w1|0,e[c6>>2]=V1,X1=e[j0>>2]|0,o2=X1+(a9<<2)|0,e[o2>>2]=z1,j1=e[j0>>2]|0,O1=j1+(a9<<2)|0,u2=e[O1>>2]|0,W1=e[E1>>2]|0,I2=W1+(a9<<2)|0,A2=e[I2>>2]|0,ge(u2|0,A2|0,p1|0)|0,K1=e[j0>>2]|0,h2=K1+(a9<<2)|0,l2=e[h2>>2]|0,i2=l2+(L0<<2)|0,c2=e[o>>2]|0,r2=c2+(a9<<2)|0,e[r2>>2]=i2,$2=a9+1|0,e2=e[l0>>2]|0,s2=($2|0)<(e2|0),!s2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,_1=Q,a9=$2}while(!1);if(t2=e[m2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[Y6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[m2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(G2=S5+4|0,L2=e[G2>>2]|0,P2=(L2|0)/2&-1,p2=d3-P2|0,K2=(p2|0)>0,!K2)return $=1,$|0;if(J2=e[M6>>2]|0,ob(J2,p2),U2=e[m3>>2]|0,H2=U2-p2|0,e[m3>>2]=H2,W2=e[l0>>2]|0,A5=(W2|0)>0,A5&&(Y2=t+8|0,N1=e[Y2>>2]|0,e5=e[N1>>2]|0,T5=e5+(p2<<2)|0,t5=H2<<2,sA(e5|0,T5|0,t5|0)|0,Z2=e[l0>>2]|0,I5=(Z2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[Y2>>2]|0,Y5=b5+(g5<<2)|0,b2=e[Y5>>2]|0,B5=b2+(p2<<2)|0,o5=B<<2,sA(b2|0,B5|0,o5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return N5=e[v>>2]|0,e[F3>>2]=N5,m5=e[h>>2]|0,e[v>>2]=m5,e[Y6>>2]=P2,L5=e[m2>>2]|0,q5=(L5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,q3=x,X5=q3,D3=e[X5>>2]|0,t3=q3+4|0,s6=t3,N3=e[s6>>2]|0,H3=ns(D3|0,N3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=H3,z5=g3+4|0,H5=z5,e[H5>>2]=c3,$=1,$|0):(M5=L5-p2|0,V2=(M5|0)<1,a=V2?-1:M5,e[m2>>2]=a,p5=(a|0)>(P2|0),p5?(c5=(p2|0)<0,F2=c5<<31>>31,v5=x,J5=v5,i3=e[J5>>2]|0,E5=v5+4|0,h3=E5,W5=e[h3>>2]|0,r3=ns(i3|0,W5|0,p2|0,F2|0)|0,a3=Z6,B3=x,G5=B3,e[G5>>2]=r3,Z5=B3+4|0,_3=Z5,e[_3>>2]=a3,$=1,$|0):($5=a+p2|0,u5=$5-P2|0,T1=(u5|0)<0,D5=T1<<31>>31,d5=x,l5=d5,j2=e[l5>>2]|0,d2=d5+4|0,w5=d2,i5=e[w5>>2]|0,s5=ns(j2|0,i5|0,u5|0,D5|0)|0,h5=Z6,f5=x,r5=f5,e[r5>>2]=s5,R5=f5+4|0,X2=R5,e[X2>>2]=h5,$=1,$|0))}function WS(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0;if(r5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,c2=(O1|0)<1,c2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,M5=e[b2>>2]|0,S=(M5|0)<(G2|0),S))return $=1,$|0;T=B+3656|0,o0=e[T>>2]|0,z2=t,R5=z2+112|0;do e[z2>>2]=0,z2=z2+4|0;while((z2|0)<(R5|0));g0=ce(1,136)|0,w0=t+104|0,e[w0>>2]=g0,J0=t+4|0,e[J0>>2]=o,V0=e[Z1>>2]|0,a1=V0+-1|0,B1=H8(a1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=ce(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=ce(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=ce(1,20)|0,e[k1>>2]=_1,R1=ce(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,_C(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,_C(P1,x1),z1=e[B>>2]|0,q1=H8(z1)|0,H1=q1+-7|0,Y1=g0+4|0,e[Y1>>2]=H1,V1=e[b2>>2]|0,X1=H8(V1)|0,o2=X1+-7|0,j1=g0+8|0,e[j1>>2]=o2,u2=(a|0)==0;e:do if(u2){if(y2=B+2848|0,Q5=e[y2>>2]|0,N5=(Q5|0)==0,N5&&(m5=B+24|0,L5=e[m5>>2]|0,q5=ce(L5,56)|0,e[y2>>2]=q5,V2=e[m5>>2]|0,p5=(V2|0)>0,p5)){for(Q1=V2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(d5=e[y2>>2]|0,l5=d5+(w5*56|0)|0,j2=jb(l5,u5)|0,b=(j2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,LC(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,h5=0;A1=(B+1824|0)+(h5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?I1=p1:(LC(c1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=h5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,h5=j0;return EQ(t),$=-1,$|0}}else{if(W1=g0+20|0,I2=e[B>>2]|0,NQ(W1,I2),a2=g0+32|0,C2=e[b2>>2]|0,NQ(a2,C2),A2=B+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&(l2=B+24|0,i2=e[l2>>2]|0,r2=ce(i2,56)|0,e[A2>>2]=r2,$2=e[l2>>2]|0,e2=($2|0)>0,e2&&(s2=B+1824|0,m2=e[s2>>2]|0,TQ(r2,m2)|0,t2=e[l2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[A2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,TQ(D2,L2)|0,P2=S2+1|0,p2=e[l2>>2]|0,K2=(P2|0)<(p2|0),K2;)S2=P2;O2=B+28|0,J2=e[O2>>2]|0,U2=ce(J2,52)|0,H2=g0+56|0,e[H2>>2]=U2,W2=e[O2>>2]|0,A5=(W2|0)>0;t:do if(A5)for(N1=B+2868|0,e5=o+8|0,t5=U2,d2=0;;){if(T5=t5+(d2*52|0)|0,x5=(B+2852|0)+(d2<<2)|0,Z2=e[x5>>2]|0,I5=e[Z2>>2]|0,b5=B+(I5<<2)|0,Y5=e[b5>>2]|0,g5=(Y5|0)/2&-1,B5=e[e5>>2]|0,_b(T5,Z2,N1,g5,B5),o5=d2+1|0,R2=e[O2>>2]|0,M2=(o5|0)<(R2|0),!M2)break t;h=e[H2>>2]|0,t5=h,d2=o5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,N=R9(F)|0,G=t+8|0,e[G>>2]=N,Y=R9(F)|0,X=t+12|0,e[X>>2]=Y,z=(R|0)>0,z&&(a0=ce(x,4)|0,e[N>>2]=a0,K=(R|0)>1,K))for(V=1;m=e[G>>2]|0,r0=ce(x,4)|0,s0=m+(V<<2)|0,e[s0>>2]=r0,q=V+1|0,d0=(q|0)<(R|0),d0;)V=q;if(t0=t+36|0,e[t0>>2]=0,j=t+40|0,e[j>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,W=B+16|0,m0=e[W>>2]|0,f0=ce(m0,4)|0,n0=g0+48|0,e[n0>>2]=f0,h0=B+20|0,p0=e[h0>>2]|0,C0=ce(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[W>>2]|0,b0=(Q0|0)>0,b0)for(i5=0;B0=(B+800|0)+(i5<<2)|0,_0=e[B0>>2]|0,W0=25640+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(i5<<2)|0,P0=e[N0>>2]|0,q0=pi[T0&15](t,P0)|0,k0=e[n0>>2]|0,F0=k0+(i5<<2)|0,e[F0>>2]=q0,L0=i5+1|0,G0=e[W>>2]|0,K0=(L0|0)<(G0|0),K0;)i5=L0;if(E0=e[h0>>2]|0,y0=(E0|0)>0,y0)s5=0;else return $=0,$|0;for(;;)if(z0=(B+1312|0)+(s5<<2)|0,H0=e[z0>>2]|0,Z0=25648+(H0<<2)|0,O0=e[Z0>>2]|0,Y0=O0+8|0,s1=e[Y0>>2]|0,i1=(B+1568|0)+(s5<<2)|0,x0=e[i1>>2]|0,o1=pi[s1&15](t,x0)|0,d1=e[S0>>2]|0,g1=d1+(s5<<2)|0,e[g1>>2]=o1,m1=s5+1|0,h1=e[h0>>2]|0,u1=(m1|0)<(h1|0),u1)s5=m1;else{$=0;break}return $|0}function QQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,C=C+64|0,g=M0,h=t+20|0,y=e[h>>2]|0,z=y<<2,o=z,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,T=u0+(B0<<2)|0,e[T>>2]=F,N=B0+1|0,G=(b|0)>(N|0),G;)B0=N;if(Y=e[Q0>>2]|0,X=b-Y|0,+yQ(u0,g,X,16),a0=e[h>>2]|0,K=e[Q0>>2]|0,a=a0-K|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,wQ(g,s0,16,r0,K),V=e[h>>2]|0,o0=(V|0)>0,o0)for(q=e[S>>2]|0,d0=q+(w0<<2)|0,t0=e[d0>>2]|0,_0=0;j=u0+(_0<<2)|0,c0=e[j>>2]|0,$0=_0^-1,l0=V+$0|0,W=t0+(l0<<2)|0,e[W>>2]=c0,m0=_0+1|0,g0=(V|0)>(m0|0),g0;)_0=m0;if(f0=w0+1|0,n0=e[m>>2]|0,h0=n0+4|0,p0=e[h0>>2]|0,S0=(f0|0)<(p0|0),S0)b=V,w0=f0;else break}C=M0}function ZS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0;$2=C,q2(o,5653314,24),m=e[t>>2]|0,q2(o,m,16),I=t+4|0,G=e[I>>2]|0,q2(o,G,24),d0=e[I>>2]|0,n0=(d0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(b1=L0+O1|0,E=f[b1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(d0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(d0|0);e:do if(M){if(q2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,T=F<<24>>24,N=T+-1|0,q2(o,N,5),Y=e[I>>2]|0,X=(Y|0)>1,X)for(w=Y,H1=0,W1=1;;){if(z=e[L>>2]|0,a0=z+W1|0,K=f[a0>>0]|0,r0=W1+-1|0,s0=z+r0|0,V=f[s0>>0]|0,o0=K<<24>>24>V<<24>>24,o0)for(q=V<<24>>24,t0=K<<24>>24,c0=w,Y1=H1,l2=q;;)if(j=W1-Y1|0,u0=c0-Y1|0,$0=H8(u0)|0,q2(o,j,$0),l0=l2+1|0,o2=(l0|0)==(t0|0),h=e[I>>2]|0,o2){g0=h,V1=W1;break}else c0=h,Y1=W1,l2=l0;else g0=w,V1=H1;if(W=W1+1|0,m0=(W|0)<(g0|0),m0)w=g0,H1=V1,W1=W;else{$=g0,q1=V1,u2=W;break}}else $=Y,q1=0,u2=1;f0=u2-q1|0,h0=$-q1|0,p0=H8(h0)|0,q2(o,f0,p0)}else{q2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,a2=0;;){if(E0=b0+a2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){I2=a2;break t}if(B0=a2+1|0,W0=(B0|0)<(C0|0),W0)a2=B0;else{I2=B0;break}}else I2=0;while(!1);if(M0=(I2|0)==(C0|0),M0){if(q2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,C2=0;;)if(P0=e[N0>>2]|0,q0=P0+C2|0,k0=f[q0>>0]|0,J0=k0<<24>>24,F0=J0+-1|0,q2(o,F0,5),G0=C2+1|0,K0=e[I>>2]|0,z0=(G0|0)<(K0|0),z0)C2=G0;else break e}if(q2(o,1,1),H0=e[I>>2]|0,Z0=(H0|0)>0,Z0)for(O0=t+8|0,A2=0;Y0=e[O0>>2]|0,s1=Y0+A2|0,V0=f[s1>>0]|0,i1=V0<<24>>24==0,i1?q2(o,0,1):(q2(o,1,1),o1=e[O0>>2]|0,d1=o1+A2|0,g1=f[d1>>0]|0,m1=g1<<24>>24,h1=m1+-1|0,q2(o,h1,5)),u1=A2+1|0,A1=e[I>>2]|0,c1=(u1|0)<(A1|0),c1;)A2=u1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,q2(o,$1,4),E1=e[a1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,q2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,q2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,q2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,q2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=Kb(t)|0,c2=D1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=n5(Z1,P1)|0,c2=G1;else break;if(x1=(c2|0)>0,x1)for(K1=0;z1=e[I1>>2]|0,Q=z1+(K1<<2)|0,B=e[Q>>2]|0,h2=(B|0)>-1,i2=0-B|0,S=h2?B:i2,b=e[L1>>2]|0,q2(o,S,b),v=K1+1|0,X1=(v|0)==(c2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Pu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0;return X=C,g=(o|0)<0,g||(h=t+12|0,y=e[h>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,T=e[F>>2]|0,N=T+(o<<2)|0,G=e[N>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,q2(a,G,B),S=e[h>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function aE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,h=(g|0)>0,!h||(m=Ou(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function jS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,q=o0<<2,h=q,d0=C,C=C+((1*h|0)+15&-16)|0,t0=(o0|0)>0;e:do if(t0){for(j=t+16|0,l0=0;;){if(N=Ou(t,a)|0,G=(N|0)==-1,G){g=-1;break}if(Y=e[j>>2]|0,X=e[t>>2]|0,z=n5(X,N)|0,a0=Y+(z<<2)|0,K=d0+(l0<<2)|0,e[K>>2]=a0,r0=l0+1|0,V=(r0|0)<(o0|0),V)l0=r0;else{u0=X;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=t0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(W=0,g0=0;;){for(m0=0;v=d0+(m0<<2)|0,w=e[v>>2]|0,D=w+(W<<2)|0,y=+s[D>>2],x=m0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,T=m0+1|0,$0=(T|0)==(o0|0),!$0;)m0=T;if(B=W+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)W=B,g0=S;else{g=0;break}}return C=n0,g|0}function XS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0;if(e5=C,z=t+8|0,a0=e[z>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(z1=t+16|0,e2=0;;){if(t0=Ou(t,a)|0,j=(t0|0)==-1,j){g=-1,N1=29;break}if(u0=e[z1>>2]|0,c0=e[t>>2]|0,$0=n5(c0,t0)|0,l0=(c0|0)>0,l0){for(W=(c0|0)>1,Y2=W?c0:1,m2=e2,p2=0;m0=p2+1|0,X=p2+$0|0,g0=u0+(X<<2)|0,n0=+s[g0>>2],h0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(m0|0)<(c0|0),Q0;)m2=h0,p2=m0;I2=e2+Y2|0,s2=I2}else s2=e2;if(K=(s2|0)<($|0),K)e2=s2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(V=Ou(t,a)|0,o0=(V|0)==-1,o0){g=-1,N1=29;break e}switch(q=e[i1>>2]|0,d0=e[t>>2]|0,d0|0){case 4:{B=V,y=q,N1=19;break t}case 3:{S=V,x=q,N1=21;break t}case 7:{I=V,v=q,N1=13;break t}case 6:{E=V,w=q,N1=15;break t}case 8:{h=q,m=V,N1=12;break t}case 5:{Q=V,D=q,N1=17;break t}case 1:{K1=V,l2=q,P2=t2,A5=0;break t}case 2:{b=V,M=q,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=h+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,W0=+s[_0>>2],M0=W0+y0,s[_0>>2]=M0,N0=b0,q0=h,k2=w0,K2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,q0=v,k2=t2,K2=0,N1=14):(N1|0)==15?(N1=0,z0=E*6|0,Z0=z0,Y0=w,D2=t2,O2=0,N1=16):(N1|0)==17?(N1=0,g1=Q*5|0,h1=g1,A1=D,S2=t2,J2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,D1=F1,Z1=x,G2=t2,H2=0,N1=22):(N1|0)==23&&(N1=0,V1=b<<1,o2=V1,O1=M,L2=t2,W2=0,N1=24),(N1|0)==14&&(N1=0,T0=K2+1|0,Y=K2+N0|0,P0=q0+(Y<<2)|0,k0=+s[P0>>2],J0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],K0=G0+k0,s[L0>>2]=K0,Z0=N0,Y0=q0,D2=J0,O2=T0,N1=16),(N1|0)==16&&(N1=0,H0=O2+1|0,G=O2+Z0|0,O0=Y0+(G<<2)|0,s1=+s[O0>>2],V0=D2+1|0,x0=o+(D2<<2)|0,o1=+s[x0>>2],d1=o1+s1,s[x0>>2]=d1,h1=Z0,A1=Y0,S2=V0,J2=H0,N1=18),(N1|0)==18&&(N1=0,m1=J2+1|0,N=J2+h1|0,u1=A1+(N<<2)|0,c1=+s[u1>>2],a1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+c1,s[j0>>2]=I1,B1=h1,v1=A1,Q2=a1,U2=m1,N1=20),(N1|0)==20&&(N1=0,p1=U2+1|0,T=U2+B1|0,w1=v1+(T<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,b1=o+(Q2<<2)|0,_1=+s[b1>>2],R1=_1+k1,s[b1>>2]=R1,D1=B1,Z1=v1,G2=L1,H2=p1,N1=22),(N1|0)==22&&(N1=0,U1=H2+1|0,F=H2+D1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],Y1=H1+G1,s[q1>>2]=Y1,o2=D1,O1=Z1,L2=x1,W2=U1,N1=24),(N1|0)==24&&(N1=0,X1=W2+1|0,R=W2+o2|0,j1=O1+(R<<2)|0,u2=+s[j1>>2],W1=L2+1|0,a2=o+(L2<<2)|0,C2=+s[a2>>2],A2=C2+u2,s[a2>>2]=A2,K1=o2,l2=O1,P2=W1,A5=X1),L=A5+K1|0,h2=l2+(L<<2)|0,i2=+s[h2>>2],c2=P2+1|0,r2=o+(P2<<2)|0,$2=+s[r2>>2],r0=$2+i2,s[r2>>2]=r0,s0=(c2|0)<($|0),s0)t2=c2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function eb(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,T=(S|0)>0,!T||(r0=(a|0)/($|0)&-1,s0=h+a|0,V=(s0|0)/($|0)&-1,o0=(r0|0)<(V|0),!o0))return I=0,I|0;for(q=t+16|0,j=0,$0=r0;;){if(t0=Ou(t,g)|0,b=(t0|0)==-1,b){I=-1,g0=8;break}if(v=e[q>>2]|0,w=e[t>>2]|0,D=n5(w,t0)|0,y=(w|0)>0,y)for(c0=j,W=$0,m0=0;;)if(Q=m0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,N=F+(W<<2)|0,G=+s[N>>2],Y=G+M,s[N>>2]=Y,X=(L|0)==($|0),z=X&1,E=z+W|0,m=X?0:L,a0=m0+1|0,K=(a0|0)<(w|0),K)c0=m,W=E,m0=a0;else{u0=m,l0=E;break}else u0=j,l0=$0;if(d0=(l0|0)<(V|0),d0)j=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Ou(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,h=e[g>>2]|0,y=t+36|0,z=e[y>>2]|0,u0=kC(o,z)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,z0=e[v0>>2]|0,d1=z0+(u0<<2)|0,g1=e[d1>>2]|0,m=(g1|0)<0,m){I=g1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=g1&32767,b=B-S|0,m1=b,u1=E;break}return v=g1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,SC(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,u1=0;while(!1);if(T=kC(o,h)|0,N=(T|0)<0,G=(h|0)>1,Y=N&G,Y)for(j0=h;;)if(X=j0+-1|0,a0=kC(o,X)|0,K=(a0|0)<0,r0=(X|0)>1,s0=K&r0,s0)j0=X;else{$=K,a1=a0,$1=X;break}else $=N,a1=T,$1=h;if($)return a=-1,a|0;if(V=a1>>>16,o0=a1<<16,q=V|o0,d0=q>>>8,t0=d0&16711935,j=q<<8,c0=j&-16711936,$0=t0|c0,l0=$0>>>4,W=l0&252645135,m0=$0<<4,g0=m0&-252645136,f0=W|g0,n0=f0>>>2,h0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=h0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-u1|0,W0=(_0|0)>1,W0)for(M0=t+20|0,T0=e[M0>>2]|0,P0=_0,h1=m1,c1=u1;;)if(N0=P0>>1,q0=N0+c1|0,k0=T0+(q0<<2)|0,J0=e[k0>>2]|0,F0=J0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+c1|0,K0=F0?N0:0,H0=h1-K0|0,Z0=H0-G0|0,O0=(Z0|0)>1,O0)P0=Z0,h1=H0,c1=G0;else{A1=G0;break}else A1=u1;return Y0=t+28|0,s1=e[Y0>>2]|0,V0=s1+A1|0,i1=f[V0>>0]|0,x0=i1<<24>>24,o1=(x0|0)>($1|0),o1?(SC(o,$1),a=-1,a|0):(SC(o,x0),a=A1,a|0)}function tb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0;for(d1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,V=e[F>>2]|0,m0=t+4|0,e[m0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,z0=e[k0>>2]|0,H0=t+12|0,e[H0>>2]=z0,e[t>>2]=V,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=ce(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,_C(x,128),M=e[y>>2]|0,V0=0;L=+(V0|0),R=L*.024736950028266088,T=+Yn(+R),N=T,G=M+(V0<<2)|0,Y=N*N,s[G>>2]=Y,X=V0+1|0,s1=(X|0)==128,!s1;)V0=X;for(z=t+40|0,e[z>>2]=2,a0=t+44|0,e[a0>>2]=4,K=t+56|0,e[K>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,q=t+88|0,e[q>>2]=9,d0=t+92|0,e[d0>>2]=8,t0=t+104|0,e[t0>>2]=13,j=t+108|0,e[j>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(W=g0<<2,f0=R9(W)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,h0=(g0|0)>0,h0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Yn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,W0=M0+B0,v0=i1+1|0,O0=(v0|0)==(g0|0),O0){a=W0;break}else M0=W0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,P0=x0+1|0,Y0=(P0|0)==7,Y0)break;$=((t+40|0)+(P0<<4)|0)+4|0,h=e[$>>2]|0,g0=h,x0=P0}q0=V*7|0,J0=ce(q0,144)|0,F0=t+152|0,e[F0>>2]=J0,L0=e[Z0>>2]|0,G0=ce(L0,4)|0,K0=t+160|0,e[K0>>2]=G0}function ib(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;N=C,o=t+16|0,xC(o),a=t+48|0,v=e[a>>2]|0,E2(v),D=t+64|0,y=e[D>>2]|0,E2(y),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,R=e[L>>2]|0,E2(R),F=t+112|0,$=e[F>>2]|0,E2($),g=t+128|0,h=e[g>>2]|0,E2(h),m=t+144|0,I=e[m>>2]|0,E2(I),E=t+36|0,Q=e[E>>2]|0,E2(Q),B=t+152|0,S=e[B>>2]|0,E2(S),b=t+160|0,w=e[b>>2]|0,E2(w),g4(t|0,0,180)|0}function rb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,h=t+4|0,m=e[h>>2]|0,R=m+28|0,s0=e[R>>2]|0,W=s0+2868|0,E0=t+104|0,q0=e[E0>>2]|0,Y0=e[q0>>2]|0,A1=Y0+168|0,v1=e[A1>>2]|0,I=Y0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=Y0+164|0,F=e[L>>2]|0,T=(M|0)>(F|0),T&&(e[L>>2]=M,N=Y0+160|0,G=e[N>>2]|0,Y=M<<2,X=W7(G,Y)|0,e[N>>2]=X),z=(o|0)<(y|0),z)for(a0=Y0+156|0,K=Y0+160|0,r0=t+8|0,V=Y0+40|0,o0=Y0+152|0,x1=o;;){if(q=e[a0>>2]|0,d0=q+1|0,t0=(q|0)>23,$=t0?24:d0,e[a0>>2]=$,j=e[Y0>>2]|0,u0=(j|0)>0,u0){for(G1=0,Y1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,h0=n5(n0,x1)|0,p0=f0+(h0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=sb(Y0,W,p0,V,Q0)|0,y0=b0|Y1,w0=G1+1|0,B0=e[Y0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,Y1=y0;else{g=y0;break}W0=x1+2|0,M0=e[K>>2]|0,v0=M0+(W0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(P0=M0+(x1<<2)|0,e[P0>>2]=1,k0=x1+1|0,J0=M0+(k0<<2)|0,e[J0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,K0=(x1|0)>0,K0&&(z0=x1+-1|0,H0=M0+(z0<<2)|0,e[H0>>2]=1)),Z0=g&4,O0=(Z0|0)==0,O0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[K>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(s1=x1+1|0,Z1=(s1|0)==(y|0),Z1)break;x1=s1}if(V0=e[I>>2]|0,i1=n5(V0,y)|0,e[A1>>2]=i1,x0=t+48|0,o1=e[x0>>2]|0,d1=t+40|0,g1=e[d1>>2]|0,m1=s0+(g1<<2)|0,h1=e[m1>>2]|0,u1=(h1|0)/4&-1,c1=u1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,j0=($1|0)/2&-1,E1=c1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=Y0+176|0,w1=e[B1>>2]|0,k1=i1-V0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=Y0+160|0,z1=w1;;){if(R1=(z1|0)<(p1|0),!R1){a=1,V1=22;break}if(e[B1>>2]=z1,F1=(z1|0)/(V0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,Q=(z1|0)>(o1|0),H1=Q&E,b1=V0+z1|0,H1){q1=z1,V1=21;break}if(_1=(b1|0)<(k1|0),_1)z1=b1;else{a=-1,V1=22;break}}return(V1|0)==21?(B=Y0+172|0,e[B>>2]=q1,a=0,a|0):(V1|0)==22?a|0:0}function nb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,h=e[g>>2]|0,y=e[h>>2]|0,z=t+4|0,u0=e[z>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,h0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=h0-Q|0,S=Q+h0|0,b=(m|0)==0,b?(G=e[f0>>2]|0,Y=(G|0)/4&-1,a=Y,$=Y):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,T=e[F>>2]|0,N=(T|0)/4&-1,a=N,$=M),C0=B-$|0,S0=S+a|0,X=y+172|0,a0=e[X>>2]|0,K=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=K&r0,b0)return o=1,o|0;if(s0=y+8|0,V=e[s0>>2]|0,o0=(C0|0)/(V|0)&-1,q=(S0|0)/(V|0)&-1,d0=(o0|0)<(q|0),!d0)return o=0,o|0;for(t0=y+160|0,j=e[t0>>2]|0,Q0=o0;;){if(l0=j+(Q0<<2)|0,W=e[l0>>2]|0,m0=(W|0)==0,c0=Q0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(q|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function ob(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,T=F+(L<<2)|0,g=M-L|0,h=g<<2,sA(F|0,T|0,h|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function sb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0;if(m3=C,z=t+4|0,a0=e[z>>2]|0,c2=t+12|0,G2=+s[c2>>2],Y2=a0<<2,x=Y2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,d2=e[M5>>2]|0,F2=(d2|0)>5,G5=(d2|0)/2&-1,h=F2?G5:2,K=o+60|0,$0=+s[K>>2],Q0=G5+-2|0,N0=+(Q0|0),Z0=$0-N0,h1=Z0<0,E6=h1?0:Z0,B1=E6>$0,S3=B1?$0:E6,D1=(a0|0)>0,D1)for(o2=t+36|0,l2=e[o2>>2]|0,V5=0;r2=a+(V5<<2)|0,$2=+s[r2>>2],e2=l2+(V5<<2)|0,s2=+s[e2>>2],m2=s2*$2,t2=b2+(V5<<2)|0,s[t2>>2]=m2,k2=V5+1|0,Q3=(k2|0)==(a0|0),!Q3;)V5=k2;D2=t+16|0,vQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,P2=b2+4|0,p2=+s[P2>>2],K2=p2,O2=K2*K2,J2=O2*.7,U2=J2+L2,H2=b2+8|0,W2=+s[H2>>2],A5=W2,N1=A5*A5,e5=N1*.2,T5=U2+e5,t5=T5,x5=g+140|0,Z2=e[x5>>2]|0,I5=(Z2|0)==0,I5?(b5=g+136|0,Y5=+s[b5>>2],g5=Y5+t5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=t5,T=B5,V2=g5):(o5=g+132|0,R2=+s[o5>>2],M2=R2+t5,s[o5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],N5=Q5+t5,s[y2>>2]=N5,T=o5,V2=M2),m5=(g+72|0)+(Z2<<2)|0,L5=+s[m5>>2],q5=V2-L5,s[T>>2]=q5,s[m5>>2]=t5,p5=e[x5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[x5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=V2*.0625,d5=(s[w2>>2]=D5,e[w2>>2]|0),l5=d5&2147483647,j2=+(l5>>>0),w5=j2*7177114298428933e-22,i5=w5+-764.6162109375,s5=i5,h5=s5*.5,z2=h5+-15,f5=z2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,P0=S5|1,q0=b2+(P0<<2)|0,k0=+s[q0>>2],J0=k0*k0,F0=J0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,K0=+(G0>>>0),z0=K0*35885571492144663e-23,H0=z0+-382.30810546875,O0=H0>1,V0=b2+(s1<<2)|0,s[V0>>2]=X,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;o1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=o1,T0=F,S5=i1}while(!1);if(r5=(h|0)>0,r5)l3=0,V3=0;else{for(n3=0,i6=0;;){if(d1=($+(n3<<4)|0)+4|0,g1=e[d1>>2]|0,m1=(g1|0)>0,m1)for(u1=$+(n3<<4)|0,A1=e[u1>>2]|0,c1=($+(n3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=a1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(g1|0),k1)c3=w1,Y3=v1;else{N3=w1;break}else N3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*N3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=b1P1,S=x1?P1:b1,z1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,Y1=e[_1>>2]|0,V1=Y1+1|0,X1=(Y1|0)>15,D=X1?0:V1,e[_1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],u2=O1+S3,W1=q1>u2,I2=i6|5,j5=W1?I2:i6,a2=(o+32|0)+(n3<<2)|0,C2=+s[a2>>2],A2=C2-S3,K1=z1>2]|0,c5=(X2|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,U5=0;;)if(u0=c0+U5|0,l0=b2+(u0<<2)|0,W=+s[l0>>2],m0=g0+(U5<<2)|0,f0=+s[m0>>2],n0=f0*W,h0=n0+g3,p0=U5+1|0,C0=(p0|0)<(X2|0),C0)g3=h0,U5=p0;else{H3=h0;break}else H3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],h3=y0*H3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],W0=h3<_0,i3=W0?_0:h3,M0=h3>_0,b=M0?_0:h3,$6=0,G3=E,x3=-99999,b3=99999;;)if(s0=(G3|0)<1,w=s0?16:-1,v=w+G3|0,V=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[V>>2],q=x3o0,N=t0?o0:b3,j=$6+1|0,z5=(j|0)==(h|0),z5){L=d0,G=N;break}else $6=j,G3=v,x3=d0,b3=N;if(v5=b-G,J5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=h3,W5=e[r3>>2]|0,a3=W5+1|0,B3=(W5|0)>15,y=B3?0:a3,e[r3>>2]=y,Z5=(o+4|0)+(l3<<2)|0,_3=+s[Z5>>2],f3=_3+S3,w3=J5>f3,X3=V3|5,L3=w3?X3:V3,q3=(o+32|0)+(l3<<2)|0,X5=+s[q3>>2],D3=X5-S3,t3=v5>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,P3=o+1284|0,y6=e[P3>>2]|0,v9=(y6|0)>0,v9){for(mt=0;n4=be+(mt<<2)|0,e[n4>>2]=-200,v4=mt+1|0,k4=(v4|0)==(y6|0),!k4;)mt=v4;if(v9){for(W3=0;Be=me+(W3<<2)|0,e[Be>>2]=-200,r0=W3+1|0,Ie=(r0|0)==(y6|0),!Ie;)W3=r0;if(v9){for(l0=y6<<2,g4(Pt|0,0,l0|0)|0,x9=0;b0=F4+(x9<<2)|0,e[b0>>2]=1,P0=x9+1|0,J4=(P0|0)==(y6|0),!J4;)x9=P0;if(v9){if(u1=y6<<2,g4(t8|0,-1,u1|0)|0,w1=(y6|0)>1,!w1)return A4=0,C=Ae,A4|0;for(P1=r6+-1|0,j1=K+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ke=F,b9=0,S4=0;;){Re=b9+1|0,Fe=o+(Re<<2)|0,Ue=e[Fe>>2]|0,He=J6+(b9*56|0)|0,O4=He,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[He>>2]=ke,Ye=(J6+(b9*56|0)|0)+4|0,e[Ye>>2]=Ue,z9=(Ue|0)<(r6|0),s8=z9?Ue:P1,Ve=(s8|0)<(ke|0),Ve)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,W8=0,Z8=0;else for(xe=ke,pt=0,z4=0,We=0,se=0,b4=0,gt=0,E3=0,T9=0,dt=0,D9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,Y=+s[he>>2],Pe=Y*7.314285755157471,Ce=Pe+1023.5,w4=~~Ce,Z9=(w4|0)>1023,k9=(w4|0)<0,m=k9?0:w4,S=Z9?1023:m,Y4=(S|0)==0;do if(Y4)zt=pt,at=z4,$t=We,Bt=se,W4=b4,De=gt,wt=E3,Wt=T9,je=dt,et=D9,c4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Je=+s[nt>>2],V4=+s[j1>>2],ze=V4+Je,o4=!(ze>=Y),o4){d4=xe+gt|0,oe=S+Nt|0,h4=n5(xe,xe)|0,f4=h4+se|0,Se=n5(S,S)|0,s0=Se+D9|0,V=n5(S,xe)|0,o0=V+T9|0,q=z4+1|0,zt=pt,at=q,$t=We,Bt=f4,W4=b4,De=d4,wt=E3,Wt=o0,je=dt,et=s0,c4=u8,Xt=oe;break}else{R4=xe+b4|0,ot=S+u8|0,ne=n5(xe,xe)|0,u4=ne+We|0,T6=n5(S,S)|0,Ke=T6+dt|0,O9=n5(S,xe)|0,fe=O9+E3|0,Te=pt+1|0,zt=Te,at=z4,$t=u4,Bt=se,W4=R4,De=gt,wt=fe,Wt=T9,je=Ke,et=D9,c4=ot,Xt=Nt;break}while(!1);if(d0=xe+1|0,t0=(xe|0)<(s8|0),t0)xe=d0,pt=zt,z4=at,We=$t,se=Bt,b4=W4,gt=De,E3=wt,T9=Wt,dt=je,D9=et,u8=c4,Nt=Xt;else{_t=zt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=De,a8=wt,j9=Wt,jt=je,Tt=et,W8=c4,Z8=Xt;break}}if(j=(J6+(b9*56|0)|0)+8|0,e[j>>2]=Qt,u0=(J6+(b9*56|0)|0)+12|0,e[u0>>2]=W8,c0=(J6+(b9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(J6+(b9*56|0)|0)+20|0,e[$0>>2]=jt,W=(J6+(b9*56|0)|0)+24|0,e[W>>2]=a8,m0=(J6+(b9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(J6+(b9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(J6+(b9*56|0)|0)+36|0,e[f0>>2]=Z8,n0=(J6+(b9*56|0)|0)+40|0,e[n0>>2]=Rt,h0=(J6+(b9*56|0)|0)+44|0,e[h0>>2]=Tt,p0=(J6+(b9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(J6+(b9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+S4|0,I6=(Re|0)==(i2|0),I6){E8=S0;break}else ke=Ue,b9=Re,S4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(O0=(y6|0)==0,!O0)return A4=0,C=Ae,A4|0;G2=J6+4|0,O4=J6,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[G2>>2]=r6,Y2=(r6|0)<1,Y2)Vt=0,r8=0,Kt=0,Ct=0,ct=0,ae=0,yt=0,$4=0,l8=0,c8=0,Y8=0,V8=0;else for(b2=K+1112|0,pe=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,Ze=0,l4=0,ut=0,X4=0,R8=0,ht=0;;){M5=$+(pe<<2)|0,G=+s[M5>>2],d2=G*7.314285755157471,F2=d2+1023.5,G5=~~F2,N3=(G5|0)>1023,U5=(G5|0)<0,h=U5?0:G5,B=N3?1023:h,V3=(B|0)==0;do if(V3)Jt=xt,G4=Et,U4=At,lt=m4,K4=p4,D4=E4,Z4=Ze,j4=l4,Ft=ut,g8=X4,F8=R8,T8=ht;else if(f6=a+(pe<<2)|0,K3=+s[f6>>2],A6=+s[b2>>2],g9=A6+K3,U6=!(g9>=G),U6){B9=pe+E4|0,Q9=B+ht|0,y9=n5(pe,pe)|0,h9=y9+m4|0,f9=n5(B,B)|0,Y9=f9+X4|0,q6=n5(B,pe)|0,a9=q6+l4|0,V9=Et+1|0,Jt=xt,G4=V9,U4=At,lt=h9,K4=p4,D4=B9,Z4=Ze,j4=a9,Ft=ut,g8=Y9,F8=R8,T8=Q9;break}else{V6=pe+p4|0,F6=B+R8|0,t9=n5(pe,pe)|0,_6=t9+At|0,P6=n5(B,B)|0,O6=P6+ut|0,s9=n5(B,pe)|0,d9=s9+Ze|0,n9=xt+1|0,Jt=n9,G4=Et,U4=_6,lt=m4,K4=V6,D4=E4,Z4=d9,j4=l4,Ft=O6,g8=X4,F8=F6,T8=ht;break}while(!1);if(w9=pe+1|0,S9=(w9|0)==(r6|0),S9){Vt=Jt,r8=G4,Kt=U4,Ct=lt,ct=K4,ae=D4,yt=Z4,$4=j4,l8=Ft,c8=g8,Y8=F8,V8=T8;break}else pe=w9,xt=Jt,Et=G4,At=U4,m4=lt,p4=K4,E4=D4,Ze=Z4,l4=j4,ut=Ft,X4=g8,R8=F8,ht=T8}we=J6+8|0,e[we>>2]=ct,ue=J6+12|0,e[ue>>2]=Y8,Ee=J6+16|0,e[Ee>>2]=Kt,J9=J6+20|0,e[J9>>2]=l8,re=J6+24|0,e[re>>2]=yt,F9=J6+28|0,e[F9>>2]=Vt,K6=J6+32|0,e[K6>>2]=ae,A9=J6+36|0,e[A9>>2]=V8,ve=J6+40|0,e[ve>>2]=Ct,Me=J6+44|0,e[Me>>2]=c8,de=J6+48|0,e[de>>2]=$4,_9=J6+52|0,e[_9>>2]=r8,E8=Vt}if(Q0=(E8|0)==0,Q0)return A4=0,C=Ae,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,bC(J6,E0,$8,Zt,K)|0,y0=e[$8>>2]|0,e[be>>2]=y0,e[me>>2]=y0,w0=e[Zt>>2]|0,B0=me+4|0,e[B0>>2]=w0,_0=be+4|0,e[_0>>2]=w0,W0=(y6|0)>2;do if(W0){M0=K+1112|0,v0=K+1096|0,T0=K+1100|0,N0=K+1104|0,qe=2;e:for(;;){q0=(o+520|0)+(qe<<2)|0,k0=e[q0>>2]|0,J0=Pt+(k0<<2)|0,F0=e[J0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,K0=t8+(F0<<2)|0,z0=e[K0>>2]|0,H0=(z0|0)==(G0|0);t:do if(!H0){if(Z0=(o+520|0)+(F0<<2)|0,Y0=e[Z0>>2]|0,s1=(o+520|0)+(G0<<2)|0,V0=e[s1>>2]|0,e[K0>>2]=G0,i1=(K+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,o1=(K+836|0)+(G0<<2)|0,d1=e[o1>>2]|0,g1=be+(F0<<2)|0,m1=e[g1>>2]|0,h1=(m1|0)<0,A1=me+(F0<<2)|0,c1=e[A1>>2]|0,h1?w=c1:(a1=(c1|0)<0,a1?w=m1:($1=c1+m1|0,j0=$1>>1,w=j0)),E1=be+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=me+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,b1=(y|0)==-1,L8=M1|b1,L8){C4=38;break e}_1=y-w|0,R1=d1-x0|0,N4=(_1|0)>-1,L9=0-_1|0,F1=N4?_1:L9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,Z1=D1|1,G1=$+(x0<<2)|0,z=+s[G1>>2],x1=z*7.314285755157471,z1=x1+1023.5,q1=~~z1,H1=(q1|0)>1023,Y1=(q1|0)<0,I=Y1?0:q1,b=H1?1023:I,V1=n5(U1,R1)|0,f8=(V1|0)>-1,p8=0-V1|0,X1=f8?V1:p8,o2=F1-X1|0,O1=w-b|0,u2=n5(O1,O1)|0,W1=a+(x0<<2)|0,I2=+s[W1>>2],a2=+s[M0>>2],C2=a2+I2,A2=!(C2>=z),A2?C4=42:(K1=+(w|0),h2=+s[v0>>2],l2=h2+K1,c2=+(b|0),r2=l2>2],e2=K1-$2,s2=e2>c2,s2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=x0+1|0,t2=(m2|0)<(d1|0),t2)for(p2=m2,s4=0,x8=u2,Yt=1,C8=w;;){if(k2=s4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Oe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,P2=$+(p2<<2)|0,X=+s[P2>>2],K2=X*7.314285755157471,O2=K2+1023.5,J2=~~O2,U2=(J2|0)>1023,H2=(J2|0)<0,E=H2?0:J2,D=U2?1023:E,W2=A8-D|0,A5=n5(W2,W2)|0,N1=A5+x8|0,e5=Yt+1|0,T5=a+(p2<<2)|0,t5=+s[T5>>2],x5=t5+a2,Z2=x5>=X,I5=(D|0)!=0,o8=Z2&I5,o8&&(b5=+(A8|0),Y5=+s[v0>>2],g5=Y5+b5,B5=+(D|0),o5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=p2+1|0,N5=(Q5|0)<(d1|0),N5)p2=Q5,s4=Oe,x8=N1,Yt=e5,C8=A8;else{i8=N1,Ht=e5;break}}else i8=u2,Ht=1;if(m5=+s[v0>>2],L5=m5*m5,q5=+(Ht|0),V2=L5/q5,p5=+s[N0>>2],$5=V2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),j2=l5>p5,j2)))break;g3=be+(qe<<2)|0,e[g3>>2]=-200,u3=me+(qe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=J6+(Y0*56|0)|0,i5=k0-Y0|0,s5=bC(w5,i5,Ot,qt,K)|0,h5=J6+(k0*56|0)|0,z2=V0-k0|0,f5=bC(h5,z2,T4,st,K)|0,r5=(s5|0)!=0,r5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),X2=(f5|0)==0,!X2&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,r5)){v5=be+(qe<<2)|0,e[v5>>2]=-200,J5=me+(qe<<2)|0,e[J5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[be>>2]=i3),I3=e[qt>>2]|0,h3=be+(qe<<2)|0,e[h3>>2]=I3,W5=e[T4>>2]|0,r3=me+(qe<<2)|0,e[r3>>2]=W5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),Z5=W5&I3,_3=(Z5|0)>-1,_3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(_8=e8+-1|0,X3=F4+(_8<<2)|0,q3=e[X3>>2]|0,X5=(q3|0)==(G0|0),!X5)break i;if(e[X3>>2]=qe,D3=(e8|0)>1,D3)e8=_8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(y6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,H3=(s6|0)==(F0|0),!H3)break t;if(e[t3>>2]=qe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=qe+1|0,z5=(Q3|0)<(y6|0),z5)qe=Q3;else{C4=68;break}}if((C4|0)==38)SS(1);else if((C4|0)==68){T=e[be>>2]|0,N=e[me>>2]|0,S5=T,$6=N;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,V5=K8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,G3=l3>>1,v=G3)),e[V5>>2]=v,E6=e[_0>>2]|0,S3=(E6|0)<0,x3=e[B0>>2]|0,S3?M=x3:(b3=(x3|0)<0,b3?M=E6:(a6=x3+E6|0,i6=a6>>1,M=i6)),j5=V5+4|0,e[j5>>2]=M,W0)a4=2;else return A4=V5,C=Ae,A4|0;for(;;)if(L3=a4+-2|0,d3=(o+1032|0)+(L3<<2)|0,J3=e[d3>>2]|0,h6=(o+780|0)+(L3<<2)|0,m3=e[h6>>2]|0,x6=(K+836|0)+(J3<<2)|0,L6=e[x6>>2]|0,M6=(K+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=V5+(J3<<2)|0,N6=e[b6>>2]|0,j6=V5+(m3<<2)|0,v6=e[j6>>2]|0,M3=(K+836|0)+(a4<<2)|0,n6=e[M3>>2]|0,o6=N6&32767,C6=v6&32767,z3=C6-o6|0,R3=S6-L6|0,h8=(z3|0)>-1,Lt=0-z3|0,e6=h8?z3:Lt,R6=n6-L6|0,l6=n5(e6,R6)|0,o3=(l6|0)/(R3|0)&-1,z6=(z3|0)<0,A3=0-o3|0,L=z6?A3:o3,x=L+o6|0,c6=be+(a4<<2)|0,B6=e[c6>>2]|0,F3=(B6|0)<0,H6=me+(a4<<2)|0,D6=e[H6>>2]|0,F3?Q=D6:(G6=(D6|0)<0,G6?Q=B6:(e9=D6+B6|0,Q6=e9>>1,Q=Q6)),X6=(Q|0)<0,U3=(x|0)==(Q|0),M8=X6|U3,r9=x|32768,g=M8?r9:Q,Y6=V5+(a4<<2)|0,e[Y6>>2]=g,o9=a4+1|0,I4=(o9|0)==(y6|0),I4){A4=V5;break}else a4=o9;return C=Ae,A4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0;if(u0=C,h=o+1284|0,m=e[h>>2]|0,x=(a|0)!=0,X=($|0)!=0,d0=x&X,!d0)return t0=0,t0|0;if(z=m<<2,a0=K8(t,z)|0,K=(m|0)>0,!K)return t0=a0,t0|0;for(r0=65536-g|0,q=0;;)if(s0=a+(q<<2)|0,V=e[s0>>2]|0,I=V&32767,E=n5(I,r0)|0,Q=$+(q<<2)|0,B=e[Q>>2]|0,S=B&32767,b=n5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(q<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,T=F&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),Y=q+1|0,o0=(Y|0)==(m|0),o0){t0=a0;break}else q=Y;return t0|0}function ab(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,d3=O6+32|0,U3=O6,D=a+1296|0,y=e[D>>2]|0,h2=a+1284|0,R2=e[h2>>2]|0,$5=o+64|0,s5=e[$5>>2]|0,i3=s5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return q2(t,0,1),T5=o+36|0,t5=e[T5>>2]|0,x5=(t5|0)/2&-1,Z2=x5<<2,g4(g|0,0,Z2|0)|0,m=0,C=O6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;H0=$+(C6<<2)|0,m1=e[H0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(W2=p1>>>4,V6=W2):(U1|0)==1?(X1=p1>>>2,V6=X1):(U1|0)==2?(l2=p1>>>3,V6=l2):(U1|0)==3?(S2=(p1>>>0)/12&-1,V6=S2):V6=p1,I5=m1&32768,b5=I5|V6,e[H0>>2]=b5,Y5=C6+1|0,v6=(Y5|0)==(R2|0),!v6;)C6=Y5;if(g5=e[$>>2]|0,e[U6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(z3=2;;){if(Q5=z3+-2|0,N5=(a+1032|0)+(Q5<<2)|0,m5=e[N5>>2]|0,L5=(a+780|0)+(Q5<<2)|0,q5=e[L5>>2]|0,M5=(y+836|0)+(m5<<2)|0,V2=e[M5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,d5=e[D5>>2]|0,l5=(y+836|0)+(z3<<2)|0,j2=e[l5>>2]|0,d2=T1&32767,w5=d5&32767,i5=w5-d2|0,h5=u5-V2|0,K3=(i5|0)>-1,r9=0-i5|0,z2=K3?i5:r9,f5=j2-V2|0,r5=n5(z2,f5)|0,R5=(r5|0)/(h5|0)&-1,X2=(i5|0)<0,c5=0-R5|0,E=X2?c5:R5,I=E+d2|0,F2=$+(z3<<2)|0,v5=e[F2>>2]|0,J5=v5&32768,E5=(J5|0)!=0,I3=(v5|0)==(I|0),g9=E5|I3,g9)h3=I|32768,e[F2>>2]=h3,W5=U6+(z3<<2)|0,e[W5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),h=B3?a3:I,G5=v5-I|0,Z5=(G5|0)<0;do if(Z5)if(_3=0-h|0,w3=(G5|0)<(_3|0),w3){X3=G5^-1,q3=h+X3|0,F6=q3;break}else{X5=G5<<1,D3=X5^-1,F6=D3;break}else if(t3=(h|0)>(G5|0),t3){N3=G5<<1,F6=N3;break}else{s6=h+G5|0,F6=s6;break}while(!1);H3=U6+(z3<<2)|0,e[H3>>2]=F6,e[y5>>2]=d2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=z3+1|0,j6=(Q3|0)==(R2|0),j6)break;z3=Q3}S=e[U6>>2]|0,b=e[o5>>2]|0,a6=S,L3=b}else a6=g5,L3=B5;if(q2(t,1,1),z5=a+1308|0,H5=e[z5>>2]|0,V5=H5+1|0,e[z5>>2]=V5,S5=e[y2>>2]|0,Y3=S5+-1|0,U5=H8(Y3)|0,$6=U5<<1,n3=a+1304|0,G3=e[n3>>2]|0,E6=G3+$6|0,e[n3>>2]=E6,S3=e[y2>>2]|0,x3=S3+-1|0,b3=H8(x3)|0,q2(t,a6,b3),i6=e[y2>>2]|0,V3=i6+-1|0,j5=H8(V3)|0,q2(t,L3,j5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,R3=0,l6=2;;){if(F=(y+4|0)+(R3<<2)|0,T=e[F>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,Y=(y+192|0)+(T<<2)|0,X=e[Y>>2]|0,z=1<>2]=0,e[d3+4>>2]=0,e[d3+8>>2]=0,e[d3+12>>2]=0,e[d3+16>>2]=0,e[d3+20>>2]=0,e[d3+24>>2]=0,e[d3+28>>2]=0,K=(X|0)==0,!K){if(e[U3>>2]=0,e[U3+4>>2]=0,e[U3+8>>2]=0,e[U3+12>>2]=0,e[U3+16>>2]=0,e[U3+20>>2]=0,e[U3+24>>2]=0,e[U3+28>>2]=0,r0=(X|0)==31,!r0)for(A3=0;h0=((y+320|0)+(T<<5)|0)+(A3<<2)|0,p0=e[h0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=U3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(z|0),_0;)A3=B0;s0=(G|0)>0;e:do if(s0){if(r0)for(J3=0,x6=0,c6=0;;)if(W0=d3+(c6<<2)|0,M0=e[W0>>2]|0,v0=M0<>2]|0,H6=0;;){if(V=U3+(H6<<2)|0,o0=e[V>>2]|0,d0=(q|0)<(o0|0),d0){A6=H6,P3=31;break}if(t0=H6+1|0,j=(t0|0)<(z|0),j)H6=t0;else{P3=33;break}}if((P3|0)==31?(P3=0,u0=d3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(P3|0)==33&&(P3=0,Q=d3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(J0*56|0)|0,L0=Pu(F0,m3,t)|0,G0=e[R>>2]|0,K0=G0+L0|0,e[R>>2]=K0}if(z0=(G|0)>0,z0)for(F3=0;Z0=d3+(F3<<2)|0,O0=e[Z0>>2]|0,Y0=((y+320|0)+(T<<5)|0)+(O0<<2)|0,s1=e[Y0>>2]|0,V0=(s1|0)>-1,V0&&(i1=F3+l6|0,x0=U6+(i1<<2)|0,o1=e[x0>>2]|0,d1=(a0+(s1*56|0)|0)+4|0,g1=e[d1>>2]|0,h1=(o1|0)<(g1|0),h1&&(u1=a0+(s1*56|0)|0,A1=Pu(u1,o1,t)|0,c1=e[n3>>2]|0,a1=c1+A1|0,e[n3>>2]=a1)),$1=F3+1|0,b6=($1|0)==(G|0),!b6;)F3=$1;if(j0=G+l6|0,E1=R3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)R3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=n5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[h2>>2]|0,D1=(F1|0)>1,D1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(z1=(a+260|0)+(o3<<2)|0,q1=e[z1>>2]|0,H1=$+(q1<<2)|0,Y1=e[H1>>2]|0,V1=Y1&32767,o2=(V1|0)==(Y1|0),o2)if(j1=e[w1>>2]|0,O1=n5(j1,Y1)|0,u2=(y+836|0)+(q1<<2)|0,W1=e[u2>>2]|0,I2=O1-Q6|0,a2=W1-D6|0,e6=(I2|0)>-1,Y6=0-I2|0,C2=e6?I2:Y6,A2=(I2|0)/(a2|0)&-1,K1=I2>>31,i2=K1|1,c2=n5(A2,a2)|0,R6=(c2|0)>-1,o9=0-c2|0,r2=R6?c2:o9,$2=C2-r2|0,e2=(R1|0)>(W1|0),t9=e2?W1:R1,s2=(t9|0)>(D6|0),s2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(t9|0),k2)for(p2=t2,M6=0,_6=Q6;;)if(D2=M6+$2|0,Q2=(D2|0)<(a2|0),G2=Q2?0:i2,L2=Q2?0:a2,S6=D2-L2|0,B=_6+A2|0,P6=B+G2|0,P2=g+(p2<<2)|0,e[P2>>2]=P6,K2=p2+1|0,f6=(K2|0)==(t9|0),f6){o6=W1,G6=W1,X6=O1;break}else p2=K2,M6=S6,_6=P6;else o6=W1,G6=W1,X6=O1;else o6=n6,G6=D6,X6=Q6;if(O2=o3+1|0,J2=e[h2>>2]|0,U2=(O2|0)<(J2|0),U2)n6=o6,o3=O2,D6=G6,Q6=X6;else{M3=o6,e9=X6;break}}else M3=0,e9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(M3|0)<(G1|0),x1)z6=M3;else return m=1,C=O6,m|0;for(;;)if(H2=g+(z6<<2)|0,e[H2>>2]=e9,A5=z6+1|0,Y2=e[P1>>2]|0,N1=(Y2|0)/2&-1,e5=(A5|0)<(N1|0),e5)z6=A5;else{m=1;break}return C=O6,m|0}function bC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,h1=+s[Z0>>2],i2=0,e2=0,m2=0,S2=0,P2=0,J2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,D1=e[B1>>2]|0,o2=(t+(e2*56|0)|0)+28|0,S=e[o2>>2]|0,T=S+D1|0,V=+(T|0),o0=V*h1,q=S+1|0,d0=+(q|0),t0=o0/d0,j=t0,u0=j+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,W=+(l0|0),m0=(t+(e2*56|0)|0)+8|0,g0=e[m0>>2]|0,f0=+(g0|0),n0=f0*u0,h0=W+S2,p0=h0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+J2,W0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),P0=(t+(e2*56|0)|0)+16|0,q0=e[P0>>2]|0,k0=+(q0|0),J0=k0*u0,F0=T0+m2,L0=F0+J0,G0=(t+(e2*56|0)|0)+48|0,K0=e[G0>>2]|0,z0=+(K0|0),H0=(t+(e2*56|0)|0)+24|0,O0=e[H0>>2]|0,Y0=+(O0|0),s1=Y0*u0,V0=z0+P2,i1=V0+s1,x0=+(D1|0),o1=+(S|0),d1=u0*o1,g1=x0+i2,m1=g1+d1,u1=e2+1|0,$2=(u1|0)==(o|0),$2){l2=m1,s2=L0,D2=p0,L2=i1,O2=W0;break}else i2=m1,e2=u1,m2=L0,S2=p0,P2=i1,J2=W0;else l2=0,s2=0,D2=0,L2=0,O2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(Q|0),$1=D2+a1,j0=+(A1|0),E1=j0+O2,I1=n5(Q,Q)|0,Q1=+(I1|0),p1=s2+Q1,w1=n5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=l2+1,c2=L1,t2=p1,Q2=$1,p2=k1,U2=E1):(c2=l2,t2=s2,Q2=D2,p2=L2,U2=O2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(Q0|0),R1=Q2+_1,F1=+(M1|0),U1=F1+U2,P1=n5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=n5(M1,Q0)|0,z1=+(x1|0),q1=z1+p2,H1=c2+1,r2=H1,k2=G1,G2=R1,K2=q1,H2=U1):(r2=c2,k2=t2,G2=Q2,K2=p2,H2=U2),Y1=k2*r2,V1=G2*G2,X1=Y1-V1,j1=X1>0,j1?(O1=H2*k2,u2=G2*K2,W1=O1-u2,I2=W1/X1,a2=K2*r2,C2=G2*H2,A2=a2-C2,K1=A2/X1,h2=+(Q|0),b=K1*h2,v=b+I2,w=+K7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+I2,L=+K7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,N=(F|0)>1023,N?(e[a>>2]=1023,m=e[$>>2]|0,G=m,r0=1023):(G=R,r0=F),Y=(G|0)>1023,Y?(e[$>>2]=1023,I=e[a>>2]|0,X=I,s0=1023):(X=r0,s0=G),z=(X|0)<0,z?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,K=(a0|0)<0,K?(e[$>>2]=0,h=0,h|0):(h=0,h|0)):(e[a>>2]=0,e[$>>2]=0,h=1,h|0)}function Ab(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,K=e[t>>2]|0,q2(o,K,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,K0=0,V0=-1;;)if(B=N0+(K0<<2)|0,S=e[B>>2]|0,q2(o,S,4),b=e[B>>2]|0,v=(V0|0)<(b|0),a=v?b:V0,w=K0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)K0=w,V0=a;else{$=a;break}if(q0=($|0)>-1,q0)for(k0=t+128|0,J0=t+192|0,E=t+256|0,Q=t+320|0,z0=0;;){if(x=k0+(z0<<2)|0,L=e[x>>2]|0,R=L+-1|0,q2(o,R,3),F=J0+(z0<<2)|0,T=e[F>>2]|0,q2(o,T,2),N=e[F>>2]|0,G=(N|0)==0,G?(Z0=0,i1=8):(Y=E+(z0<<2)|0,X=e[Y>>2]|0,q2(o,X,8),g=e[F>>2]|0,z=(g|0)==31,z||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(z0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,q2(o,s0,8),V=Z0+1|0,o0=e[F>>2]|0,q=1<>2]|0,c0=u0+-1|0,q2(o,c0,2),l0=M+-1|0,W=H8(l0)|0,q2(o,W,4),m0=H8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,h0=t+128|0,P0=g0,F0=0,H0=0,O0=0;;){if(p0=n0+(H0<<2)|0,C0=e[p0>>2]|0,S0=h0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(O0|0)<(E0|0),y0){for(s1=O0;w0=s1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,q2(o,_0,m0),W0=s1+1|0,L0=(W0|0)==(E0|0),!L0;)s1=W0;h=e[t>>2]|0,T0=h,Y0=E0}else T0=P0,Y0=O0;if(M0=H0+1|0,v0=(M0|0)<(T0|0),v0)P0=T0,F0=E0,H0=M0,O0=Y0;else break}}function $b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,z=ce(1,1120)|0,u0=r4(o,5)|0,e[z>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=z+4|0,Z1=0,o2=-1;;){if(L=r4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(T=(o2|0)<(L|0),g=T?L:o2,N=Z1+1|0,G=e[z>>2]|0,Y=(N|0)<(G|0),Y)Z1=N,o2=g;else{h=g;break}}if(z0=(h|0)>-1,z0)for(g1=z+128|0,Q1=z+192|0,F1=z+256|0,x=y+24|0,M=z+320|0,G1=0;;){if(X=r4(o,3)|0,a0=X+1|0,K=g1+(G1<<2)|0,e[K>>2]=a0,r0=r4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,V=(r0|0)<0,V||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,t0=I):(q=r4(o,8)|0,d0=F1+(G1<<2)|0,e[d0>>2]=q,t0=q),j=(t0|0)<0,j)||(c0=e[x>>2]|0,$0=(t0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,W=(l0|0)==31,!W)for(H1=0;;){if(h0=r4(o,8)|0,p0=h0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(h0|0)<0,Q0||(b0=e[x>>2]|0,E0=(h0|0)>(b0|0),f0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=_0,M0=r4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[z>>2]|0,P0=(N0|0)>0,P0)for(q0=z+4|0,k0=z+128|0,J0=z+836|0,F0=1<>2]|0,K0=k0+(G0<<2)|0,H0=e[K0>>2]|0,Z0=H0+P1|0,O0=(Z0|0)>63,O0)break e;if(Y0=(Y1|0)<(Z0|0),Y0){for(X1=Y1;;){if(s1=r4(o,M0)|0,V0=X1+2|0,i1=J0+(V0<<2)|0,e[i1>>2]=s1,x0=(s1|0)>-1,o1=(s1|0)<(F0|0),j1=x0&o1,!j1)break e;if(d1=X1+1|0,m1=(d1|0)<(Z0|0),m1)X1=d1;else{$=d1;break}}B=e[z>>2]|0,A1=B,V1=$}else A1=U1,V1=Y1;if(h1=x1+1|0,u1=(h1|0)<(A1|0),u1)U1=A1,P1=Z0,x1=h1,Y1=V1;else{E=J0,Q=F0,D1=Z0;break}}else v=z+836|0,w=1<>2]=0,c1=z+840|0,e[c1>>2]=Q,a1=D1+2|0,$1=(D1|0)>-2,$1)for(z1=0;j0=E+(z1<<2)|0,E1=O1+(z1<<2)|0,e[E1>>2]=j0,I1=z1+1|0,p1=(I1|0)<(a1|0),p1;)z1=I1;qu(O1,a1,4,8),B1=(a1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,b1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),w1=q1+1|0,!_1;)if(v1=(w1|0)<(a1|0),v1)b1=M1,q1=w1;else break t;if(R1=(z|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=z,C=W1,a|0}while(!1);return E2(z),a=0,C=W1,a|0}function lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=ce(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,X=o+840|0,j=e[X>>2]|0,p0=$+1288|0,e[p0>>2]=j,M0=e[o>>2]|0,K0=(M0|0)>0,K0){for(V0=o+4|0,h=o+128|0,h1=0,k1=0;;)if(m=V0+(h1<<2)|0,I=e[m>>2]|0,E=h+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=h1+1|0,b=(S|0)<(M0|0),b)h1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,_1=7):(qu(b1,v,4,8),w1=a)}else s1=$+1284|0,e[s1>>2]=2,F=2,v1=0,_1=7;if((_1|0)==7){for(u1=0;x=D+(u1<<2)|0,M=b1+(u1<<2)|0,e[M>>2]=x,L=u1+1|0,R=(L|0)<(F|0),R;)u1=L;for(qu(b1,F,4,8),T=D,N=$+260|0,A1=0;z=b1+(A1<<2)|0,a0=e[z>>2]|0,K=a0,r0=K-T|0,s0=r0>>2,V=N+(A1<<2)|0,e[V>>2]=s0,o0=A1+1|0,q=(o0|0)<(F|0),q;)A1=o0;for(G=$+260|0,Y=$+520|0,c1=0;t0=G+(c1<<2)|0,u0=e[t0>>2]|0,c0=Y+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(F|0),l0;)c1=$0;for(d0=$+260|0,a1=0;;)if(W=d0+(a1<<2)|0,m0=e[W>>2]|0,g0=D+(m0<<2)|0,f0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=f0,h0=a1+1|0,C0=(h0|0)<(F|0),C0)a1=h0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,W0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,P0=e[p0>>2]|0,x0=1,g1=P0,j0=0,E1=0,p1=0;;)if(q0=D+(j0<<2)|0,k0=e[q0>>2]|0,J0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=J0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(g1|0),G0=(k0|0)>(N0|0),M1=L0&G0,o1=M1?j0:x0,m1=M1?k0:g1,z0=j0+1|0,H0=(z0|0)<(v0|0),H0)x0=o1,g1=m1,j0=z0,E1=I1,p1=B1;else{d1=o1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,O0=W0+($1<<2)|0,e[O0>>2]=d1,Y0=$1+1|0,i1=(Y0|0)==(w1|0),i1)break;$1=Y0}return C=R1,$|0}function cb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function gb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function ub(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,h=o+1296|0,m=e[h>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,P0=b0+4|0,O0=e[P0>>2]|0,u1=O0+28|0,w1=e[u1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=r4(I,1)|0,K=(M|0)==1,!K)return a=0,a|0;q=o+1284|0,d0=e[q>>2]|0,t0=d0<<2,j=K8(t,t0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,W=H8($0)|0,m0=r4(I,W)|0,e[j>>2]=m0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=H8(f0)|0,h0=r4(I,n0)|0,p0=j+4|0,e[p0>>2]=h0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,s2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,W0=(m+128|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(J0*56|0)|0,L0=aE(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(K0=(M0|0)>0,K0)for(z0=N0+-1|0,c2=i2,m2=0;;){if(H0=c2&z0,Z0=((m+320|0)+(_0<<5)|0)+(H0<<2)|0,Y0=e[Z0>>2]|0,s1=c2>>T0,V0=(Y0|0)>-1,V0){if(i1=j1+(Y0*56|0)|0,x0=aE(i1,I)|0,o1=m2+s2|0,d1=j+(o1<<2)|0,e[d1>>2]=x0,g1=(x0|0)==-1,g1){a=0,D2=25;break t}}else m1=m2+s2|0,h1=j+(m1<<2)|0,e[h1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(M0|0),c1)c2=s1,m2=A1;else break}if(a1=M0+s2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,s2=a1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[q>>2]|0,E0=(Q0|0)>2,!E0)return a=j,a|0;for(y0=o+1032|0,w0=o+780|0,$2=2;;){if(I1=$2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=j+(p1<<2)|0,R1=e[_1>>2]|0,F1=j+(L1<<2)|0,U1=e[F1>>2]|0,D1=(m+836|0)+($2<<2)|0,Z1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,z1=x1-G1|0,q1=b1-v1|0,e2=(z1|0)>-1,t2=0-z1|0,H1=e2?z1:t2,Y1=Z1-v1|0,V1=n5(H1,Y1)|0,X1=(V1|0)/(q1|0)&-1,o2=(z1|0)<0,O1=0-X1|0,g=o2?O1:X1,$=g+G1|0,u2=e[u0>>2]|0,W1=u2-$|0,I2=j+($2<<2)|0,a2=e[I2>>2]|0,C2=(a2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{A2=(W1|0)<($|0),K1=A2?W1:$,h2=K1<<1,l2=(a2|0)<(h2|0);do if(l2)if(b=a2&1,v=(b|0)==0,v){x=a2>>1,k2=x;break}else{w=a2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=a2-$|0,k2=Q;break}else{B=a2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[I2>>2]=R,F=e[Q1>>2]|0,T=j+(F<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,Y=e[k1>>2]|0,X=j+(Y<<2)|0,z=e[X>>2]|0,a0=z&32767,e[X>>2]=a0}if(s0=$2+1|0,V=e[q>>2]|0,o0=(s0|0)<(V|0),o0)$2=s0;else{a=j;break}}return a|0}function db(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,K=e[M>>2]|0,$0=K+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,g1=t+28|0,m1=e[g1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return d1=B<<2,g4($|0,0,d1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=n5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,T=e[F>>2]|0,N=(T|0)>1,N)for(G=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=G+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,V=e[s0>>2]|0,o0=V&32767,q=(o0|0)==(V|0),q)if(d0=(I+836|0)+(r0<<2)|0,t0=e[d0>>2]|0,j=n5(w,V)|0,u0=(j|0)<0,c0=(j|0)>255,l0=c0?255:j,W=u0?0:l0,m0=W-k1|0,g0=t0-B1|0,E1=(m0|0)>-1,M1=0-m0|0,f0=E1?m0:M1,n0=(m0|0)/(g0|0)&-1,h0=m0>>31,p0=h0|1,C0=n5(n0,g0)|0,I1=(C0|0)>-1,b1=0-C0|0,S0=I1?C0:b1,b0=f0-S0|0,E0=(B|0)>(t0|0),_1=E0?t0:B,y0=(_1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,W0=+s[_0>>2],M0=W0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(_1|0),T0)for(K0=v0,h1=0,R1=k1;;)if(P0=h1+b0|0,q0=(P0|0)<(g0|0),k0=q0?0:p0,J0=q0?0:g0,u1=P0-J0|0,h=R1+n0|0,F1=h+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(K0<<2)|0,z0=+s[G0>>2],H0=z0*L0,s[G0>>2]=H0,O0=K0+1|0,c1=(O0|0)==(_1|0),c1){j0=t0,w1=t0,L1=W;break}else K0=O0,h1=u1,R1=F1;else j0=t0,w1=t0,L1=W;else j0=$1,w1=B1,L1=k1;if(Y0=Q1+1|0,s1=(Y0|0)<(T|0),s1)$1=j0,Q1=Y0,B1=w1,k1=L1;else{a1=j0,v1=L1;break}}else a1=0,v1=R;if(Y=(a1|0)<(B|0),!Y)return g=1,g|0;for(X=1768+(v1<<2)|0,z=+s[X>>2],p1=a1;;)if(V0=$+(p1<<2)|0,i1=+s[V0>>2],x0=i1*z,s[V0>>2]=x0,o1=p1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else p1=o1;return g|0}function hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$-h|0,m|0}function fb(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function Ib(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0;u0=C,g=ol(o|0)|0,h=ol(a|0)|0,y=g+2|0,z=y+h|0,$=z,K=C,C=C+((1*$|0)+15&-16)|0,MC(K|0,o|0)|0,t0=ol(K|0)|0,d0=K+t0|0,f[d0>>0]=61,f[d0+1>>0]=0,YQ(K|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,V=e[s0>>2]|0,o0=V<<2,q=o0+8|0,m=W7(r0,q)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=W7(E,S)|0,e[I>>2]=b,v=ol(K|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=R9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,T=F+(w<<2)|0,N=e[T>>2]|0,MC(N|0,K|0)|0,G=e[s0>>2]|0,Y=G+1|0,e[s0>>2]=Y,X=e[t>>2]|0,a0=X+(Y<<2)|0,e[a0>>2]=0,C=u0}function mb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0;if(z=C,g=(t|0)==0,!g){if(h=e[t>>2]|0,y=(h|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,T=h,Y=0;F=T+(Y<<2)|0,N=e[F>>2]|0,G=(N|0)==0,G?E=x:(E2(N),a=e[M>>2]|0,E=a),m=Y+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,T=o,Y=m;$=e[t>>2]|0,Q=$}else Q=h;E2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||E2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function pb(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=ce(1,3664)|0,a=t+28|0,e[a>>2]=o}function DC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,h=t+28|0,m=e[h>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(h1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?S=h1:(E2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)h1=S,$1=Q;if(T0=m+12|0,H0=e[T0>>2]|0,m1=(H0|0)>0,m1)for(u1=H0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?z=u1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,T=e[F>>2]|0,N=T+8|0,G=e[N>>2]|0,as[G&7](y),a=e[T0>>2]|0,z=a),Y=j0+1|0,X=(Y|0)<(z|0),X;)u1=z,j0=Y;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;V=(m+1056|0)+(E1<<2)|0,o0=e[V>>2]|0,q=(o0|0)==0,q?g0=A1:(d0=(m+800|0)+(E1<<2)|0,t0=e[d0>>2]|0,j=25640+(t0<<2)|0,u0=e[j>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[b>>2]|0,g0=$),W=E1+1|0,m0=(W|0)<(g0|0),m0;)A1=g0,E1=W;if(K=m+20|0,r0=e[K>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=c1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,W0=e[_0>>2]|0,as[W0&7](Q0),g=e[K>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)c1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,h0=(n0|0)>0,p0=m+2848|0,h0)for(Q1=0;P0=(m+1824|0)+(Q1<<2)|0,q0=e[P0>>2]|0,k0=(q0|0)==0,k0||LC(q0),J0=e[p0>>2]|0,F0=(J0|0)==0,F0||(L0=J0+(Q1*56|0)|0,Zb(L0)),G0=Q1+1|0,K0=e[f0>>2]|0,z0=(G0|0)<(K0|0),z0;)Q1=G0;if(Z0=e[p0>>2]|0,O0=(Z0|0)==0,O0||E2(Z0),Y0=m+28|0,s1=e[Y0>>2]|0,V0=(s1|0)>0,V0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,Db(x0),o1=p1+1|0,d1=e[Y0>>2]|0,g1=(o1|0)<(d1|0),g1;)p1=o1;E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function Eb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0;if(j2=C,C=C+32|0,T1=j2,E=t+4|0,Q=e[E>>2]|0,c1=t+104|0,k1=e[c1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,h=-129,C=j2,h|0;if(u2=Q+4|0,r2=e[u2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(wC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,V=(F|0)<64,V)D5=-130,l5=27;else if(m0=B5+4|0,y0=e[m0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{q2(T1,1,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),q2(T1,0,32),s1=e[u2>>2]|0,q2(T1,s1,8),h1=Q+8|0,u1=e[h1>>2]|0,q2(T1,u1,32),A1=Q+12|0,a1=e[A1>>2]|0,q2(T1,a1,32),$1=Q+16|0,j0=e[$1>>2]|0,q2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,q2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=H8(p1)|0,q2(T1,B1,4),w1=e[m0>>2]|0,v1=w1+-1|0,L1=H8(v1)|0,q2(T1,L1,4),q2(T1,1,1),M1=k1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=D8(T1)|0,F1=R9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=D8(T1)|0,ge(F1|0,D1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=D8(T1)|0,z1=a+4|0,e[z1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),Cb(T1,o),Y1=k1+68|0,V1=e[Y1>>2]|0,X1=(V1|0)==0,X1||E2(V1),o2=D8(T1)|0,j1=R9(o2)|0,e[Y1>>2]=j1,O1=e[U1>>2]|0,W1=D8(T1)|0,ge(j1|0,O1|0,W1|0)|0,I2=e[Y1>>2]|0,e[$>>2]=I2,a2=D8(T1)|0,C2=$+4|0,e[C2>>2]=a2,A2=$+8|0,K1=$+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,l2=h2,e[l2>>2]=1,i2=h2+4|0,c2=i2,e[c2>>2]=0,mi(T1),$2=e[N1>>2]|0,e2=($2|0)==0;e:do if(!e2){if(q2(T1,5,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),s2=$2+24|0,m2=e[s2>>2]|0,t2=m2+-1|0,q2(T1,t2,8),k2=e[s2>>2]|0,D2=(k2|0)>0,D2)for(V2=0;;){if(P2=($2+1824|0)+(V2<<2)|0,p2=e[P2>>2]|0,K2=ZS(p2,T1)|0,O2=(K2|0)==0,Q2=V2+1|0,!O2)break e;if(S2=e[s2>>2]|0,G2=(Q2|0)<(S2|0),G2)V2=Q2;else break}if(q2(T1,0,6),q2(T1,0,16),J2=$2+16|0,U2=e[J2>>2]|0,H2=U2+-1|0,q2(T1,H2,6),W2=e[J2>>2]|0,A5=(W2|0)>0,A5)for(p5=0;;){if(Y2=($2+800|0)+(p5<<2)|0,e5=e[Y2>>2]|0,q2(T1,e5,16),T5=e[Y2>>2]|0,t5=25640+(T5<<2)|0,x5=e[t5>>2]|0,Z2=e[x5>>2]|0,I5=(Z2|0)==0,I5)break e;if(b5=($2+1056|0)+(p5<<2)|0,Y5=e[b5>>2]|0,NC[Z2&3](Y5,T1),g5=p5+1|0,b2=e[J2>>2]|0,o5=(g5|0)<(b2|0),o5)p5=g5;else break}if(R2=$2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,q2(T1,y2,6),Q5=e[R2>>2]|0,N5=(Q5|0)>0,N5)for($5=0;m5=($2+1312|0)+($5<<2)|0,L5=e[m5>>2]|0,q2(T1,L5,16),q5=e[m5>>2]|0,M5=25648+(q5<<2)|0,S=e[M5>>2]|0,b=e[S>>2]|0,v=($2+1568|0)+($5<<2)|0,w=e[v>>2]|0,NC[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=$2+12|0,L=e[M>>2]|0,R=L+-1|0,q2(T1,R,6),T=e[M>>2]|0,N=(T|0)>0,N)for(u5=0;G=($2+288|0)+(u5<<2)|0,Y=e[G>>2]|0,q2(T1,Y,16),X=e[G>>2]|0,z=25664+(X<<2)|0,a0=e[z>>2]|0,K=e[a0>>2]|0,r0=($2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,ZQ[K&1](Q,s0,T1),o0=u5+1|0,q=e[M>>2]|0,d0=(o0|0)<(q|0),d0;)u5=o0;if(t0=$2+8|0,j=e[t0>>2]|0,u0=j+-1|0,q2(T1,u0,6),c0=e[t0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=($2+32|0)+(y5<<2)|0,W=e[l0>>2]|0,g0=e[W>>2]|0,q2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,h0=e[n0>>2]|0,q2(T1,h0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,q2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,q2(T1,E0,8),w0=y5+1|0,B0=e[t0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return q2(T1,1,1),W0=k1+72|0,M0=e[W0>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=D8(T1)|0,N0=R9(T0)|0,e[W0>>2]=N0,P0=e[U1>>2]|0,q0=D8(T1)|0,ge(N0|0,P0|0,q0|0)|0,J0=e[W0>>2]|0,e[g>>2]=J0,F0=D8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,K0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,z0=K0,H0=z0,e[H0>>2]=2,Z0=z0+4|0,O0=Z0,e[O0>>2]=0,vC(T1),h=0,C=j2,h|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,d5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,d5=D5),vC(T1),Y0=e[I>>2]|0,V0=(Y0|0)==0,V0||E2(Y0),i1=k1+68|0,x0=e[i1>>2]|0,o1=(x0|0)==0,o1||E2(x0),d1=k1+72|0,g1=e[d1>>2]|0,m1=(g1|0)==0,m1||E2(g1),e[I>>2]=0,e[i1>>2]=0,e[d1>>2]=0,h=d5,C=j2,h|0}function Cb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0;for($0=C,q2(t,3,8),q2(t,118,8),q2(t,111,8),q2(t,114,8),q2(t,98,8),q2(t,105,8),q2(t,115,8),q2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,K=M<<24>>24,q2(t,K,8),V=(m|0)==0,!V;)a=I,g=m;if(o0=o+8|0,q=e[o0>>2]|0,q2(t,q,32),d0=e[o0>>2]|0,t0=(d0|0)>0,!t0){q2(t,1,1);return}for(j=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)q2(t,0,32);else if(b=e[j>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,q2(t,w,32),D=e[j>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,T=e[F>>2]|0,$=T,h=x;N=h+-1|0,G=$+1|0,Y=f[$>>0]|0,X=Y<<24>>24,q2(t,X,8),z=(N|0)==0,!z;)$=G,h=N;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}q2(t,1,1)}function yQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0;if(V1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,h=s0,W=C,C=C+((1*h|0)+15&-16)|0,E0=(E|0)==0,E0)N=0;else{for(q0=$;;){if(Y0=(q0|0)<(a|0),Y0)for(Q1=0,R1=q0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-q0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(q0<<3)|0,l1[M>>3]=I1,L=q0+-1|0,F=(q0|0)==0,F)break;q0=L}I=+l1[R>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,Y=G+1e-10,X=($|0)>0,X)B1=T,F1=0;else return k1=T,j0=k1,C=V1,+j0;for(;;){if(D1=F1+1|0,z=B1>3],q=-o0,d0=(F1|0)>0,d0){for(P1=0,q1=q;;)if(u0=W+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,f0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=f0;break}else P1=n0,q1=f0;if(h0=m/B1,p0=W+(F1<<3)|0,l1[p0>>3]=h0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=W+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=W+(B0<<3)|0,W0=+l1[_0>>3],M0=W0*h0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*h0,N0=+l1[_0>>3],P0=N0+T0,l1[_0>>3]=P0,k0=G1+1|0,J0=(k0|0)<(C0|0),J0;)G1=k0;H1=b0?C0:1,H0=h0,Z1=H1}else H0=h0,Z1=0}else t0=q/B1,j=W+(F1<<3)|0,l1[j>>3]=t0,H0=t0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=W+(Z1<<3)|0,K0=+l1[G0>>3],z0=K0*H0,Z0=z0+K0,l1[G0>>3]=Z0),O0=H0*H0,s1=1-O0,V0=s1*B1,i1=(D1|0)<($|0),i1)B1=V0,F1=D1;else{v1=V0;break}}if((Y1|0)==8&&(a0=W+(U1<<3)|0,K=$-U1|0,r0=K<<3,g4(a0|0,0,r0|0)|0,v1=w1),X)p1=.99,x1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;x0=W+(x1<<3)|0,o1=+l1[x0>>3],d1=o1*p1,l1[x0>>3]=d1,g1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=g1,x1=m1;if(X)z1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;;)if(h1=W+(z1<<3)|0,u1=+l1[h1>>3],c1=u1,a1=o+(z1<<2)|0,s[a1>>2]=c1,$1=z1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else z1=$1;return j0=k1,C=V1,+j0}function wQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0;if(j=C,I=g+a|0,E=I<<2,h=E,L=C,C=C+((1*h|0)+15&-16)|0,F=(o|0)==0,T=(a|0)>0,F?T&&(G=a<<2,g4(L|0,0,G|0)|0):T&&(N=a<<2,ge(L|0,o|0,N|0)|0),Y=(g|0)>0,!Y){C=j;return}if(X=(a|0)>0,X)r0=0,s0=a;else{z=g<<2,g4(L|0,0,z|0)|0,g4($|0,0,z|0)|0,C=j;return}for(;;){for(o0=r0,q=a,d0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=q+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=d0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,q=D,d0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,V=s0+1|0,K=(S|0)==(g|0),K)break;r0=S,s0=V}C=j}function Bb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,h=(g|0)>1,h?(q2(a,1,1),y=e[o>>2]|0,z=y+-1|0,q2(a,z,4)):q2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(q2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,q2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=H8(v)|0,q2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=H8(L)|0,q2(a,x,R),F=E0+1|0,T=e[u0>>2]|0,N=(F|0)<(T|0),N;)E0=F}else q2(a,0,1);if(q2(a,0,2),G=e[o>>2]|0,Y=(G|0)>1,Y){if(X=t+4|0,a0=e[X>>2]|0,K=(a0|0)>0,K){for(r0=o+4|0,y0=0;d0=r0+(y0<<2)|0,t0=e[d0>>2]|0,q2(a,t0,4),j=y0+1|0,c0=e[X>>2]|0,$0=(j|0)<(c0|0),$0;)y0=j;$=e[o>>2]|0,s0=$,B0=13}}else s0=G,B0=13;if(!((B0|0)==13&&(V=(s0|0)>0,!V)))for(o0=o+1028|0,q=o+1092|0,w0=0;q2(a,0,8),l0=o0+(w0<<2)|0,W=e[l0>>2]|0,q2(a,W,8),m0=q+(w0<<2)|0,g0=e[m0>>2]|0,q2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,h0=(f0|0)<(n0|0),h0;)w0=f0}function Qb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0;a1=C,g=ce(1,3208)|0,h=t+28|0,y=e[h>>2]|0,g4(g|0,0,3208)|0,z=t+4|0,u0=e[z>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=r4(o,1)|0,z0=(v0|0)<0,z0)c1=24;else{if(V0=(v0|0)==0,V0)e[g>>2]=1;else if(i1=r4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=r4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=r4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[z>>2]|0,T=$,x0=0;;){if(F=T+-1|0,N=H8(F)|0,G=r4(o,N)|0,Y=D+(x0<<2)|0,e[Y>>2]=G,X=e[z>>2]|0,a0=X+-1|0,K=H8(a0)|0,r0=r4(o,K)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,V=r0|G,o0=(V|0)<0,q=(G|0)==(r0|0),g1=q|o0,g1||(d0=e[z>>2]|0,t0=(G|0)<(d0|0),j=(r0|0)<(d0|0),m1=t0&j,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)T=d0,x0=L;else break}}if(c0=r4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,W=(l0|0)>1,W){if(m0=e[z>>2]|0,g0=(m0|0)>0,g0)for(f0=g+4|0,o1=0;;){if(B0=r4(o,4)|0,_0=f0+(o1<<2)|0,e[_0>>2]=B0,W0=e[g>>2]|0,M0=(B0|0)>=(W0|0),T0=(B0|0)<0,h1=T0|M0,y0=o1+1|0,h1)break e;if(E0=e[z>>2]|0,w0=(y0|0)<(E0|0),w0)o1=y0;else{n0=W0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(h0=(n0|0)>0,!h0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,d1=0;;){if(r4(o,8)|0,k0=r4(o,8)|0,J0=p0+(d1<<2)|0,e[J0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,u1=G0|L0,u1||(K0=r4(o,8)|0,H0=Q0+(d1<<2)|0,e[H0>>2]=K0,Z0=e[b0>>2]|0,O0=(K0|0)>=(Z0|0),Y0=(K0|0)<0,A1=Y0|O0,P0=d1+1|0,A1))break e;if(N0=e[g>>2]|0,q0=(P0|0)<(N0|0),q0)d1=P0;else{a=g;break}}return a|0}}}while(!1);return(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function yb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function wb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,W8=0,R8=0,u8=0,F8=0,c4=0,V8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0,As=0,Jn=0,$s=0,zn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,ds=0,hs=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,or=0,Ns=0,lo=0,dn=0,co=0,hn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,sr=0,Dr=0,Z7=0,_r=0,mo=0,j7=0,b7=0,D7=0,i7=0,_7=0,xr=0,ar=0,Ar=0,Lr=0,E7=0,Os=0,fi=0,al=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,V3=e[i2>>2]|0,Te=V3+28|0,je=e[Te>>2]|0,Bs=M+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,dn=e[Ms>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=V3+4|0,b0=e[l0>>2]|0,P0=b0<<2,$=P0,O0=C,C=C+((1*$|0)+15&-16)|0,u1=K8(t,P0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=K8(t,P1)|0,c2=e[l0>>2]|0,G2=c2<<2,Y2=K8(t,G2)|0,b2=dn+4|0,M5=+s[b2>>2],d2=e[l0>>2]|0,F2=d2<<2,g=F2,G5=C,C=C+((1*g|0)+15&-16)|0,N3=dn+8|0,U5=e[N3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,K3=(je+544|0)+(f6<<2)|0,A6=e[K3>>2]|0,U6=m7+56|0,B9=e[U6>>2]|0,we=(f6|0)!=0,de=we?2:0,D=de+U5|0,he=B9+(D*52|0)|0,ze=t+40|0,e[ze>>2]=f6,d4=(d2|0)>0,d4)for(Ie=+(r0|0),W3=4/Ie,m8=(s[w2>>2]=W3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),De=ct*7177114298428933e-22,j4=De+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,z8=$i+-764.6162109375,nn=r0+-1|0,us=(nn|0)>1,eo=$i+-382.30810546875,_r=M5,j7=0;;){if(Qs=e[t>>2]|0,ln=Qs+(j7<<2)|0,I7=e[ln>>2]|0,ro=K8(t,Lt)|0,ys=j1+(j7<<2)|0,e[ys>>2]=ro,ws=K8(t,Lt)|0,no=u1+(j7<<2)|0,e[no>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,oD(I7,li,je,oo,so,vs),cn=e[j5>>2]|0,ks=(m7+12|0)+(cn<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[no>>2]|0,vQ(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,eD(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=z8+$o,Fs=Rs,gn=Fs+.345,kr=gn,s[I7>>2]=kr,un=G5+(j7<<2)|0,s[un>>2]=kr,us)for(Y=kr,xr=1;;)if(Ts=I7+(xr<<2)|0,or=+s[Ts>>2],Ns=or*or,lo=xr+1|0,co=I7+(lo<<2)|0,hn=+s[co>>2],Gs=hn*hn,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,Sr=Ps,R=Sr+.345,F=R,T=lo>>1,N=I7+(T<<2)|0,s[N>>2]=F,G=F>Y,G?(s[un>>2]=F,vr=F):vr=Y,X=xr+2|0,z=(X|0)<(nn|0),z)Y=vr,xr=X;else{K=vr;break}else K=kr;if(a0=K>0,a0?(s[un>>2]=0,V=0):V=K,s0=V>_r,mo=s0?V:_r,o0=j7+1|0,q=e[l0>>2]|0,d0=(o0|0)<(q|0),d0)_r=mo,j7=o0;else{Q=Lt,S=_t,Z7=mo;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,Z7=M5;t0=K8(t,Q)|0,j=K8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,W=m7+48|0,$0)D7=0;else{for(b7=0;;){o6=(A6+4|0)+(b7<<2)|0,C6=e[o6>>2]|0,z3=u1+(b7<<2)|0,R3=e[z3>>2]|0,e6=e[t>>2]|0,R6=e6+(b7<<2)|0,l6=e[R6>>2]|0,o3=l6+(S<<2)|0,e[ze>>2]=f6,z6=K8(t,60)|0,A3=Y2+(b7<<2)|0,e[A3>>2]=z6,fi=z6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));if(DQ(he,o3,t0),c6=G5+(b7<<2)|0,B6=+s[c6>>2],_Q(he,l6,j,Z7,B6),nl(he,t0,j,1,l6,R3,o3),F3=(A6+1028|0)+(C6<<2)|0,H6=e[F3>>2]|0,D6=(je+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[W>>2]|0,X6=Q6+(H6<<2)|0,U3=e[X6>>2]|0,r9=rl(t,U3,o3,l6)|0,Y6=e[A3>>2]|0,o9=Y6+28|0,e[o9>>2]=r9,g9=Uu(t)|0,V6=(g9|0)==0,V6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(nl(he,t0,j,2,l6,R3,o3),P3=e[F3>>2]|0,O6=e[W>>2]|0,s9=O6+(P3<<2)|0,d9=e[s9>>2]|0,n9=rl(t,d9,o3,l6)|0,Q9=e[A3>>2]|0,y9=Q9+56|0,e[y9>>2]=n9,nl(he,t0,j,0,l6,R3,o3),h9=e[F3>>2]|0,f9=e[W>>2]|0,Y9=f9+(h9<<2)|0,y6=e[Y9>>2]|0,q6=rl(t,y6,o3,l6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,V9=e[F3>>2]|0,w9=e[W>>2]|0,ue=w9+(V9<<2)|0,Ee=e[ue>>2]|0,J9=e[A3>>2]|0,re=e[J9>>2]|0,F9=J9+28|0,v9=e[F9>>2]|0,K6=Gt(t,Ee,re,v9,9362)|0,A9=e[A3>>2]|0,ve=A9+4|0,e[ve>>2]=K6,Me=e[F3>>2]|0,_9=e[W>>2]|0,Re=_9+(Me<<2)|0,Fe=e[Re>>2]|0,Ue=e[A3>>2]|0,He=e[Ue>>2]|0,n4=Ue+28|0,ke=e[n4>>2]|0,Ye=Gt(t,Fe,He,ke,18724)|0,z9=e[A3>>2]|0,Ve=z9+8|0,e[Ve>>2]=Ye,Pe=e[F3>>2]|0,Ce=e[W>>2]|0,w4=Ce+(Pe<<2)|0,Z9=e[w4>>2]|0,k9=e[A3>>2]|0,v4=e[k9>>2]|0,Y4=k9+28|0,nt=e[Y4>>2]|0,Je=Gt(t,Z9,v4,nt,28086)|0,V4=e[A3>>2]|0,o4=V4+12|0,e[o4>>2]=Je,R4=e[F3>>2]|0,ot=e[W>>2]|0,ne=ot+(R4<<2)|0,u4=e[ne>>2]|0,Be=e[A3>>2]|0,T6=e[Be>>2]|0,Ke=Be+28|0,O9=e[Ke>>2]|0,fe=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,h4=oe+16|0,e[h4>>2]=fe,f4=e[F3>>2]|0,Se=e[W>>2]|0,s4=Se+(f4<<2)|0,Oe=e[s4>>2]|0,I4=e[A3>>2]|0,S9=e[I4>>2]|0,I6=I4+28|0,J4=e[I6>>2]|0,k4=Gt(t,Oe,S9,J4,46811)|0,be=e[A3>>2]|0,me=be+20|0,e[me>>2]=k4,J6=e[F3>>2]|0,F4=e[W>>2]|0,T4=F4+(J6<<2)|0,st=e[T4>>2]|0,pe=e[A3>>2]|0,xe=e[pe>>2]|0,mt=pe+28|0,x9=e[mt>>2]|0,b9=Gt(t,st,xe,x9,56173)|0,qe=e[A3>>2]|0,a4=qe+24|0,e[a4>>2]=b9,h8=e[F3>>2]|0,N4=e[W>>2]|0,f8=N4+(h8<<2)|0,_8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,_8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,x8=e[F3>>2]|0,Ht=e[W>>2]|0,Yt=Ht+(x8<<2)|0,Vt=e[Yt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,Jt=e[pt>>2]|0,zt=xt+56|0,r8=e[zt>>2]|0,n8=Gt(t,Vt,Jt,r8,18724)|0,Et=e[A3>>2]|0,z4=Et+36|0,e[z4>>2]=n8,G4=e[F3>>2]|0,at=e[W>>2]|0,L9=at+(G4<<2)|0,p8=e[L9>>2]|0,S4=e[A3>>2]|0,E8=S4+28|0,L8=e[E8>>2]|0,o8=S4+56|0,M8=e[o8>>2]|0,A4=Gt(t,p8,L8,M8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=A4,At=e[F3>>2]|0,We=e[W>>2]|0,U4=We+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,Qt=e[A3>>2]|0,p4=Qt+44|0,e[p4>>2]=Bt,b4=e[F3>>2]|0,K4=e[W>>2]|0,W4=K4+(b4<<2)|0,ae=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,D4=P4+56|0,yt=e[D4>>2]|0,a8=Gt(t,ae,gt,yt,46811)|0,Ze=e[A3>>2]|0,E3=Ze+48|0,e[E3>>2]=a8,Z4=e[F3>>2]|0,wt=e[W>>2]|0,$4=wt+(Z4<<2)|0,j9=e[$4>>2]|0,l4=e[A3>>2]|0,T9=l4+28|0,Wt=e[T9>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=b7+1|0,ut=e[l0>>2]|0,dt=(jt|0)<(ut|0),dt)b7=jt;else{B=W,Tt=ut;break e}}return C=In,a|0}for(;;){N6=(A6+4|0)+(D7<<2)|0,C0=e[N6>>2]|0,j6=u1+(D7<<2)|0,h0=e[j6>>2]|0,v6=e[t>>2]|0,M3=v6+(D7<<2)|0,n0=e[M3>>2]|0,m0=n0+(S<<2)|0,e[ze>>2]=f6,n6=K8(t,60)|0,v0=Y2+(D7<<2)|0,e[v0>>2]=n6,fi=n6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));for(ar=0;i6=h0+(ar<<2)|0,L3=e[i6>>2]|0,d3=L3&2147483647,J3=+(d3>>>0),h6=J3*7177114298428933e-22,m3=h6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,y=ar+S|0,S6=n0+(y<<2)|0,s[S6>>2]=M6,r6=ar+1|0,b6=(r6|0)<(S|0),b6;)ar=r6;if(DQ(he,m0,t0),g0=G5+(D7<<2)|0,f0=+s[g0>>2],_Q(he,n0,j,Z7,f0),nl(he,t0,j,1,n0,h0,m0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(je+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[W>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,W0=rl(t,_0,m0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=W0,N0=Uu(t)|0,q0=(N0|0)==0,q0||(k0=e[v0>>2]|0,J0=k0+28|0,F0=e[J0>>2]|0,L0=(F0|0)==0,L0||(nl(he,t0,j,2,n0,h0,m0),G0=e[p0>>2]|0,K0=e[W>>2]|0,z0=K0+(G0<<2)|0,H0=e[z0>>2]|0,Z0=rl(t,H0,m0,n0)|0,Y0=e[v0>>2]|0,s1=Y0+56|0,e[s1>>2]=Z0,nl(he,t0,j,0,n0,h0,m0),V0=e[p0>>2]|0,i1=e[W>>2]|0,x0=i1+(V0<<2)|0,o1=e[x0>>2]|0,d1=rl(t,o1,m0,n0)|0,g1=e[v0>>2]|0,e[g1>>2]=d1,m1=e[p0>>2]|0,h1=e[W>>2]|0,A1=h1+(m1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,j0=a1+28|0,E1=e[j0>>2]|0,I1=Gt(t,c1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[W>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,Z1=e[p0>>2]|0,G1=e[W>>2]|0,x1=G1+(Z1<<2)|0,z1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,Y1=q1+28|0,V1=e[Y1>>2]|0,X1=Gt(t,z1,H1,V1,28086)|0,o2=e[v0>>2]|0,O1=o2+12|0,e[O1>>2]=X1,u2=e[p0>>2]|0,W1=e[W>>2]|0,I2=W1+(u2<<2)|0,a2=e[I2>>2]|0,C2=e[v0>>2]|0,A2=e[C2>>2]|0,K1=C2+28|0,h2=e[K1>>2]|0,l2=Gt(t,a2,A2,h2,37449)|0,r2=e[v0>>2]|0,$2=r2+16|0,e[$2>>2]=l2,e2=e[p0>>2]|0,s2=e[W>>2]|0,m2=s2+(e2<<2)|0,t2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,P2=e[v0>>2]|0,p2=P2+20|0,e[p2>>2]=L2,K2=e[p0>>2]|0,O2=e[W>>2]|0,J2=O2+(K2<<2)|0,U2=e[J2>>2]|0,H2=e[v0>>2]|0,W2=e[H2>>2]|0,A5=H2+28|0,N1=e[A5>>2]|0,e5=Gt(t,U2,W2,N1,56173)|0,T5=e[v0>>2]|0,t5=T5+24|0,e[t5>>2]=e5,x5=e[p0>>2]|0,Z2=e[W>>2]|0,I5=Z2+(x5<<2)|0,b5=e[I5>>2]|0,Y5=e[v0>>2]|0,g5=Y5+28|0,B5=e[g5>>2]|0,o5=Y5+56|0,R2=e[o5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,N5=e[p0>>2]|0,m5=e[W>>2]|0,L5=m5+(N5<<2)|0,q5=e[L5>>2]|0,V2=e[v0>>2]|0,p5=V2+28|0,$5=e[p5>>2]|0,u5=V2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,d5=D5+36|0,e[d5>>2]=T1,l5=e[p0>>2]|0,j2=e[W>>2]|0,w5=j2+(l5<<2)|0,i5=e[w5>>2]|0,s5=e[v0>>2]|0,h5=s5+28|0,z2=e[h5>>2]|0,f5=s5+56|0,r5=e[f5>>2]|0,R5=Gt(t,i5,z2,r5,28086)|0,X2=e[v0>>2]|0,c5=X2+40|0,e[c5>>2]=R5,v5=e[p0>>2]|0,J5=e[W>>2]|0,i3=J5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,h3=I3+28|0,W5=e[h3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,W5,a3,37449)|0,Z5=e[v0>>2]|0,_3=Z5+44|0,e[_3>>2]=B3,f3=e[p0>>2]|0,w3=e[W>>2]|0,X3=w3+(f3<<2)|0,q3=e[X3>>2]|0,X5=e[v0>>2]|0,D3=X5+28|0,t3=e[D3>>2]|0,s6=X5+56|0,H3=e[s6>>2]|0,c3=Gt(t,q3,t3,H3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,z5=e[W>>2]|0,H5=z5+(Q3<<2)|0,V5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,G3=Gt(t,V5,$6,l3,56173)|0,E6=e[v0>>2]|0,S3=E6+52|0,e[S3>>2]=G3)),x3=D7+1|0,b3=e[l0>>2]|0,a6=(x3|0)<(b3|0),a6)D7=x3;else{B=W,Tt=b3;break e}}return C=In,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=Z7,Ft=Tt<<2,h=Ft,X4=C,C=C+((1*h|0)+15&-16)|0,m=Ft,D9=C,C=C+((1*m|0)+15&-16)|0,g8=Uu(t)|0,et=(g8|0)!=0,Y8=et?0:7,W8=m7+44|0,R8=t+24|0,u8=t+32|0,F8=je+2868|0,V8=m7+52|0,E7=Y8;;){if(Z8=(dn+12|0)+(E7<<2)|0,ht=e[Z8>>2]|0,q2(ht,0,1),Nt=e[W8>>2]|0,q2(ht,f6,Nt),T8=e[j5>>2]|0,Xt=(T8|0)==0,Xt||(O4=e[R8>>2]|0,q2(ht,O4,1),C4=e[u8>>2]|0,q2(ht,C4,1)),Ae=e[l0>>2]|0,N8=(Ae|0)>0,N8)for(i7=0;;)if(qi=(A6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Yi=j1+(i7<<2)|0,Ei=e[Yi>>2]|0,j8=(A6+1028|0)+(Hi<<2)|0,Ci=e[j8>>2]|0,X8=e[B>>2]|0,Bi=X8+(Ci<<2)|0,ei=e[Bi>>2]|0,Qi=Y2+(i7<<2)|0,g7=e[Qi>>2]|0,Vi=g7+(E7<<2)|0,yi=e[Vi>>2]|0,wi=ab(ht,t,ei,yi,Ei)|0,u7=O0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,d7=(vi|0)<(ci|0),d7)i7=vi;else{I=ci;break}else I=Ae;if(Ji=e[j5>>2]|0,zi=((je+3240|0)+(Ji*60|0)|0)+(E7<<2)|0,Wi=e[zi>>2]|0,Lb(E7,F8,he,A6,u1,j1,O0,Wi,I),gi=e[A6>>2]|0,ki=(gi|0)>0,ki)for(_7=0;;){if(Zi=(A6+1092|0)+(_7<<2)|0,ti=e[Zi>>2]|0,ui=e[l0>>2]|0,J8=(ui|0)>0,J8)for($n=ui,p7=0,Ar=0;;)if(ii=(A6+4|0)+(Ar<<2)|0,h7=e[ii>>2]|0,ji=(h7|0)==(_7|0),ji?(Si=D9+(p7<<2)|0,Xi=O0+(Ar<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,Di=j1+(Ar<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ri=X4+(p7<<2)|0,e[ri>>2]=e7,E=e[l0>>2]|0,di=E,fn=_i):(di=$n,fn=p7),xi=Ar+1|0,t7=(xi|0)<(di|0),t7)$n=di,p7=fn,Ar=xi;else{Io=fn;break}else Io=0;if(Li=(je+1312|0)+(ti<<2)|0,_4=e[Li>>2]|0,Mi=25648+(_4<<2)|0,G8=e[Mi>>2]|0,hi=G8+20|0,$9=e[hi>>2]|0,B8=e[V8>>2]|0,vt=B8+(ti<<2)|0,Q8=e[vt>>2]|0,U8=GC[$9&7](t,Q8,X4,D9,Io)|0,wr=e[l0>>2]|0,As=(wr|0)>0,As)for(sr=0,Lr=0;;)if(Jn=(A6+4|0)+(Lr<<2)|0,$s=e[Jn>>2]|0,zn=($s|0)==(_7|0),zn?(ls=j1+(Lr<<2)|0,cs=e[ls>>2]|0,Kn=sr+1|0,gs=X4+(sr<<2)|0,e[gs>>2]=cs,Dr=Kn):Dr=sr,on=Lr+1|0,ds=(on|0)<(wr|0),ds)sr=Dr,Lr=on;else{br=Dr;break}else br=0;if(hs=e[Li>>2]|0,Wn=25648+(hs<<2)|0,fs=e[Wn>>2]|0,Zn=fs+24|0,jn=e[Zn>>2]|0,Is=e[V8>>2]|0,sn=Is+(ti<<2)|0,Xn=e[sn>>2]|0,jQ[jn&3](ht,t,Xn,X4,D9,br,U8,_7)|0,an=_7+1|0,to=e[A6>>2]|0,ms=(an|0)<(to|0),ms)_7=an;else break}if(ps=E7+1|0,Es=Uu(t)|0,An=(Es|0)!=0,io=An?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=In,a|0}function vb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,V1=F1+28|0,K1=e[V1>>2]|0,k2=v+104|0,U2=e[k2>>2]|0,I5=t+28|0,N5=e[I5>>2]|0,w=K1+(N5<<2)|0,Y=e[w>>2]|0,t0=t+36|0,e[t0>>2]=Y,h0=F1+4|0,W0=e[h0>>2]|0,G0=W0<<2,g=G0,o1=C,C=C+((1*g|0)+15&-16)|0,h=G0,j0=C,C=C+((1*h|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[h0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=U2+48|0,L1=Y<<1,M1=L1&2147483646,j2=0;;)if(P1=w1+(j2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,z1=(K1+800|0)+(x1<<2)|0,q1=e[z1>>2]|0,H1=25640+(q1<<2)|0,Y1=e[H1>>2]|0,X1=Y1+20|0,o2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,u2=e[O1>>2]|0,W1=pi[o2&15](t,u2)|0,I2=I1+(j2<<2)|0,e[I2>>2]=W1,a2=E1+(j2<<2)|0,X2=(W1|0)!=0,a=X2&1,e[a2>>2]=a,C2=e[t>>2]|0,A2=C2+(j2<<2)|0,h2=e[A2>>2]|0,g4(h2|0,0,M1|0)|0,l2=j2+1|0,i2=e[h0>>2]|0,c2=(l2|0)<(i2|0),c2)j2=l2;else{a1=i2;break}else a1=p1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,d2=0;t2=U1+(d2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,G2=(Q2|0)==0,L2=D1+(d2<<2)|0,P2=e[L2>>2]|0,G2?(p2=E1+(P2<<2)|0,K2=e[p2>>2]|0,O2=(K2|0)==0,O2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,J2=E1+(P2<<2)|0,e[J2>>2]=1),H2=d2+1|0,W2=(H2|0)<(_1|0),W2;)d2=H2;if(r2=e[o>>2]|0,$2=(r2|0)>0,$2){for(e2=o+1092|0,s2=U2+52|0,m2=o+4|0,A5=a1,w5=0;;){if(Y2=(A5|0)>0,Y2)for($1=A5,d5=0,f5=0;;)if(N1=m2+(f5<<2)|0,e5=e[N1>>2]|0,T5=(e5|0)==(w5|0),T5?(t5=E1+(f5<<2)|0,x5=e[t5>>2]|0,Z2=j0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[Z2>>2]=$,b5=e[t>>2]|0,Y5=b5+(f5<<2)|0,g5=e[Y5>>2]|0,b2=d5+1|0,B5=o1+(d5<<2)|0,e[B5>>2]=g5,B=e[h0>>2]|0,M2=B,l5=b2):(M2=$1,l5=d5),o5=f5+1|0,R2=(o5|0)<(M2|0),R2)$1=M2,d5=l5,f5=o5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,L5=e[m5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,V2=M5+28|0,p5=e[V2>>2]|0,$5=e[s2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,GC[p5&7](t,y5,o1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[h0>>2]|0,A5=Q,w5=T1}S=e[b1>>2]|0,x=S}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,T=(Y|0)/2&-1,N=(Y|0)>1,s5=x;;){if(i5=s5+-1|0,s0=L+(i5<<2)|0,V=e[s0>>2]|0,o0=R+(V<<2)|0,q=e[o0>>2]|0,d0=F+(i5<<2)|0,j=e[d0>>2]|0,u0=R+(j<<2)|0,c0=e[u0>>2]|0,N)for(r5=0;;){$0=q+(r5<<2)|0,l0=+s[$0>>2],W=c0+(r5<<2)|0,m0=+s[W>>2],g0=l0>0,f0=m0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-m0,s[W>>2]=n0;break}else{s[W>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=m0+l0,s[W>>2]=C0;break}else{s[W>>2]=l0,S0=l0-m0,s[$0>>2]=S0;break}while(!1);if(Q0=r5+1|0,b0=(Q0|0)<(T|0),b0)r5=Q0;else break}if(G=(s5|0)>1,G)s5=i5;else break}if(X=e[h0>>2]|0,z=(X|0)>0,!z)return C=F2,0;for(a0=o+4|0,K=o+1028|0,r0=U2+48|0,h5=0;;)if(y0=e[t>>2]|0,w0=y0+(h5<<2)|0,B0=e[w0>>2]|0,_0=a0+(h5<<2)|0,M0=e[_0>>2]|0,v0=K+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,P0=e[N0>>2]|0,q0=25640+(P0<<2)|0,k0=e[q0>>2]|0,J0=k0+24|0,F0=e[J0>>2]|0,L0=e[r0>>2]|0,K0=L0+(T0<<2)|0,z0=e[K0>>2]|0,H0=I1+(h5<<2)|0,Z0=e[H0>>2]|0,TC[F0&3](t,z0,Z0,B0)|0,O0=h5+1|0,Y0=e[h0>>2]|0,s1=(O0|0)<(Y0|0),s1)h5=O0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(z2=0;V0=e[t>>2]|0,i1=V0+(z2<<2)|0,x0=e[i1>>2]|0,d1=e[I5>>2]|0,g1=(U2+12|0)+(d1<<2)|0,m1=e[g1>>2]|0,h1=e[m1>>2]|0,kb(h1,x0,x0),u1=z2+1|0,A1=e[h0>>2]|0,c1=(u1|0)<(A1|0),c1;)z2=u1;return C=F2,0}function _C(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=R9($)|0,Y=a+o|0,t0=Y<<2,h0=R9(t0)|0,W0=o>>1,G0=+(o|0),o1=G0,E1=+tn(+o1),g=E1*1.4426950408889634,h=+K7(g),m=~~h,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=h0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,T=+(F|0),N=b*T,G=+nA(+N),X=G,z=w1<<1,a0=h0+(z<<2)|0,s[a0>>2]=X,K=+Yn(+N),r0=K,s0=-r0,V=z|1,o0=h0+(V<<2)|0,s[o0>>2]=s0,q=+(V|0),d0=y*q,j=+nA(+d0),u0=j,c0=z+W0|0,$0=h0+(c0<<2)|0,s[$0>>2]=u0,l0=+Yn(+d0),W=l0,m0=c0+1|0,g0=h0+(m0<<2)|0,s[g0>>2]=W,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+nA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=h0+(B0<<2)|0,s[_0>>2]=y0,M0=+Yn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,P0=h0+(N0<<2)|0,s[P0>>2]=T0,q0=v1+1|0,k0=(q0|0)<(x|0),k0;)v1=q0;if(J0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=z0,Q1=0,L1=0;;)if(H0=Z0&k1,O0=(H0|0)==0,Y0=1<>V0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=V0;if(d1=B1^-1,g1=L0&d1,m1=g1+-1|0,h1=k1<<1,u1=w+(h1<<2)|0,e[u1>>2]=m1,A1=h1|1,c1=w+(A1<<2)|0,e[c1>>2]=B1,a1=k1+1|0,$1=(a1|0)<(x|0),$1)k1=a1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function xC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),h=t+12|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function kb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,K2=o+($<<2)|0,g=I+j1|0,t5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,h5=u5+(j1<<2)|0,u3=h5,H5=K2,x3=t5;E5=x3+-16|0,w3=H5+8|0,E=+s[w3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,P0=+s[H5>>2],O0=u3+8|0,u1=+s[O0>>2],w1=u1*P0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],c2=+s[L>>2],k2=c2*O1,D2=+s[w3>>2],S2=+s[O0>>2],Q2=S2*D2,G2=k2-Q2,L2=x3+-12|0,s[L2>>2]=G2,P2=H5+24|0,p2=+s[P2>>2],O2=u3+4|0,J2=+s[O2>>2],U2=p2*J2,H2=-U2,W2=H5+16|0,A5=+s[W2>>2],Y2=+s[u3>>2],N1=Y2*A5,e5=H2-N1,T5=x3+-8|0,s[T5>>2]=e5,x5=+s[W2>>2],Z2=+s[O2>>2],I5=Z2*x5,b5=+s[P2>>2],Y5=+s[u3>>2],g5=Y5*b5,b2=I5-g5,B5=x3+-4|0,s[B5>>2]=b2,o5=H5+-32|0,R2=u3+16|0,y2=o5>>>0>>0,!y2;)u3=R2,H5=o5,x3=E5;for(Q5=a+(I<<2)|0,h=I+-8|0,N5=o+(h<<2)|0,Q3=h5,V5=N5,b3=t5;m5=Q3+-16|0,L5=V5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,V2=+s[M5>>2],p5=V2*q5,$5=V5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],d5=D5*y5,l5=d5+p5,s[b3>>2]=l5,j2=+s[L5>>2],d2=+s[T1>>2],w5=d2*j2,i5=+s[$5>>2],s5=+s[M5>>2],z2=s5*i5,f5=w5-z2,r5=b3+4|0,s[r5>>2]=f5,R5=+s[V5>>2],X2=Q3+-12|0,c5=+s[X2>>2],F2=c5*R5,v5=V5+8|0,J5=+s[v5>>2],i3=+s[m5>>2],I3=i3*J5,h3=I3+F2,W5=b3+8|0,s[W5>>2]=h3,r3=+s[V5>>2],a3=+s[m5>>2],B3=a3*r3,G5=+s[v5>>2],Z5=+s[X2>>2],_3=Z5*G5,f3=B3-_3,X3=b3+12|0,s[X3>>2]=f3,q3=V5+-32|0,X5=b3+16|0,D3=q3>>>0>>0,!D3;)Q3=m5,V5=q3,b3=X5;for($6=t+4|0,n3=e[$6>>2]|0,kQ(n3,u5,Q5,I),l3=e[t>>2]|0,G3=e[M2>>2]|0,E6=t+12|0,S3=e[E6>>2]|0,SQ(l3,G3,S3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,z5=s6,S5=a,a6=t5,j5=t5;N3=a6+-16|0,H3=+s[S5>>2],c3=z5+4|0,g3=+s[c3>>2],Q=g3*H3,B=S5+4|0,S=+s[B>>2],b=+s[z5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[z5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],T=F*R,N=M+T,G=-N,s[j5>>2]=G,Y=S5+8|0,X=+s[Y>>2],z=z5+12|0,a0=+s[z>>2],K=a0*X,s0=S5+12|0,V=+s[s0>>2],o0=z5+8|0,q=+s[o0>>2],d0=q*V,t0=K-d0,j=a6+-8|0,s[j>>2]=t0,u0=+s[Y>>2],c0=+s[o0>>2],$0=c0*u0,W=+s[s0>>2],m0=+s[z>>2],g0=m0*W,f0=$0+g0,n0=-f0,h0=j5+4|0,s[h0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=z5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=z5+16|0,_0=+s[B0>>2],W0=_0*w0,M0=E0-W0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],q0=N0*T0,k0=+s[y0>>2],J0=+s[S0>>2],F0=J0*k0,L0=q0+F0,G0=-L0,K0=j5+8|0,s[K0>>2]=G0,z0=S5+24|0,H0=+s[z0>>2],Z0=z5+28|0,Y0=+s[Z0>>2],s1=Y0*H0,V0=S5+28|0,i1=+s[V0>>2],x0=z5+24|0,o1=+s[x0>>2],d1=o1*i1,g1=s1-d1,s[N3>>2]=g1,m1=+s[z0>>2],h1=+s[x0>>2],A1=h1*m1,c1=+s[V0>>2],a1=+s[Z0>>2],$1=a1*c1,j0=A1+$1,E1=-j0,I1=j5+12|0,s[I1>>2]=E1,Q1=j5+16|0,p1=S5+32|0,B1=z5+32|0,v1=p1>>>0>>0,v1;)z5=B1,S5=p1,a6=N3,j5=Q1;for(k1=a+(j1<<2)|0,Y3=t5,i6=k1,L3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=i6+-4|0,s[R1>>2]=_1,F1=-_1,s[L3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=D1,G1=-D1,x1=L3+4|0,s[x1>>2]=G1,z1=Y3+-12|0,q1=+s[z1>>2],H1=i6+-12|0,s[H1>>2]=q1,Y1=-q1,V1=L3+8|0,s[V1>>2]=Y1,X1=+s[M1>>2],s[L1>>2]=X1,o2=-X1,u2=L3+12|0,s[u2>>2]=o2,W1=L3+16|0,I2=W1>>>0>>0,I2)Y3=M1,i6=L1,L3=W1;else{U5=t5,V3=t5;break}for(;a2=V3+-16|0,C2=U5+12|0,A2=e[C2>>2]|0,e[a2>>2]=A2,K1=U5+8|0,h2=e[K1>>2]|0,l2=V3+-12|0,e[l2>>2]=h2,i2=U5+4|0,r2=e[i2>>2]|0,$2=V3+-8|0,e[$2>>2]=r2,e2=e[U5>>2]|0,s2=V3+-4|0,e[s2>>2]=e2,m2=U5+16|0,t2=a2>>>0>Q5>>>0,t2;)U5=m2,V3=a2}function vQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,v=e[t>>2]|0,w=v>>1,s1=v>>2,c1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,u2=G1+(w<<2)|0,g=w+s1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,X=(c1|0)>0,X){for(h=g+1|0,j=o+(h<<2)|0,p0=c1+-1|0,M0=p0>>>1,K0=M0<<1,H0=w+-2|0,Z0=H0-K0|0,O0=g+-4|0,Y0=M0<<2,V0=O0-Y0|0,o5=D,L5=0,h5=r2,R5=j;i1=h5+-16|0,x0=o5+-8|0,o1=h5+-8|0,d1=+s[o1>>2],g1=+s[R5>>2],m1=g1+d1,h1=+s[i1>>2],u1=R5+8|0,A1=+s[u1>>2],a1=A1+h1,$1=o5+-4|0,j0=+s[$1>>2],E1=a1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=L5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*a1,L1=+s[$1>>2],M1=L1*m1,b1=v1-M1,_1=L5|1,b=_1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=b1,F1=R5+16|0,U1=L5+2|0,D1=(U1|0)<(c1|0),D1;)o5=x0,L5=U1,h5=i1,R5=F1;P1=K0+2|0,d2=N1+(Z0<<2)|0,w5=o+(V0<<2)|0,Y2=Z0,B5=d2,m5=P1,s5=w5}else Y2=w,B5=D,m5=0,s5=r2;if(Z1=o+4|0,x1=w-c1|0,z1=(m5|0)<(x1|0),z1){for(q1=w+-1|0,H1=q1-m5|0,Y1=H1-c1|0,V1=Y1>>>1,X1=V1<<1,o2=m5+X1|0,j1=V1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,M5=m5,z2=s5,c5=Z1;I2=M2+-8|0,a2=z2+-16|0,C2=z2+-8|0,A2=+s[C2>>2],K1=+s[c5>>2],h2=A2-K1,l2=+s[a2>>2],i2=c5+8|0,c2=+s[i2>>2],$2=l2-c2,e2=M2+-4|0,s2=+s[e2>>2],m2=$2*s2,t2=+s[I2>>2],k2=t2*h2,D2=k2+m2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[I2>>2],G2=Q2*$2,P2=+s[e2>>2],p2=P2*h2,K2=G2-p2,O2=M5|1,Q=O2+w|0,J2=G1+(Q<<2)|0,s[J2>>2]=K2,U2=c5+16|0,H2=M5+2|0,W2=(H2|0)<(x1|0),W2;)M2=I2,M5=H2,z2=a2,c5=U2;A5=o2+2|0,l5=o+(O1<<2)|0,B=Y2+W1|0,j2=N1+(B<<2)|0,R2=j2,q5=A5,X2=l5}else R2=B5,q5=m5,X2=Z1;if(e5=(q5|0)<(w|0),e5)for(T5=o+(v<<2)|0,y2=R2,V2=q5,f5=T5,F2=X2;t5=y2+-8|0,x5=f5+-16|0,Z2=f5+-8|0,I5=+s[Z2>>2],b5=-I5,Y5=+s[F2>>2],g5=b5-Y5,b2=+s[x5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],T=L*F,N=+s[t5>>2],G=N*g5,Y=G+T,m=V2+w|0,z=G1+(m<<2)|0,s[z>>2]=Y,a0=+s[t5>>2],K=a0*L,r0=+s[R>>2],s0=r0*g5,V=K-s0,o0=V2|1,I=o0+w|0,q=G1+(I<<2)|0,s[q>>2]=V,d0=F2+16|0,t0=V2+2|0,u0=(t0|0)<(w|0),u0;)y2=t5,V2=t0,f5=x5,F2=d0;if($5=t+4|0,u5=e[$5>>2]|0,kQ(u5,N1,u2,w),d5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,SQ(d5,y5,D5,G1),c0=(s1|0)>0,!c0){C=J5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,W=l0+(w<<2)|0,m0=t+16|0,Q5=W,p5=0,i5=G1,r5=$0;g0=r5+-4|0,f0=+s[i5>>2],n0=+s[Q5>>2],h0=n0*f0,C0=i5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+h0,w0=+s[m0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,W0=+s[i5>>2],v0=+s[Q0>>2],T0=v0*W0,N0=+s[C0>>2],P0=+s[Q5>>2],q0=P0*N0,k0=T0-q0,J0=+s[m0>>2],F0=k0*J0,s[g0>>2]=F0,L0=i5+8|0,G0=Q5+8|0,z0=p5+1|0,N5=(z0|0)==(s1|0),!N5;)Q5=G0,p5=z0,i5=L0,r5=g0;C=J5}function kQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,W8=0,R8=0,u8=0,F8=0,c4=0,V8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0;if(wr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,Y5=a+(I<<2)|0,F3=$>>1,B=F3+-8|0,e8=a+(B<<2)|0,g=o,B8=Y5,Q8=e8;ht=B8+24|0,Yi=+s[ht>>2],yi=Q8+24|0,ki=+s[yi>>2],bi=Yi-ki,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,h1=+s[Z0>>2],B1=N0-h1,D1=ki+Yi,s[ht>>2]=D1,o2=+s[Z0>>2],l2=o2+N0,s[Q0>>2]=l2,S2=g+4|0,W2=+s[S2>>2],g5=W2*B1,q5=+s[g>>2],j2=q5*bi,c5=j2+g5,s[yi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*bi,S6=s6-i6,s[Z0>>2]=S6,z3=B8+16|0,H6=+s[z3>>2],g9=Q8+16|0,n9=+s[g9>>2],w9=H6-n9,Me=B8+20|0,Ve=+s[Me>>2],V4=Q8+20|0,fe=+s[V4>>2],I6=Ve-fe,xe=n9+H6,s[z3>>2]=xe,I8=+s[V4>>2],Vt=I8+Ve,s[Me>>2]=Vt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,D4=g+16|0,T9=+s[D4>>2],Ft=T9*w9,u8=Ft+Bt,s[g9>>2]=u8,Z8=+s[D4>>2],Nt=Z8*I6,T8=+s[at>>2],Xt=T8*w9,O4=Nt-Xt,s[V4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],N8=Q8+8|0,$i=+s[N8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],j8=Q8+12|0,Ci=+s[j8>>2],X8=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ei=+s[j8>>2],Qi=ei+Ei,s[Hi>>2]=Qi,li=g+36|0,g7=+s[li>>2],Vi=g7*X8,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Vi,s[N8>>2]=ci,d7=+s[wi>>2],Ji=d7*X8,zi=+s[li>>2],Ki=zi*qi,Wi=Ji-Ki,s[j8>>2]=Wi,gi=+s[B8>>2],Zi=+s[Q8>>2],ti=gi-Zi,ui=B8+4|0,J8=+s[ui>>2],ii=Q8+4|0,h7=+s[ii>>2],ji=J8-h7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ii>>2],Xi=Si+J8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ri=g+48|0,xi=+s[ri>>2],t7=xi*ti,di=t7+_i,s[Q8>>2]=di,z8=+s[ri>>2],Li=z8*ji,_4=+s[Di>>2],b0=_4*ti,E0=Li-b0,s[ii>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(W0=(C0|0)>1,W0)for(G8=1;;){if(M0=1<>G8,P0=4<>1,S=q0+-8|0,N=P0+1|0,d0=P0<<1,$0=d0|1,m0=P0*3|0,f0=m0+1|0,h0=P0<<2,hi=0;;){for(J0=n5(hi,T0)|0,F0=a+(J0<<2)|0,m=E+J0|0,L0=a+(m<<2)|0,u0=S+J0|0,G0=a+(u0<<2)|0,h=o,vt=L0,U8=G0;K0=vt+24|0,z0=+s[K0>>2],H0=U8+24|0,O0=+s[H0>>2],Y0=z0-O0,s1=vt+28|0,V0=+s[s1>>2],i1=U8+28|0,x0=+s[i1>>2],o1=V0-x0,d1=O0+z0,s[K0>>2]=d1,g1=+s[i1>>2],m1=g1+V0,s[s1>>2]=m1,u1=h+4|0,A1=+s[u1>>2],c1=A1*o1,a1=+s[h>>2],$1=a1*Y0,j0=$1+c1,s[H0>>2]=j0,E1=+s[h>>2],I1=E1*o1,Q1=+s[u1>>2],p1=Q1*Y0,w1=I1-p1,s[i1>>2]=w1,v1=h+(P0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=U8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=U8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=b1+L1,s[k1>>2]=G1,x1=+s[U1>>2],z1=x1+F1,s[R1>>2]=z1,q1=h+(N<<2)|0,H1=+s[q1>>2],Y1=H1*Z1,V1=+s[v1>>2],X1=V1*_1,j1=X1+Y1,s[M1>>2]=j1,O1=+s[v1>>2],u2=O1*Z1,W1=+s[q1>>2],I2=W1*_1,a2=u2-I2,s[U1>>2]=a2,C2=h+(d0<<2)|0,A2=vt+8|0,K1=+s[A2>>2],h2=U8+8|0,i2=+s[h2>>2],c2=K1-i2,r2=vt+12|0,$2=+s[r2>>2],e2=U8+12|0,s2=+s[e2>>2],m2=$2-s2,t2=i2+K1,s[A2>>2]=t2,k2=+s[e2>>2],D2=k2+$2,s[r2>>2]=D2,Q2=h+($0<<2)|0,G2=+s[Q2>>2],L2=G2*m2,P2=+s[C2>>2],p2=P2*c2,K2=p2+L2,s[h2>>2]=K2,O2=+s[C2>>2],J2=O2*m2,U2=+s[Q2>>2],H2=U2*c2,A5=J2-H2,s[e2>>2]=A5,Y2=h+(m0<<2)|0,N1=+s[vt>>2],e5=+s[U8>>2],T5=N1-e5,t5=vt+4|0,x5=+s[t5>>2],Z2=U8+4|0,I5=+s[Z2>>2],b5=x5-I5,b2=e5+N1,s[vt>>2]=b2,B5=+s[Z2>>2],o5=B5+x5,s[t5>>2]=o5,R2=h+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[Y2>>2],N5=Q5*T5,m5=N5+y2,s[U8>>2]=m5,L5=+s[Y2>>2],M5=L5*b5,V2=+s[R2>>2],p5=V2*T5,$5=M5-p5,s[Z2>>2]=$5,u5=h+(h0<<2)|0,y5=vt+-32|0,T1=U8+-32|0,D5=T1>>>0>>0,!D5;)h=u5,vt=y5,U8=T1;if(d5=hi+1|0,l5=(d5|0)<(M0|0),l5)hi=d5;else break}if(d2=G8+1|0,Mi=(d2|0)==(C0|0),Mi)break;G8=d2}if(k0=($|0)>0,k0)$9=0;else return;for(;w5=a+($9<<2)|0,Q=$9|30,i5=a+(Q<<2)|0,s5=+s[i5>>2],T=$9|14,h5=a+(T<<2)|0,z2=+s[h5>>2],f5=s5-z2,q=$9|31,r5=a+(q<<2)|0,R5=+s[r5>>2],c0=$9|15,X2=a+(c0<<2)|0,F2=+s[X2>>2],v5=R5-F2,J5=z2+s5,s[i5>>2]=J5,i3=F2+R5,s[r5>>2]=i3,s[h5>>2]=f5,s[X2>>2]=v5,l0=$9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],W=$9|12,h3=a+(W<<2)|0,W5=+s[h3>>2],r3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],n0=$9|13,Z5=a+(n0<<2)|0,_3=+s[Z5>>2],f3=G5-_3,w3=W5+I3,s[E5>>2]=w3,X3=_3+G5,s[a3>>2]=X3,q3=r3*.9238795042037964,X5=f3*.3826834261417389,D3=q3-X5,s[h3>>2]=D3,t3=r3*.3826834261417389,N3=f3*.9238795042037964,H3=N3+t3,s[Z5>>2]=H3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=$9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],z5=g3-Q3,v=$9|27,H5=a+(v<<2)|0,V5=+s[H5>>2],w=$9|11,S5=a+(w<<2)|0,U5=+s[S5>>2],$6=V5-U5,n3=Q3+g3,s[c3>>2]=n3,l3=U5+V5,s[H5>>2]=l3,G3=z5-$6,E6=G3*.7071067690849304,s[u3>>2]=E6,S3=$6+z5,x3=S3*.7071067690849304,s[S5>>2]=x3,D=$9|24,b3=a+(D<<2)|0,a6=+s[b3>>2],y=$9|8,V3=a+(y<<2)|0,j5=+s[V3>>2],L3=a6-j5,x=$9|25,d3=a+(x<<2)|0,J3=+s[d3>>2],M=$9|9,h6=a+(M<<2)|0,m3=+s[h6>>2],x6=J3-m3,L6=j5+a6,s[b3>>2]=L6,M6=m3+J3,s[d3>>2]=M6,r6=L3*.3826834261417389,f6=x6*.9238795042037964,b6=r6-f6,N6=x6*.3826834261417389,j6=L3*.9238795042037964,v6=N6+j6,L=$9|22,M3=a+(L<<2)|0,n6=+s[M3>>2],R=$9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],R3=n6-C6,F=$9|7,K3=a+(F<<2)|0,e6=+s[K3>>2],G=$9|23,R6=a+(G<<2)|0,l6=+s[R6>>2],o3=e6-l6,z6=C6+n6,s[M3>>2]=z6,A3=l6+e6,s[R6>>2]=A3,s[o6>>2]=o3,s[K3>>2]=R3,Y=$9|4,c6=a+(Y<<2)|0,B6=+s[c6>>2],X=$9|20,A6=a+(X<<2)|0,D6=+s[A6>>2],G6=B6-D6,z=$9|5,e9=a+(z<<2)|0,Q6=+s[e9>>2],a0=$9|21,X6=a+(a0<<2)|0,U3=+s[X6>>2],r9=Q6-U3,Y6=D6+B6,s[A6>>2]=Y6,o9=U3+Q6,s[X6>>2]=o9,U6=r9*.9238795042037964,V6=G6*.3826834261417389,F6=U6+V6,t9=r9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,K=$9|2,P3=a+(K<<2)|0,O6=+s[P3>>2],r0=$9|18,s9=a+(r0<<2)|0,d9=+s[s9>>2],B9=O6-d9,s0=$9|3,Q9=a+(s0<<2)|0,y9=+s[Q9>>2],V=$9|19,h9=a+(V<<2)|0,f9=+s[h9>>2],Y9=y9-f9,y6=d9+O6,s[s9>>2]=y6,q6=f9+y9,s[h9>>2]=q6,a9=Y9+B9,V9=a9*.7071067690849304,we=Y9-B9,ue=we*.7071067690849304,Ee=+s[w5>>2],o0=$9|16,J9=a+(o0<<2)|0,re=+s[J9>>2],F9=Ee-re,t0=$9|1,v9=a+(t0<<2)|0,K6=+s[v9>>2],j=$9|17,A9=a+(j<<2)|0,ve=+s[A9>>2],de=K6-ve,_9=re+Ee,s[J9>>2]=_9,Re=ve+K6,s[A9>>2]=Re,Fe=de*.3826834261417389,Ue=F9*.9238795042037964,He=Fe+Ue,n4=de*.9238795042037964,ke=F9*.3826834261417389,Ye=n4-ke,z9=Ye-v6,he=He-b6,Pe=He+b6,Ce=Ye+v6,w4=he+z9,Z9=z9-he,k9=+s[S5>>2],v4=ue-k9,Y4=+s[u3>>2],nt=Y4-V9,Je=Y4+V9,ze=k9+ue,o4=+s[h3>>2],R4=o4-F6,ot=+s[Z5>>2],ne=ot-P6,u4=o4+F6,Be=ot+P6,T6=R4-ne,Ke=ne+R4,O9=+s[h5>>2],Te=O9-o3,d4=+s[X2>>2],oe=d4-R3,h4=o3+O9,f4=R3+d4,Se=Te+v4,s4=Te-v4,Oe=T6+w4,I4=Oe*.7071067690849304,S9=T6-w4,J4=S9*.7071067690849304,Ie=I4+Se,s[o6>>2]=Ie,k4=Se-I4,s[c6>>2]=k4,be=Ke-Z9,me=be*.7071067690849304,J6=oe-nt,F4=me+s4,s[w5>>2]=F4,T4=s4-me,s[P3>>2]=T4,st=Ke+Z9,pe=st*.7071067690849304,mt=oe+nt,W3=J6+J4,s[Q9>>2]=W3,x9=J6-J4,s[v9>>2]=x9,b9=mt+pe,s[K3>>2]=b9,qe=mt-pe,s[e9>>2]=qe,a4=h4+Je,h8=h4-Je,N4=Pe+u4,f8=u4-Pe,_8=a4+N4,s[h5>>2]=_8,m8=a4-N4,s[h3>>2]=m8,Ut=Be-Ce,Pt=f4-ze,Ot=h8+Ut,s[V3>>2]=Ot,qt=h8-Ut,s[u3>>2]=qt,t8=Be+Ce,i8=f4+ze,x8=Pt+f8,s[S5>>2]=x8,Ht=Pt-f8,s[h6>>2]=Ht,Yt=i8+t8,s[X2>>2]=Yt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[d3>>2],pt=Re-xt,Jt=+s[b3>>2],zt=_9-Jt,r8=Jt+_9,n8=xt+Re,Et=zt+pt,z4=pt-zt,G4=+s[h9>>2],Lt=+s[H5>>2],L9=G4-Lt,p8=+s[c3>>2],S4=+s[s9>>2],E8=p8-S4,L8=S4+p8,o8=Lt+G4,M8=+s[E5>>2],A4=+s[A6>>2],s8=M8-A4,Mt=+s[a3>>2],At=+s[X6>>2],We=Mt-At,U4=A4+M8,$t=At+Mt,Ct=s8-We,Rt=We+s8,m4=+s[i5>>2],se=+s[M3>>2],lt=m4-se,ct=+s[r5>>2],Qt=+s[R6>>2],p4=ct-Qt,b4=se+m4,K4=Qt+ct,W4=lt+L9,ae=lt-L9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,De=gt*.7071067690849304,yt=E4+W4,s[M3>>2]=yt,a8=W4-E4,s[A6>>2]=a8,Ze=Rt-z4,E3=Ze*.7071067690849304,Z4=p4-E8,wt=E3+ae,s[J9>>2]=wt,$4=ae-E3,s[s9>>2]=$4,j9=Rt+z4,l4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+De,s[h9>>2]=Wt,C8=Z4-De,s[A9>>2]=C8,A8=j4+l4,s[R6>>2]=A8,$8=j4-l4,s[X6>>2]=$8,Zt=b4+L8,l8=b4-L8,jt=U4+r8,ut=U4-r8,dt=Zt+jt,s[i5>>2]=dt,je=Zt-jt,s[E5>>2]=je,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[b3>>2]=X4,D9=l8-c8,s[c3>>2]=D9,g8=$t+n8,et=K4+o8,Y8=Tt+ut,s[H5>>2]=Y8,W8=Tt-ut,s[d3>>2]=W8,R8=et+g8,s[r5>>2]=R8,F8=et-g8,s[a3>>2]=F8,c4=$9+32|0,V8=(c4|0)<($|0),V8;)$9=c4}function SQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,G=o+(t<<2)|0,a1=G,$1=a,j0=$,E1=v;d0=e[$1>>2]|0,g=d0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,h=L0+b|0,x0=$+(h<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=h+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=c1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[a1>>2],F=L*R,T=a1+4|0,N=+s[T>>2],Y=N*y,X=Y+F,z=N*L,a0=R*y,K=z-a0,r0=E1+-16|0,s0=D+c1,V=s0*.5,o0=x-M,q=o0*.5,t0=X+V,s[j0>>2]=t0,j=V-X,u0=E1+-8|0,s[u0>>2]=j,c0=K+q,$0=j0+4|0,s[$0>>2]=c0,l0=K-q,W=E1+-4|0,s[W>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,h0=$1+12|0,p0=e[h0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],W0=B0+w0,M0=a1+8|0,v0=+s[M0>>2],T0=W0*v0,N0=a1+12|0,P0=+s[N0>>2],q0=P0*y0,k0=q0+T0,J0=P0*W0,F0=v0*y0,G0=J0-F0,K0=E0+Q0,z0=K0*.5,H0=w0-B0,Z0=H0*.5,O0=k0+z0,Y0=j0+8|0,s[Y0>>2]=O0,s1=z0-k0,s[r0>>2]=s1,V0=G0+Z0,i1=j0+12|0,s[i1>>2]=V0,o1=G0-Z0,d1=E1+-12|0,s[d1>>2]=o1,g1=a1+16|0,m1=$1+16|0,h1=j0+16|0,u1=h1>>>0>>0,u1;)a1=g1,$1=m1,j0=h1,E1=r0}function Sb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=ce(1,36)|0,h=t+4|0,m=e[h>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function bb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function Db(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function _b(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0;a9=C,y6=t,V9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(V9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,d3=+K7(l3),N6=d3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,r0=+(g|0),l0=r0*.25,b0=l0,P0=b0*.5,O0=+($|0),u1=P0/O0,w1=+tn(+u1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,c2=R6+1|0,G2=1<>2]=c5,v5=+($|0),J5=v5+.25,E5=J5*r0,I3=E5,h3=I3*.5,W5=h3/O0,r3=+tn(+W5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,G5=Y2*B3,Z5=G5+.5,_3=~~Z5,w3=1-c5|0,X3=w3+_3|0,q3=t+40|0,e[q3>>2]=X3,X5=$<<2,D3=R9(X5)|0,t3=t+16|0,e[t3>>2]=D3,s6=R9(X5)|0,N3=t+20|0,e[N3>>2]=s6,H3=R9(X5)|0,c3=t+24|0,e[c3>>2]=H3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,z5=t+48|0,s[z5>>2]=1,H5=(g|0)<26e3;do if(H5)s[z5>>2]=0;else{if(V5=(g|0)<38e3,V5){s[z5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[z5>>2]=1.274999976158142)}while(!1);Y3=O0*2,U5=+(g|0),$6=($|0)>0,S3=$6,t9=0,n9=0;e:for(;;){for(Q=S3^1,_6=t9;;){if(b3=_6+1|0,a6=+(b3|0),i6=a6*.08664337545633316,V3=i6+2.7488713472395148,j5=+Vn(+V3),L3=Y3*j5,J3=L3/U5,h6=+K7(J3),m3=~~h6,E=(m3|0)<=(n9|0),e9=E|Q,!e9){m=b3,I=m3,P6=_6;break}if(x6=(b3|0)<87,x6)_6=b3;else{d9=n9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],f6=r6-M6,b6=I-n9|0,j6=+(b6|0),v6=f6/j6,M3=n9-I|0,n6=n9-$|0,o6=M3>>>0>n6>>>0,Y9=o6?M3:n6,n3=n9-Y9|0,G6=M6,B9=n9;C6=G6+100,z3=D3+(B9<<2)|0,s[z3>>2]=C6,R3=G6+v6,K3=B9+1|0,Y6=(K3|0)==(n3|0),!Y6;)G6=R3,B9=K3;if(G3=(n3|0)<($|0),E6=(m|0)<87,E6)S3=G3,t9=m,n9=n3;else{d9=n3;break}}if(x3=(d9|0)<($|0),x3)for(Q9=d9;H6=Q9+-1|0,A6=D3+(H6<<2)|0,D6=e[A6>>2]|0,R=D3+(Q9<<2)|0,e[R>>2]=D6,F=Q9+1|0,r9=(F|0)==($|0),!r9;)Q9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,z6=o+120|0,A3=e[z6>>2]|0,c6=o+124|0,B6=o+116|0,F3=o+112|0,U6=1,P3=0,y9=-99;;){z=n5(o3,P3)|0,a0=+(z|0),K=a0*.0007399999885819852,s0=K,V=+is(+s0),o0=V*13.100000381469727,q=n5(z,z)|0,d0=+(q|0),t0=d0*18499999754340024e-24,j=t0,u0=+is(+j),c0=u0*2.240000009536743,$0=c0+o0,W=a0*9999999747378752e-20,m0=W,g0=$0+m0,f0=g0,n0=A3+y9|0,h0=(n0|0)<(P3|0);e:do if(h0)for(p0=+s[F3>>2],C0=f0-p0,S0=C0,f9=y9;;){if(Q0=n5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+is(+w0),_0=B0*13.100000381469727,W0=n5(Q0,Q0)|0,M0=+(W0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+is(+T0),q0=N0*2.240000009536743,k0=E0*9999999747378752e-20,J0=k0,F0=_0+J0,L0=F0+q0,G0=L0($|0);e:do if(K0)V6=U6;else for(z0=e[c6>>2]|0,H0=z0+P3|0,F6=U6;;){if(V0=(F6|0)<(H0|0),!V0&&(i1=n5(F6,o3)|0,x0=+(i1|0),o1=x0*.0007399999885819852,d1=o1,g1=+is(+d1),m1=g1*13.100000381469727,h1=n5(i1,i1)|0,A1=+(h1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,D1=P3+1|0,U3=(D1|0)==($|0),U3)break;U6=V6,P3=D1,y9=h9}if(e6)for(T=U5*.5,N=e[L>>2]|0,G=N+1|0,Y=1<>2]=O1,W1=O6+1|0,X6=(W1|0)==($|0),X6){v=T;break}else O6=W1;else q6=19}else q6=19;if((q6|0)==19&&(y=U5*.5,v=y),I2=o+36|0,a2=v/O0,C2=a2,A2=o+24|0,K1=+s[A2>>2],h2=o+28|0,l2=+s[h2>>2],r2=Mb(I2,C2,$,K1,l2)|0,$2=t+8|0,e[$2>>2]=r2,e2=R9(12)|0,s2=t+12|0,e[s2>>2]=e2,m2=R9(X5)|0,e[e2>>2]=m2,t2=R9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=R9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,s9=0;L2=+(s9|0),P2=L2+.5,p2=P2*U5,K2=p2/Y3,O2=+tn(+K2),J2=O2*2.885390043258667,U2=J2+-11.931568145751953,H2=U2,W2=H2<0,o9=W2?0:H2,h=o9>=16,g9=h?16:o9,A5=~~g9,N1=+(A5|0),e5=g9-N1,T5=e5,t5=1-T5,x5=A5+1|0,Z2=(Q2+132|0)+(A5<<2)|0,I5=+s[Z2>>2],b5=I5,Y5=b5*t5,g5=(Q2+132|0)+(x5<<2)|0,B5=+s[g5>>2],o5=B5*e5,R2=o5,M2=R2+Y5,y2=M2,Q5=b+(s9<<2)|0,s[Q5>>2]=y2,N5=(Q2+200|0)+(A5<<2)|0,m5=+s[N5>>2],L5=m5,q5=L5*t5,V2=(Q2+200|0)+(x5<<2)|0,p5=+s[V2>>2],$5=p5*e5,u5=$5,y5=u5+q5,T1=y5,D5=w+(s9<<2)|0,s[D5>>2]=T1,d5=(Q2+268|0)+(A5<<2)|0,l5=+s[d5>>2],j2=l5,w5=j2*t5,i5=(Q2+268|0)+(x5<<2)|0,s5=+s[i5>>2],h5=s5*e5,z2=h5,f5=z2+w5,r5=f5,R5=D+(s9<<2)|0,s[R5>>2]=r5,X2=s9+1|0,Q6=(X2|0)==($|0),!Q6;)s9=X2}function bQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0;if(O0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,Y=(w|0)==0,Y||E2(w),t0=t+20|0,h0=e[t0>>2]|0,W0=(h0|0)==0,W0||E2(h0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||E2(L0),g=t+8|0,h=e[g>>2]|0,m=(h|0)==0,!m){for(E=h,z0=0;I=E+(z0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,E2(B),S=e[g>>2]|0,b=S+(z0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,E2(y),x=e[g>>2]|0,M=x+(z0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,E2(F),T=e[g>>2]|0,N=T+(z0<<2)|0,G=e[N>>2]|0,X=G+12|0,z=e[X>>2]|0,E2(z),a0=e[g>>2]|0,K=a0+(z0<<2)|0,r0=e[K>>2]|0,s0=r0+16|0,V=e[s0>>2]|0,E2(V),o0=e[g>>2]|0,q=o0+(z0<<2)|0,d0=e[q>>2]|0,j=d0+20|0,u0=e[j>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(z0<<2)|0,l0=e[$0>>2]|0,W=l0+24|0,m0=e[W>>2]|0,E2(m0),g0=e[g>>2]|0,f0=g0+(z0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,Q0=S0+(z0<<2)|0,b0=e[Q0>>2]|0,E2(b0),E0=z0+1|0,K0=(E0|0)==17,!K0;)o=e[g>>2]|0,E=o,z0=E0;y0=e[g>>2]|0,E2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,E2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,E2(N0),P0=e[w0>>2]|0,q0=P0+8|0,k0=e[q0>>2]|0,E2(k0),J0=e[w0>>2]|0,E2(J0)),H0=t,Y0=H0+52|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(Y0|0))}}function DQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,h=I,M=C,C=C+((1*h|0)+15&-16)|0,K=t+24|0,u0=e[K>>2]|0,xQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(h0=0;$0=o+(h0<<2)|0,l0=+s[$0>>2],W=a+(h0<<2)|0,m0=+s[W>>2],E=l0-m0,Q=M+(h0<<2)|0,s[Q>>2]=E,B=h0+1|0,f0=(B|0)==(m|0),!f0;)h0=B;if(S=e[K>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,xQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],T=L-F,s[R>>2]=T,N=p0+1|0,n0=(N|0)==(m|0),!n0;)p0=N;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;G=a+(C0<<2)|0,Y=+s[G>>2],X=Y,z=X+.5,a0=~~z,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,V=M+(C0<<2)|0,o0=+s[V>>2],q=(y+336|0)+(g<<2)|0,d0=+s[q>>2],t0=d0+o0,s[G>>2]=t0,j=C0+1|0,g0=(j|0)==(m|0),!g0;)C0=j;C=Q0}function _Q(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,T=t+40|0,u1=e[T>>2]|0,w1=u1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,N=(u1|0)>0,N)for($5=0;q=P1+($5<<2)|0,s[q>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(u1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],d1=g50,g1){for(m1=t+16|0,h1=e[m1>>2]|0,d5=0;A1=h1+(d5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(d5<<2)|0,s[$1>>2]=a1,j0=d5+1|0,V2=(j0|0)==(F|0),!V2;)d5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,g1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,u5=0;;){_1=o+(u5<<2)|0,R1=+s[_1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,s5=R1;e:for(;;)for(y5=D5;;){if(D1=y5+1|0,Z1=(D1|0)<(F|0),!Z1){S=0,v=D1,T1=y5,h5=s5;break e}if(G1=k1+(D1<<2)|0,x1=e[G1>>2]|0,z1=(x1|0)==(U1|0),!z1){S=1,v=D1,T1=y5,h5=s5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],Y1=H1>s5,Y1){D5=D1,s5=H1;continue e}else y5=D1}if(V1=h5+6,X1=a+(T1<<2)|0,o2=+s[X1>>2],O1=V1>o2,O1&&(u2=e[L1>>2]|0,W1=U1>>u2,I2=(W1|0)>16,m=I2?16:W1,a2=(m|0)<0,h=a2?0:m,C2=I1+(h<<2)|0,A2=e[C2>>2]|0,K1=e[M1>>2]|0,h2=B1+h5,l2=h2,c2=l2+-30,r2=c2*.10000000149011612,$2=~~r2,e2=($2|0)<0,s2=e2?0:$2,m2=(s2|0)>7,t2=m2?7:s2,k2=A2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+s[S2>>2],L2=~~G2,P2=+s[D2>>2],p2=~~P2,K2=(p2|0)<(L2|0),K2))for(O2=k1+(T1<<2)|0,J2=e[O2>>2]|0,U2=e[b1>>2]|0,H2=J2-U2|0,W2=+(H2|0),Y2=K1>>1,N1=+(Y2|0),e5=P2+-16,T5=+(K1|0),t5=e5*T5,x5=t5-N1,Z2=x5+W2,I5=~~Z2,p5=p2,J5=I5;b5=(J5|0)>0,b5&&(R=p5+2|0,Y5=D2+(R<<2)|0,b2=+s[Y5>>2],B5=b2+h5,o5=P1+(J5<<2)|0,R2=+s[o5>>2],M2=R2>2]=B5)),y2=J5+K1|0,Q5=(y2|0)<(u1|0),N5=p5+1|0,m5=(N5|0)<(L2|0),c5=m5&Q5,c5;)p5=N5,J5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),L5=e[M>>2]|0,Rb(P1,L5,u1),G=e[t>>2]|0,Y=(G|0)>1;e:do if(Y)for(X=t+20|0,z=t+28|0,a0=e[X>>2]|0,K=e[a0>>2]|0,r0=L5>>1,s0=K-r0|0,V=e[z>>2]|0,o0=s0-V|0,d0=e[j1>>2]|0,t0=d0+32|0,W=1,n0=K,j2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(W<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,h0=g0>>1,p0=h0-V|0,C0=+s[t0>>2],S0=$0>C0,z2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,r5=z2;;){for(b0=r5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(W0=w0=(G|0),P0=(n0|0)>(T0|0),R5=N0|P0;t:do if(R5)d2=j2;else for(w5=j2;;){if(q0=a+(w5<<2)|0,k0=+s[q0>>2],J0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(G|0),!G0){d2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,K0=(L|0)>(T0|0),K0){d2=L0;break}else w5=L0}while(!1);if(j=d2+1|0,u0=(j|0)<(G|0),!u0){l5=d2;break e}w=a0+(d2<<2)|0,x=e[w>>2]|0,W=j,n0=x,j2=d2,F2=v5}else l5=0;while(!1);if(z0=e[T>>2]|0,H0=z0+-1|0,Z0=P1+(H0<<2)|0,O0=+s[Z0>>2],Y0=(l5|0)<(G|0),Y0)i5=l5;else{C=E5;return}for(;s1=a+(i5<<2)|0,V0=+s[s1>>2],x0=V0>2]=O0),o1=i5+1|0,M5=(o1|0)==(G|0),!M5;)i5=o1;C=E5}function nl(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,W=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],T=F+M,N=+s[b>>2],G=T>N,_0=G?N:T,Y=a+(B0<<2)|0,X=+s[Y>>2],z=X+W,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,V=+s[r0>>2],o0=_0-V,q=o0>-17.200000762939453,d0=o0+17.200000762939453,t0=d0,q?(j=D*t0,u0=1-j,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*t0,m0=1-l0,g0=m0,y0=g0),f0=h+(B0<<2)|0,n0=+s[f0>>2],h0=n0*y0,s[f0>>2]=h0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function xb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;return N=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),h=g+8|0,m=e[h>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function Lb(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0;if(Ve=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?Z5=16:(h6=A5+508|0,v6=e[h6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,P0=e[b0>>2]|0,O0=1624+(P0<<3)|0,u1=+l1[O0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,Y2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,M5=C,C=C+((1*M|0)+15&-16)|0,d2=$+1156|0,F2=(c0|0)>1e3,Ye=F2?1696:1624,He=Ye+(P1<<3)|0,Ue=+l1[He>>3],G5=n5(j1,Z5)|0,L=G5,_3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=_3,v=G5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=G5,w3=C,C=C+((1*w|0)+15&-16)|0,e[Y2>>2]=w3,D=G5,q3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=q3,X5=(E|0)>1,X5&&(D3=_3+(Z5<<2)|0,t3=i2+4|0,e[t3>>2]=D3,s6=f3+(Z5<<2)|0,N3=Q2+4|0,e[N3>>2]=s6,H3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=H3,g3=q3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,B9=(E|0)==2,!B9))for(S5=2;F=e[i2>>2]|0,G=e[Q2>>2]|0,Y=e[Y2>>2]|0,X=e[b2>>2]|0,V5=n5(S5,Z5)|0,Y3=F+(V5<<2)|0,U5=i2+(S5<<2)|0,e[U5>>2]=Y3,$6=G+(V5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=Y+(V5<<2)|0,G3=Y2+(S5<<2)|0,e[G3>>2]=l3,S3=X+(V5<<2)|0,x3=b2+(S5<<2)|0,e[x3>>2]=S3,b3=S5+1|0,n9=(b3|0)==(E|0),!n9;)S5=b3;if(z5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,V3=c0^-1,j5=Z5^-1,q6=0,w9=V3;;){if(J3=(w9|0)>(j5|0),n4=J3?w9:j5,m3=n4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),Q=L6?x6:Z5,ge(M5|0,m|0,j1|0)|0,g4(a6|0,0,G5|0)|0,i6)for(M6=(Q|0)>0,S6=l0-q6|0,A9=0;;){if(M3=h+(A9<<2)|0,n6=e[M3>>2]|0,o6=n6+(q6<<2)|0,C6=M5+(A9<<2)|0,z3=e[C6>>2]|0,R3=(z3|0)==0,R3){if(M6)for(R6=Y2+(A9<<2)|0,l6=e[R6>>2]|0,z6=i2+(A9<<2)|0,A3=e[z6>>2]|0,c6=Q2+(A9<<2)|0,B6=e[c6>>2]|0,F3=b2+(A9<<2)|0,H6=e[F3>>2]|0,v9=0;G0=l6+(v9<<2)|0,s[G0>>2]=1000000013351432e-25,K0=A3+(v9<<2)|0,s[K0>>2]=0,z0=B6+(v9<<2)|0,s[z0>>2]=0,H0=H6+(v9<<2)|0,e[H0>>2]=0,q=v9+q6|0,Z0=n6+(q<<2)|0,e[Z0>>2]=0,Y0=v9+1|0,O6=(Y0|0)==(m3|0),!O6;)v9=Y0}else{if(K3=Y2+(A9<<2)|0,e6=e[K3>>2]|0,M6){for(re=0;d0=re+q6|0,A6=n6+(d0<<2)|0,D6=e[A6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=e6+(re<<2)|0,e[X6>>2]=e9,U3=re+1|0,_6=(U3|0)==(m3|0),!_6;)re=U3;if(r9=g+(A9<<2)|0,Y6=e[r9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(J9=0;U6=(J9|0)>=(S6|0),u0=U6?Ue:u1,V6=u0,t0=J9+q6|0,F6=Y6+(t0<<2)|0,t9=+s[F6>>2],y9=+rr(+t9),W=e6+(J9<<2)|0,m0=+s[W>>2],g0=y9/m0,f0=g9+(J9<<2)|0,_9=!(g0>2]=B,n0=J9+1|0,P6=(n0|0)==(Q|0),!P6;)J9=n0;if(M6)for(h0=i2+(A9<<2)|0,p0=e[h0>>2]|0,C0=Q2+(A9<<2)|0,S0=e[C0>>2]|0,F9=0;;)if(Q0=F9+q6|0,E0=Y6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(F9<<2)|0,s[B0>>2]=w0,_0=S0+(F9<<2)|0,s[_0>>2]=w0,W0=+s[E0>>2],M0=W0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(F9<<2)|0,q0=+s[N0>>2],k0=q0*q0,s[N0>>2]=k0,J0=F9+1|0,P3=(J0|0)==(m3|0),P3){T=C0,L0=p0;break}else F9=J0;else z9=21}else z9=21}else z9=21;(z9|0)==21&&(z9=0,R=i2+(A9<<2)|0,z=e[R>>2]|0,V=Q2+(A9<<2)|0,T=V,L0=z),F0=e[T>>2]|0,Re=e[$0>>2]|0,+LQ(Re,l0,L0,F0,e6,0,q6,Q,o6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}if(r6=e[d2>>2]|0,f6=(r6|0)>0,f6)for(b6=(Q|0)>0,N6=I-q6|0,j6=l0-q6|0,B3=r6,ke=0;;){if(V0=($+1160|0)+(ke<<2)|0,i1=e[V0>>2]|0,x0=($+2184|0)+(ke<<2)|0,o1=e[x0>>2]|0,d1=h+(i1<<2)|0,g1=e[d1>>2]|0,m1=g1+(q6<<2)|0,h1=h+(o1<<2)|0,A1=e[h1>>2]|0,c1=i2+(i1<<2)|0,a1=e[c1>>2]|0,$1=i2+(o1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(o1<<2)|0,p1=e[Q1>>2]|0,B1=Y2+(i1<<2)|0,v1=e[B1>>2]|0,k1=Y2+(o1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=M5+(i1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,Z1=M5+(o1<<2)|0,D1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?j2=B3:z9=31):z9=31,(z9|0)==31){if(z9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){z1=(K6|0)<(N6|0);do if(z1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,V1=R1+(K6<<2)|0,Y1&&(X1=e[V1>>2]|0,o2=(X1|0)==0,o2)){t5=(K6|0)<(j6|0);do if(t5)x5=j0+(K6<<2)|0,Z2=+s[x5>>2],I5=a1+(K6<<2)|0,b5=+s[I5>>2],Y5=b5+Z2,s[I5>>2]=Y5,f9=+rr(+Y5),g5=I1+(K6<<2)|0,s[g5>>2]=f9,N=x5;else if(B5=a1+(K6<<2)|0,o5=+s[B5>>2],R2=j0+(K6<<2)|0,M2=+s[R2>>2],y2=M2+o5,Q5=y2<0,Q9=+rr(+o5),h9=+rr(+M2),N5=h9+Q9,m5=I1+(K6<<2)|0,s[m5>>2]=N5,Q5){L5=-N5,s[B5>>2]=L5,N=R2;break}else{s[B5>>2]=N5,N=R2;break}while(!1);q5=p1+(K6<<2)|0,s[q5>>2]=0,s[N>>2]=0,e[V1>>2]=1,o0=K6+q6|0,V2=A1+(o0<<2)|0,e[V2>>2]=0;break}O1=a1+(K6<<2)|0,u2=+s[O1>>2],Y9=+rr(+u2),W1=j0+(K6<<2)|0,I2=+s[W1>>2],y6=+rr(+I2),a2=y6+Y9,s[O1>>2]=a2,C2=I1+(K6<<2)|0,A2=+s[C2>>2],K1=p1+(K6<<2)|0,h2=+s[K1>>2],l2=h2+A2,s[C2>>2]=l2,e[V1>>2]=1,e[q1>>2]=1,j=K6+q6|0,c2=g1+(j<<2)|0,r2=e[c2>>2]|0,$2=A1+(j<<2)|0,e2=e[$2>>2]|0,we=(r2|0)>-1,ve=0-r2|0,s2=we?r2:ve,ue=(e2|0)>-1,de=0-e2|0,m2=ue?e2:de,t2=(s2|0)>(m2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,G2=k2?D2:S2,e[$2>>2]=G2,K=e[c2>>2]|0,O2=K,H2=G2):(L2=(e2|0)>0,P2=r2-e2|0,p2=e2-r2|0,K2=L2?P2:p2,e[$2>>2]=K2,e[c2>>2]=e2,a0=e[$2>>2]|0,O2=e2,H2=a0),Ee=(O2|0)>-1,Me=0-O2|0,J2=Ee?O2:Me,U2=J2<<1,W2=(H2|0)<(U2|0),W2||(N1=0-H2|0,e[$2>>2]=N1,e5=e[c2>>2]|0,T5=0-e5|0,e[c2>>2]=T5)}while(!1);if(p5=v1+(K6<<2)|0,$5=+s[p5>>2],u5=L1+(K6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=K6+1|0,d9=(D5|0)==(m3|0),d9)break;K6=D5}Fe=e[$0>>2]|0,+LQ(Fe,l0,a1,I1,v1,b1,q6,Q,m1),r0=e[d2>>2]|0,j2=r0}if(d5=ke+1|0,l5=(d5|0)<(j2|0),l5)B3=j2,ke=d5;else{a3=j2;break}}else a3=r6;if(w5=q6+Z5|0,i5=(c0|0)>(w5|0),V9=w9+Z5|0,i5)q6=w5,w9=V9;else{L3=a3;break}}else L3=z5;if(d3=(L3|0)>0,d3)r3=L3,a9=0;else{C=Ve;return}for(;s5=($+1160|0)+(a9<<2)|0,h5=e[s5>>2]|0,z2=m+(h5<<2)|0,f5=e[z2>>2]|0,r5=(f5|0)==0,R5=($+2184|0)+(a9<<2)|0,r5?(X2=e[R5>>2]|0,c5=m+(X2<<2)|0,v5=e[c5>>2]|0,J5=(v5|0)==0,J5?W5=r3:z9=52):z9=52,(z9|0)==52&&(z9=0,e[z2>>2]=1,i3=e[R5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[d2>>2]|0,W5=s0),I3=a9+1|0,h3=(I3|0)<(W5|0),h3;)r3=W5,a9=I3;C=Ve}function Mb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0;for(et=C,C=C+32480|0,W3=et+32256|0,D9=et+1792|0,x9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=R9(68)|0,g4(D9|0,0,30464)|0,L3=$>0,ue=$<0,L9=0;;){for(d4=L9<<2,A4=0;o5=A4+d4|0,p5=(o5|0)<88,p5?(i5=1272+(o5<<2)|0,J5=+s[i5>>2],j9=J5):j9=-30,_3=o5+1|0,c3=(_3|0)<88,c3?(U6=1272+(_3<<2)|0,V6=+s[U6>>2],t9=j9>V6,t9?l4=V6:l4=j9):(g9=j9>-30,g9?l4=-30:l4=j9),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],d9=l4>s9,d9?T9=s9:T9=l4):(P3=l4>-30,P3?T9=-30:T9=l4),n9=o5+3|0,B9=(n9|0)<88,B9?(h9=1272+(n9<<2)|0,f9=+s[h9>>2],Y9=T9>f9,Y9?j4=f9:j4=T9):(Q9=T9>-30,Q9?j4=-30:j4=T9),y6=W3+(A4<<2)|0,s[y6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(Ie=(D9+(L9*1792|0)|0)+448|0,F=2792+(L9*1344|0)|0,ge(Ie|0,F|0,224)|0,V=(D9+(L9*1792|0)|0)+672|0,m0=(2792+(L9*1344|0)|0)+224|0,ge(V|0,m0|0,224)|0,y0=(D9+(L9*1792|0)|0)+896|0,k0=(2792+(L9*1344|0)|0)+448|0,ge(y0|0,k0|0,224)|0,s1=(D9+(L9*1792|0)|0)+1120|0,c1=(2792+(L9*1344|0)|0)+672|0,ge(s1|0,c1|0,224)|0,k1=(D9+(L9*1792|0)|0)+1344|0,G1=(2792+(L9*1344|0)|0)+896|0,ge(k1|0,G1|0,224)|0,u2=(D9+(L9*1792|0)|0)+1568|0,$2=(2792+(L9*1344|0)|0)+1120|0,ge(u2|0,$2|0,224)|0,P2=D9+(L9*1792|0)|0,ge(P2|0,F|0,224)|0,e5=(D9+(L9*1792|0)|0)+224|0,ge(e5|0,F|0,224)|0,L3)for(At=0;;){if(ue)for(Bt=0;Ee=16-Bt|0,L8=(Ee|0)>-1,$8=0-Ee|0,J9=L8?Ee:$8,re=+(J9|0),F9=re*g,v9=F9+$,K6=v9<0,I=K6?0:v9,A9=I>0,h=A9?0:I,ve=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[ve>>2],de=Me+h,s[ve>>2]=de,Re=Bt+1|0,Vt=(Re|0)==56,!Vt;)Bt=Re;else for(ct=0;d3=16-ct|0,o8=(d3|0)>-1,Zt=0-d3|0,N6=o8?d3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,y9=F6<0,E=y9?0:F6,a9=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,V9=+s[a9>>2],w9=V9+E,s[a9>>2]=w9,we=ct+1|0,Yt=(we|0)==56,!Yt;)ct=we;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ue)for(Qt=0;n4=16-Qt|0,M8=(n4|0)>-1,l8=0-n4|0,ke=M8?n4:l8,Ye=+(ke|0),z9=Ye*g,Ve=z9+$,he=Ve>0,m=he?0:Ve,Ce=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,w4=+s[Ce>>2],Z9=w4+m,s[Ce>>2]=Z9,k9=Qt+1|0,t8=(k9|0)==56,!t8;)Qt=k9;else for(lt=0;v4=16-lt|0,E8=(v4|0)>-1,A8=0-v4|0,Y4=E8?v4:A8,nt=+(Y4|0),Je=nt*g,V4=Je+$,ze=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+V4,s[ze>>2]=ot,ne=lt+1|0,qt=(ne|0)==56,!qt;)lt=ne;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(L9<<2)|0,Ue=+s[Fe>>2],He=Ue,We=0;;){for(Be=(We|0)<2,T6=+(We|0),v=T6*10,w=70-v,Ke=Be?50:w,O9=Ke+He,fe=O9,Et=0;Te=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],h4=oe+fe,s[Te>>2]=h4,f4=Et+1|0,qe=(f4|0)==56,!qe;)Et=f4;for(Se=x9+(We*224|0)|0,ge(Se|0,W3|0,224)|0,s4=+(We|0),Oe=s4*10,I4=70-Oe,Lt=0;;)if(S9=(x9+(We*224|0)|0)+(Lt<<2)|0,I6=+s[S9>>2],J4=I4+I6,s[S9>>2]=J4,k4=Lt+1|0,f8=(k4|0)==56,f8){at=0;break}else Lt=k4;for(;be=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(at<<2)|0,me=+s[be>>2],J6=(x9+(We*224|0)|0)+(at<<2)|0,F4=+s[J6>>2],T4=me>F4,T4&&(s[J6>>2]=me),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(pe=We+1|0,x8=(pe|0)==8,x8){U4=1;break}else We=pe}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(x9+(xe*224|0)|0)+(G4<<2)|0,T=+s[mt>>2],N=(x9+(U4*224|0)|0)+(G4<<2)|0,G=+s[N>>2],Y=T>2]=T),X=G4+1|0,h8=(X|0)==56,h8){z4=0;break}else G4=X;for(;z=(x9+(U4*224|0)|0)+(z4<<2)|0,a0=+s[z>>2],K=((D9+(L9*1792|0)|0)+(U4*224|0)|0)+(z4<<2)|0,r0=+s[K>>2],s0=a0>2]=a0),o0=z4+1|0,a4=(o0|0)==56,!a4;)z4=o0;if(q=U4+1|0,Ht=(q|0)==8,Ht)break;U4=q}if(d0=L9+1|0,xt=(d0|0)==17,xt)break;L9=d0}for(_9=o,Pe=(a|0)>0,o4=a^-1,S4=0;;){for(t0=R9(32)|0,j=r2+(S4<<2)|0,e[j>>2]=t0,u0=+(S4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,W=+Vn(+l0),g0=W/_9,f0=+rA(+g0),n0=~~f0,h0=+(n0|0),p0=h0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+yC(+E0),B0=~~w0,_0=n0+1|0,W0=+(_0|0),M0=W0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,P0=N0+-11.931568145751953,q0=+rA(+P0),J0=~~q0,F0=(B0|0)>(S4|0),p8=F0?S4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(J0|0)>16,Q=G0?16:J0,K0=(wt|0)>(Q|0),z0=S4+1|0,H0=(z0|0)<17,Z0=c0+3.9657840728759766,$4=0;;){if(O0=R9(232)|0,Y0=t0+($4<<2)|0,e[Y0>>2]=O0,Pe)for($t=0;V0=R+($t<<2)|0,s[V0>>2]=999,i1=$t+1|0,b9=(i1|0)==(a|0),!b9;)$t=i1;if(!K0)for(p4=wt;;){for(x0=+(p4|0),o1=x0*.5,Ct=0,b4=0;;){if(h1=+(Ct|0),u1=h1*.125,A1=u1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,j0=+Vn(+$1),E1=j0/_9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Vn(+p1),w1=B1/_9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(b4|0),Ze=_1?a8:b4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(Ze|0)<(Wt|0),D1=(Ze|0)<(a|0),jt=U1&D1,jt)for(P1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(b4|0)<(a|0),z1=x1?b4:a,q1=z1^-1,H1=(I1|0)>0,x=I1^-1,Y1=H1?x:-1,V1=(Y1|0)<(q1|0),je=V1?q1:Y1,X1=je^-1,o2=(L1|0)>0,M=L1^-1,j1=o2?M:-1,O1=(j1|0)<(o4|0),c8=O1?o4:j1,W1=c8-je|0,I2=je+a|0,a2=I2^-1,C2=W1>>>0>a2>>>0,Tt=C2?W1:a2,A2=X1-Tt|0,ae=Ze;;)if(K1=R+(ae<<2)|0,h2=+s[K1>>2],l2=h2>Z1,l2&&(s[K1>>2]=Z1),i2=ae+1|0,pt=(i2|0)==(A2|0),pt){K4=A2;break}else ae=i2;else K4=Ze;if(c2=Ct+1|0,Jt=(c2|0)==56,Jt){W4=K4;break}else Ct=c2,b4=K4}if(d1=(W4|0)<(a|0),d1)for(g1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+220|0,m1=+s[g1>>2],P4=W4;e2=R+(P4<<2)|0,s2=+s[e2>>2],m2=s2>m1,m2&&(s[e2>>2]=m1),t2=P4+1|0,zt=(t2|0)==(a|0),!zt;)P4=t2;if(k2=p4+1|0,D2=(p4|0)<(Q|0),D2)p4=k2;else break}if(H0){for(Rt=0,E4=0;;){if(O2=+(Rt|0),J2=O2*.125,U2=J2+c0,H2=U2+3.9032840728759766,W2=H2*.6931470036506653,A5=+Vn(+W2),Y2=A5/_9,N1=~~Y2,T5=U2+4.028284072875977,t5=T5*.6931470036506653,x5=+Vn(+t5),Z2=x5/_9,I5=Z2+1,b5=~~I5,Y5=(N1|0)<0,S=Y5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(E4|0),Z4=b2?E3:E4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((D9+(z0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+s[Q5>>2],m5=(E4|0)<(a|0),L5=m5?E4:a,q5=L5^-1,M5=(N1|0)>0,D=N1^-1,V2=M5?D:-1,$5=(V2|0)<(q5|0),dt=$5?q5:V2,u5=dt^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(o4|0),Ft=D5?o4:T1,d5=Ft-dt|0,l5=dt+a|0,j2=l5^-1,d2=d5>>>0>j2>>>0,X4=d2?d5:j2,w5=u5-X4|0,De=Z4;;)if(s5=R+(De<<2)|0,h5=+s[s5>>2],z2=h5>N5,z2&&(s[s5>>2]=N5),f5=De+1|0,_8=(f5|0)==(w5|0),_8){gt=w5;break}else De=f5;else gt=Z4;if(r5=Rt+1|0,e8=(r5|0)==56,e8){D4=gt;break}else Rt=r5,E4=gt}if(L2=(D4|0)<(a|0),L2)for(p2=((D9+(z0*1792|0)|0)+($4*224|0)|0)+220|0,K2=+s[p2>>2],yt=D4;R5=R+(yt<<2)|0,X2=+s[R5>>2],c5=X2>K2,c5&&(s[R5>>2]=K2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=t0+($4<<2)|0,Q2=t0+($4<<2)|0,G2=t0+($4<<2)|0,m4=0;;){I3=+(m4|0),h3=I3*.125,W5=Z0+h3,r3=W5*.6931470036506653,a3=+Vn(+r3),B3=a3/_9,G5=~~B3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,X3=w3+(f3<<2)|0,s[X3>>2]=-999;else if(q3=(G5|0)<(a|0),q3){s6=R+(G5<<2)|0,N3=e[s6>>2]|0,H3=m4+2|0,g3=e[Q2>>2]|0,u3=g3+(H3<<2)|0,e[u3>>2]=N3;break}else{X5=m4+2|0,D3=e[G2>>2]|0,t3=D3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=O0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)se=0;else if(z5=O0+12|0,H5=+s[z5>>2],V5=H5>-200,V5)se=1;else if(b3=O0+16|0,a6=+s[b3>>2],i6=a6>-200,i6)se=2;else if(V3=O0+20|0,j5=+s[V3>>2],J3=j5>-200,J3)se=3;else if(h6=O0+24|0,m3=+s[h6>>2],x6=m3>-200,x6)se=4;else if(L6=O0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(r6=O0+32|0,f6=+s[r6>>2],b6=f6>-200,b6)se=6;else if(j6=O0+36|0,v6=+s[j6>>2],M3=v6>-200,M3)se=7;else if(n6=O0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)se=8;else if(z3=O0+44|0,R3=+s[z3>>2],K3=R3>-200,K3)se=9;else if(e6=O0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)se=10;else if(z6=O0+52|0,A3=+s[z6>>2],c6=A3>-200,c6)se=11;else if(B6=O0+56|0,F3=+s[B6>>2],H6=F3>-200,H6)se=12;else if(A6=O0+60|0,D6=+s[A6>>2],e9=D6>-200,e9)se=13;else{if(Q6=O0+64|0,X6=+s[Q6>>2],U3=X6>-200,U3){se=14;break}if(r9=O0+68|0,Y6=+s[r9>>2],o9=Y6>-200,o9){se=15;break}se=16}while(!1);for(s[O0>>2]=se,Kt=55;;){if(S5=Kt+2|0,Y3=O0+(S5<<2)|0,U5=+s[Y3>>2],$6=U5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,G3=(l3|0)>17,G3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),S3=O0+4|0,s[S3>>2]=E6,x3=$4+1|0,Ut=(x3|0)==8,Ut)break;$4=x3}if(Pt=(z0|0)==17,Pt)break;S4=z0}return C=et,r2|0}function xQ(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0;if(Fe=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,A2=C,C=C+((1*I|0)+15&-16)|0,E=v,X2=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,M6=a6<1,de=M6?1:a6,C6=de*de,D=C6*.5,X=D*de,s[w>>2]=D,s[A2>>2]=D,s[X2>>2]=0,s[a3>>2]=X,s[t3>>2]=0,j=(t|0)>1,j)for(P3=1,y6=D,q6=D,a9=0,V9=0,w9=X,we=1;d1=a+(P3<<2)|0,I1=+s[d1>>2],R1=I1+g,Y1=R1<1,_9=Y1?1:R1,K1=_9*_9,k2=K1+y6,U2=K1*we,I5=U2+q6,N5=U2*we,D5=N5+a9,z2=K1*_9,f5=z2+w9,r5=U2*_9,R5=r5+V9,c5=w+(P3<<2)|0,s[c5>>2]=k2,F2=A2+(P3<<2)|0,s[F2>>2]=I5,v5=X2+(P3<<2)|0,s[v5>>2]=D5,J5=a3+(P3<<2)|0,s[J5>>2]=f5,i3=t3+(P3<<2)|0,s[i3>>2]=R5,E5=P3+1|0,I3=we+1,P6=(E5|0)==(t|0),!P6;)P3=E5,y6=k2,q6=I5,a9=D5,V9=R5,w9=f5,we=I3;if(p0=e[o>>2]|0,M0=p0>>16,K0=(M0|0)>-1,K0)W5=p0,B6=0,D6=0,X6=1,O6=0,ue=0;else for(G5=p0,w3=M0,s9=0,Ee=0;;)if(B3=G5&65535,Z5=w+(B3<<2)|0,_3=+s[Z5>>2],f3=0-w3|0,X3=w+(f3<<2)|0,q3=+s[X3>>2],X5=q3+_3,D3=A2+(B3<<2)|0,s6=+s[D3>>2],N3=A2+(f3<<2)|0,H3=+s[N3>>2],c3=s6-H3,g3=X2+(B3<<2)|0,u3=+s[g3>>2],Q3=X2+(f3<<2)|0,z5=+s[Q3>>2],H5=z5+u3,V5=a3+(B3<<2)|0,Y3=+s[V5>>2],U5=a3+(f3<<2)|0,$6=+s[U5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,G3=+s[l3>>2],E6=t3+(f3<<2)|0,S3=+s[E6>>2],x3=G3-S3,b3=n3*H5,i6=x3*c3,V3=b3-i6,j5=x3*X5,L3=n3*c3,d3=j5-L3,J3=H5*X5,h6=c3*c3,m3=J3-h6,x6=d3*Ee,L6=x6+V3,S6=L6/m3,r6=S6<0,o9=r6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=Ee+1,v6=o+(N6<<2)|0,M3=e[v6>>2]|0,n6=M3>>16,o6=(n6|0)>-1,o6){W5=M3,B6=V3,D6=d3,X6=m3,O6=N6,ue=j6;break}else G5=M3,w3=n6,s9=N6,Ee=j6;if(h3=W5&65535,r3=(h3|0)<(t|0),r3)for(S=W5,e6=h3,n9=O6,re=ue;;)if(R3=S>>16,K3=w+(e6<<2)|0,R6=+s[K3>>2],l6=w+(R3<<2)|0,o3=+s[l6>>2],z6=R6-o3,A3=A2+(e6<<2)|0,c6=+s[A3>>2],y=A2+(R3<<2)|0,x=+s[y>>2],M=c6-x,L=X2+(e6<<2)|0,R=+s[L>>2],F=X2+(R3<<2)|0,T=+s[F>>2],N=R-T,G=a3+(e6<<2)|0,Y=+s[G>>2],z=a3+(R3<<2)|0,a0=+s[z>>2],K=Y-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],V=t3+(R3<<2)|0,o0=+s[V>>2],q=s0-o0,d0=K*N,t0=q*M,u0=d0-t0,c0=q*z6,$0=K*M,l0=c0-$0,W=N*z6,m0=M*M,g0=W-m0,f0=l0*re,n0=f0+u0,h0=n0/g0,C0=h0<0,g9=C0?0:h0,S0=g9-g,Q0=$+(n9<<2)|0,s[Q0>>2]=S0,b0=n9+1|0,E0=re+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,n9=b0,re=E0;else{F3=u0,G6=l0,U3=g0,d9=b0,J9=E0;break}else F3=B6,G6=D6,U3=X6,d9=O6,J9=ue;if(z3=(d9|0)<(t|0),z3)for(B9=d9,F9=J9;W0=F9*G6,v0=W0+F3,T0=v0/U3,N0=T0<0,U6=N0?0:T0,P0=U6-g,q0=$+(B9<<2)|0,s[q0>>2]=P0,k0=B9+1|0,J0=F9+1,_6=(k0|0)==(t|0),!_6;)B9=k0,F9=J0;if(F0=(h|0)<1,F0){C=Fe;return}if(L0=(h|0)/2&-1,G0=L0-h|0,z0=(G0|0)>-1,z0)H6=F3,e9=G6,r9=U3,Q9=0,v9=0;else for(H0=h-L0|0,V0=L0,o1=G0,y9=0,K6=0;;)if(s1=w+(V0<<2)|0,i1=+s[s1>>2],x0=0-o1|0,g1=w+(x0<<2)|0,m1=+s[g1>>2],h1=m1+i1,u1=A2+(V0<<2)|0,A1=+s[u1>>2],c1=A2+(x0<<2)|0,a1=+s[c1>>2],$1=A1-a1,j0=X2+(V0<<2)|0,E1=+s[j0>>2],Q1=X2+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(V0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,b1=t3+(V0<<2)|0,_1=+s[b1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*B1,Z1=D1*$1,G1=P1-Z1,x1=D1*h1,z1=M1*$1,q1=x1-z1,H1=B1*h1,V1=$1*$1,X1=H1-V1,o2=q1*K6,j1=o2+G1,O1=j1/X1,u2=O1-g,W1=$+(y9<<2)|0,I2=+s[W1>>2],a2=u2>2]=u2),C2=y9+1|0,h2=K6+1,l2=L0+C2|0,i2=l2-h|0,t9=(C2|0)==(H0|0),t9){H6=G1,e9=q1,r9=X1,Q9=H0,v9=h2;break}else V0=l2,o1=i2,y9=C2,K6=h2;if(Z0=Q9+L0|0,O0=(Z0|0)<(t|0),O0)for(Y0=t-L0|0,b=Z0,f9=Q9,ve=v9;;)if(r2=b-h|0,$2=w+(b<<2)|0,e2=+s[$2>>2],s2=w+(r2<<2)|0,m2=+s[s2>>2],t2=e2-m2,D2=A2+(b<<2)|0,S2=+s[D2>>2],Q2=A2+(r2<<2)|0,G2=+s[Q2>>2],L2=S2-G2,P2=X2+(b<<2)|0,p2=+s[P2>>2],K2=X2+(r2<<2)|0,O2=+s[K2>>2],J2=p2-O2,H2=a3+(b<<2)|0,W2=+s[H2>>2],A5=a3+(r2<<2)|0,Y2=+s[A5>>2],N1=W2-Y2,e5=t3+(b<<2)|0,T5=+s[e5>>2],t5=t3+(r2<<2)|0,x5=+s[t5>>2],Z2=T5-x5,b5=N1*J2,Y5=Z2*L2,g5=b5-Y5,b2=Z2*t2,B5=N1*L2,o5=b2-B5,R2=J2*t2,M2=L2*L2,y2=R2-M2,Q5=o5*ve,m5=Q5+g5,L5=m5/y2,q5=L5-g,M5=$+(f9<<2)|0,V2=+s[M5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=ve+1,y5=$5+L0|0,F6=($5|0)==(Y0|0),F6){A6=g5,Q6=o5,Y6=y2,h9=Y0,A9=u5;break}else b=y5,f9=$5,ve=u5;else A6=H6,Q6=e9,Y6=r9,h9=Q9,A9=v9;if(c2=(h9|0)<(t|0),c2)Y9=h9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,d5=T1+A6,l5=d5/Y6,j2=l5-g,d2=$+(Y9<<2)|0,w5=+s[d2>>2],i5=j2>2]=j2),s5=Y9+1|0,h5=Me+1,V6=(s5|0)==(t|0),!V6;)Y9=s5,Me=h5;C=Fe}function Rb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0;if(d1=C,h=a<<2,$=h,m=C,C=C+((1*$|0)+15&-16)|0,g=h,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,H0=0;else{C=d1;return}for(;;){_0=(H0|0)<2;do if(_0)v0=m+(H0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(H0<<2)|0,e[Q>>2]=E,V0=H0;else{for(W0=t+(k0<<2)|0,M0=+s[W0>>2],Z0=H0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){Y0=Z0,o1=12;break}if(T=Z0+-2|0,N=x+(T<<2)|0,G=+s[N>>2],Y=!(b<=G),Y){Y0=Z0,o1=12;break}if(X=m+(T<<2)|0,z=e[X>>2]|0,K=z+o|0,r0=(k0|0)<(K|0),r0)Z0=B;else{Y0=Z0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(O0<<2)|0,e[w>>2]=k0,D=x+(O0<<2)|0,s[D>>2]=M0,V0=O0;break}else if((o1|0)==12){o1=0,s0=m+(Y0<<2)|0,e[s0>>2]=k0,V=x+(Y0<<2)|0,s[V>>2]=M0,V0=Y0;break}}while(!1);if(s1=V0+1|0,o0=k0+1|0,q0=(o0|0)==(a|0),q0){i1=V0,x0=s1;break}else k0=o0,H0=s1}if(c0=(i1|0)>-1,!c0){C=d1;return}for(S0=o+1|0,J0=0,G0=0;;){if(q=(J0|0)<(i1|0),q?(d0=J0+1|0,t0=x+(d0<<2)|0,j=+s[t0>>2],u0=x+(J0<<2)|0,$0=+s[u0>>2],l0=j>$0,l0?(W=m+(d0<<2)|0,m0=e[W>>2]|0,T0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(J0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),h0=(T0|0)>(a|0),F0=h0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(J0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,z0=G0;;)if(y0=t+(z0<<2)|0,e[y0>>2]=Q0,w0=z0+1|0,N0=(w0|0)==(E0|0),N0){K0=E0;break}else z0=w0;else K0=G0;if(B0=J0+1|0,P0=(B0|0)==(x0|0),P0)break;J0=B0,G0=K0}C=d1}function LQ(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0;if(u2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,W=e[s0>>2]|0,E0=(W|0)==0,E0?v1=I:(q0=t+504|0,Y0=e[q0>>2]|0,A1=Y0-m|0,v1=A1),F1=(v1|0)>(I|0),V1=F1?I:v1,F=(V1|0)>0,F)for(T=(h|0)==0,N=(v1|0)<(I|0),G=N?v1:I,q1=0;;){T?O1=9:(a0=h+(q1<<2)|0,K=e[a0>>2]|0,r0=(K|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,V=$+(q1<<2)|0,o0=+s[V>>2],q=g+(q1<<2)|0,d0=+s[q>>2],t0=o0/d0,j=a+(q1<<2)|0,u0=+s[j>>2],c0=u0<0,$0=t0,l0=+Hn(+$0),m0=+K7(l0),c0){g0=-m0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{h0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=h0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(G|0),x1){z1=G;break}else q1=C0}else z1=0;if(Y=(z1|0)<(I|0),!Y)return w=0,C=u2,+w;for(X=(h|0)!=0,z=o-m|0,Q=0,U1=0,H1=z1;;){X?(S0=h+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],W0=w0/_0,M0=!(W0<.25),v0=(H1|0)<(z|0),X1=X&v0,o2=M0|X1,o2){k0=a+(H1<<2)|0,J0=+s[k0>>2],F0=J0<0,L0=W0,G0=+Hn(+L0),K0=+K7(G0),z0=-K0,x=F0?z0:K0,y=~~x,H0=E+(H1<<2)|0,e[H0>>2]=y,Z0=n5(y,y)|0,O0=+(Z0|0),s1=+s[B0>>2],V0=O0*s1,s[y0>>2]=V0,B=Q,D1=U1;break}else{T0=W0+Q,N0=U1+1|0,P0=R+(U1<<2)|0,e[P0>>2]=y0,B=T0,D1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=D1;break}else Q=B,U1=D1,H1=i1}if(x0=(P1|0)==0,x0||(qu(R,P1,4,9),o1=(P1|0)>0,!o1))return w=S,C=u2,+w;for(d1=$,g1=t+512|0,m1=+l1[g1>>3],b=S,Y1=0;;)if(h1=R+(Y1<<2)|0,u1=e[h1>>2]|0,c1=u1,a1=c1-d1|0,$1=a1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],v=L1,M=k1,j1=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[u1>>2]=j1,R1=Y1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,Y1=R1;return C=u2,+w}function Fb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,h=+s[g>>2],m=$h,Q=E&1,B=I-Q|0,B|0}function Tb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Nb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,z=0;T=e[F>>2]|0,N=T+(z<<2)|0,G=e[N>>2]|0,Y=(G|0)==0,Y?h=L:(E2(G),o=e[$>>2]|0,h=o),X=z+1|0,g=(X|0)<(h|0),g;)L=h,z=X;if(m=e[F>>2]|0,E2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,E2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,E2(M),E2(t)}}function Gb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0;if(h0=C,g=e[t>>2]|0,q2(o,g,24),h=t+4|0,y=e[h>>2]|0,q2(o,y,24),z=t+8|0,q=e[z>>2]|0,d0=q+-1|0,q2(o,d0,24),t0=t+12|0,j=e[t0>>2]|0,u0=j+-1|0,q2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,q2(o,m,8),I=e[t0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,W=0;;){if(b=Q+(W<<2)|0,v=e[b>>2]|0,w=H8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(q2(o,x,3),q2(o,1,1),M=e[b>>2]|0,L=M>>3,q2(o,L,5)):q2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(T=a&1,N=T+f0|0,G=a>>>1,Y=(G|0)==0,Y){g0=N;break}else a=G,f0=N;if(X=g0+$0|0,a0=W+1|0,K=e[t0>>2]|0,r0=(a0|0)<(K|0),r0)$0=X,W=a0;else{$=X;break}}if(B=($|0)>0,!!B)for(S=t+280|0,m0=0;s0=S+(m0<<2)|0,V=e[s0>>2]|0,q2(o,V,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Ub(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0;a1=C,m=ce(1,2840)|0,I=t+28|0,M=e[I>>2]|0,K=r4(o,24)|0,e[m>>2]=K,$0=r4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=r4(o,24)|0,Z0=N0+1|0,Y0=m+8|0,e[Y0>>2]=Z0,s1=r4(o,6)|0,E=s1+1|0,Q=m+12|0,e[Q>>2]=E,B=r4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)c1=26;else{if(v=(s1|0)>-1,v){for(w=m+24|0,i1=0,d1=0;;){if(x=r4(o,3)|0,L=r4(o,1)|0,R=(L|0)<0,R){c1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(T=r4(o,5)|0,N=(T|0)<0,N){c1=26;break e}G=T<<3,Y=G|x,x0=Y}if(X=w+(d1<<2)|0,e[X>>2]=x0,z=(x0|0)==0,z)u1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,V=(s0|0)==0,V){u1=r0;break}else $=s0,A1=r0;if(o0=u1+i1|0,q=d1+1|0,d0=e[Q>>2]|0,t0=(q|0)<(d0|0),t0)i1=o0,d1=q;else{h=o0;break}}if(D=(h|0)>0,D)for(y=m+280|0,g1=0;;){if(j=r4(o,8)|0,u0=(j|0)<0,u0)break e;if(c0=y+(g1<<2)|0,e[c0>>2]=j,l0=g1+1|0,W=(l0|0)<(h|0),W)g1=l0;else{O0=D,V0=h;break}}else O0=0,V0=h}else O0=0,V0=0;if(m0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(m0|0)<(f0|0),n0){if(O0)for(h0=m+280|0,m1=0;;){if(S0=h0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,W0=(_0|0)==0,p0=m1+1|0,W0))break e;if(C0=(p0|0)<(V0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(m0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,P0=e[T0>>2]|0,q0=e[v0>>2]|0,k0=(q0|0)<1,!k0){for(J0=e[Q>>2]|0,o1=q0,h1=1;;){if(G0=n5(J0,h1)|0,K0=(G0|0)>(P0|0),K0)break e;if(F0=o1+-1|0,L0=(o1|0)>1,L0)o1=F0,h1=G0;else{g=G0;break}}return z0=m+16|0,e[z0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(H0=(m|0)==0,H0)?(a=0,a|0):(E2(m),a=0,a|0)}function Pb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,h=ce(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[h>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,H0=h+4|0,e[H0>>2]=T0,s1=c0+2848|0,V0=e[s1>>2]|0,I=h+12|0,e[I>>2]=V0,E=V0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=h+16|0,e[b>>2]=S,v=e[S>>2]|0,w=ce(T0,4)|0,D=h+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,u1=0,I1=0;;){if(R=M+(u1<<2)|0,F=e[R>>2]|0,T=H8(F)|0,N=(T|0)==0,N)d1=i1,Q1=I1;else if(G=(T|0)>(I1|0),$=G?T:I1,Y=ce(T,4)|0,X=w+(u1<<2)|0,e[X>>2]=Y,z=(T|0)>0,z)for(K=e[R>>2]|0,r0=w+(u1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,V=K&s0,o0=(V|0)==0,o0?o1=x0:(q=e[s1>>2]|0,d0=x0+1|0,t0=L+(x0<<2)|0,j=e[t0>>2]|0,u0=q+(j*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=d0),W=$1+1|0,m1=(W|0)==(T|0),m1){d1=o1,Q1=$;break}else x0=o1,$1=W;else d1=i1,Q1=$;if(m0=u1+1|0,g0=(m0|0)<(T0|0),g0)i1=d1,u1=m0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=h+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(h0=n5(p0,T0)|0,C0=A1+1|0,g1=(C0|0)==(v|0),g1){a=h0;break}else p0=h0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=h+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=R9(b0)|0,w0=h+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return h|0;if(_0=v<<2,!n0){for(c1=0;z0=R9(_0)|0,Z0=y0+(c1<<2)|0,e[Z0>>2]=z0,O0=c1+1|0,Y0=(O0|0)<(E0|0),Y0;)c1=O0;return h|0}for(W0=e[w0>>2]|0,a1=0;;){for(L0=R9(_0)|0,G0=y0+(a1<<2)|0,e[G0>>2]=L0,K0=W0+(a1<<2)|0,J0=e[K0>>2]|0,g=E0,j0=0,B1=a1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,P0=n5(N0,p1)|0,q0=B1-P0|0,k0=J0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,h1=(F0|0)==(v|0),!h1;)g=p1,j0=F0,B1=q0;if(M0=a1+1|0,v0=(M0|0)<(E0|0),v0)a1=M0;else break}return h|0}function Ob(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||MQ(t,o,a,L,2),0}function qb(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,E=(h|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(h|0),M){T=F;break}else L=y,R=F;return x=(T|0)==0,x||RQ(t,a,$,T,m),0}function Hb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)o1=0,I1=0;else return h=0,h|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(o1<<2)|0,b0=e[l0>>2]|0,P0=I1+1|0,K0=a+(I1<<2)|0,e[K0>>2]=b0,Q1=P0),z0=o1+1|0,Y0=(z0|0)==(g|0),Y0){p1=Q1;break}else o1=z0,I1=Q1;if(H0=(p1|0)==0,H0)return h=0,h|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=K8(t,R)|0,T=+(S|0),N=100/T,G=N,Y=(p1|0)>0,Y)for(X=M<<2,d1=0;V=K8(t,X)|0,o0=F+(d1<<2)|0,e[o0>>2]=V,g4(V|0,0,X|0)|0,q=d1+1|0,x0=(q|0)==(p1|0),!x0;)d1=q;if(z=(M|0)>0,z)for(a0=(S|0)>0,K=v+-1|0,s0=(v|0)>1,g1=0;;){if(d0=n5(g1,S)|0,t0=e[Q>>2]|0,j=t0+d0|0,Y)for(h1=0;;){if(a0)for(u0=a+(h1<<2)|0,c0=e[u0>>2]|0,O0=0,u1=0,$1=0;;)if($0=j+u1|0,W=c0+($0<<2)|0,m0=e[W>>2]|0,m1=(m0|0)>-1,j0=0-m0|0,g0=m1?m0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+O0|0,h0=u1+1|0,s1=(h0|0)==(S|0),s1){Z0=n0,a1=m;break}else O0=n0,u1=h0,$1=m;else Z0=0,a1=0;p0=+(Z0|0),C0=p0*G,S0=~~C0;e:do if(s0)for(c1=0;;){if(Q0=(Q+2328|0)+(c1<<2)|0,E0=e[Q0>>2]|0,y0=(a1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,W0=(S0|0)<(B0|0),E1=_0|W0,E1)){A1=c1;break e}if(M0=c1+1|0,v0=(M0|0)<(K|0),v0)c1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(h1<<2)|0,N0=e[T0>>2]|0,q0=N0+(g1<<2)|0,e[q0>>2]=A1,k0=h1+1|0,V0=(k0|0)==(p1|0),V0)break;h1=k0}if(J0=g1+1|0,i1=(J0|0)==(M|0),i1)break;g1=J0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,h=F,h|0}function Yb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||MQ(t,o,a,L,3),0}function Vb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,a1=0;else return h=0,h|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,h1=(R|0)!=0,s0=h1&1,A1=s0+a1|0,W=G0+1|0,J0=(W|0)==(g|0),J0){c1=A1;break}else G0=W,a1=A1;if(u1=(c1|0)==0,u1)return h=0,h|0;if(E0=e[o>>2]|0,W0=E0+8|0,M0=e[W0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=K8(t,4)|0,y=w<<2,x=K8(t,y)|0,e[D>>2]=x,g4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,T=(M0|0)>0,N=T0+-1|0,G=(T0|0)>1,Y=e[D>>2]|0,X=(g|0)>1,K0=0,V0=F;;){if(T)for(z=e[a>>2]|0,P0=0,Z0=0,x0=V0,d1=0;;){if(a0=z+(x0<<2)|0,K=e[a0>>2]|0,z0=(K|0)>-1,g1=0-K|0,r0=z0?K:g1,V=(r0|0)>(d1|0),I=V?r0:d1,X)for(k0=P0,s1=1;;)if(o0=a+(s1<<2)|0,q=e[o0>>2]|0,d0=q+(x0<<2)|0,t0=e[d0>>2]|0,H0=(t0|0)>-1,m1=0-t0|0,j=H0?t0:m1,u0=(j|0)>(k0|0),m=u0?j:k0,c0=s1+1|0,F0=(c0|0)==(g|0),F0){q0=m;break}else k0=m,s1=c0;else q0=P0;if($0=x0+1|0,l0=Z0+g|0,m0=(l0|0)<(M0|0),m0)P0=q0,Z0=l0,x0=$0,d1=I;else{N0=q0,i1=$0,o1=I;break}}else N0=0,i1=V0,o1=0;e:do if(G)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,f0=e[g0>>2]|0,n0=(o1|0)>(f0|0),!n0&&(h0=(E0+2584|0)+(Y0<<2)|0,p0=e[h0>>2]|0,C0=(N0|0)>(p0|0),!C0)){O0=Y0;break e}if(S0=Y0+1|0,Q0=(S0|0)<(N|0),Q0)Y0=S0;else{O0=S0;break}}else O0=0;while(!1);if(b0=Y+(K0<<2)|0,e[b0>>2]=O0,y0=K0+1|0,L0=(y0|0)==(w|0),L0)break;K0=y0,V0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,h=D,h|0}function Jb(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0;if(c0=C,C=C+16|0,j=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=h<<2,T=n5(F,R)|0,N=K8(o,T)|0,e[j>>2]=N,G=(h|0)>0,!G)return C=c0,0;for(Y=(Q|0)>1,K=0,t0=0;;){if(X=$+(K<<2)|0,z=e[X>>2]|0,B=g+(K<<2)|0,S=e[B>>2]|0,V=(S|0)!=0,b=V&1,q=b+t0|0,Y)for(r0=0,s0=K;v=z+(r0<<2)|0,w=e[v>>2]|0,D=N+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+h|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=K+1|0,a0=(L|0)==(h|0),a0){d0=q;break}else K=L,t0=q}return o0=(d0|0)==0,o0?(C=c0,0):(RQ(t,a,j,1,m),C=c0,0)}function zb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,P0=t+36|0,O0=e[P0>>2]|0,u1=n5(O0,g)|0,A1=u1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),h=S?B:A1,b=e[I>>2]|0,v=h-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=K8(t,R)|0,T=(g|0)>0;e:do if(T)for(a1=0;;){if(N=$+(a1<<2)|0,G=e[N>>2]|0,Y=(G|0)==0,!Y){c1=a1;break e}if(X=a1+1|0,z=(X|0)<(g|0),z)a1=X;else{c1=X;break}}else c1=0;while(!1);if(a0=(c1|0)==(g|0),a0||(K=o+8|0,s0=e[K>>2]|0,V=(s0|0)>0,!V))return 0;o0=(D|0)>0,q=t+4|0,d0=I+16|0,t0=o+28|0,j=(b0|0)>0,u0=o+20|0,h1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,m0=aE(W,q)|0,g0=(m0|0)==-1,g0){v1=23;break e}if(f0=e[d0>>2]|0,n0=(m0|0)<(f0|0),!n0){v1=23;break e}if(h0=e[t0>>2]|0,p0=h0+(m0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=j&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,W0=(I+24|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,q0=N0+(_0<<2)|0,k0=e[q0>>2]|0,J0=k0+(w1<<2)|0,F0=e[J0>>2]|0,L0=(F0|0)==0,!L0&&(G0=n5(E1,L)|0,K0=e[I>>2]|0,z0=K0+G0|0,H0=eb(F0,a,z0,g,q,L)|0,Z0=(H0|0)==-1,Z0))){v1=23;break e}if(Y0=I1+1|0,s1=E1+1|0,V0=(Y0|0)<(b0|0),i1=(s1|0)<(D|0),p1=V0&i1,p1)E1=s1,I1=Y0;else{j0=s1;break}}else j0=$1;if(x0=Q1+1|0,o1=(j0|0)<(D|0),o1)$1=j0,Q1=x0;else break}m=e[K>>2]|0,m1=m}else m1=h1;if(d1=w1+1|0,g1=(d1|0)<(m1|0),g1)h1=m1,w1=d1;else{v1=23;break}}return(v1|0)==23,0}function MQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,V=o+16|0,m0=e[V>>2]|0,y0=e[m0>>2]|0,k0=t+36|0,s1=e[k0>>2]|0,c1=s1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(c1|0),h=b?S:c1,v=e[Q>>2]|0,w=h-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,T=R+y|0,N=(T|0)/(y0|0)&-1,G=N<<2,U1=0;d0=K8(t,G)|0,t0=M+(U1<<2)|0,e[t0>>2]=d0,j=U1+1|0,M1=(j|0)==($|0),!M1;)U1=j;if(Y=o+8|0,X=e[Y>>2]|0,z=(X|0)>0,!z){C=X1;return}a0=(y|0)>0,K=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,q=o+20|0,E=L^1,Y1=0;e:for(;;){if(a0)for(u0=1<>2]|0,V0=aE(Y0,K)|0,i1=(V0|0)==-1,i1){V1=25;break e}if(x0=e[r0>>2]|0,o1=(V0|0)<(x0|0),!o1){V1=25;break e}if(d1=e[s0>>2]|0,g1=d1+(V0<<2)|0,m1=e[g1>>2]|0,h1=M+(D1<<2)|0,u1=e[h1>>2]|0,A1=u1+(x1<<2)|0,e[A1>>2]=m1,a1=(m1|0)==0,Z0=D1+1|0,a1){V1=25;break e}if(O0=(Z0|0)<($|0),O0)D1=Z0;else break}c0=(b1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),z1=E1&I1,z1)R1=j0,Z1=$1;else{_1=j0;break t}for(;;){for(h0=n5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+h0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,W0=(_0|0)==0,!W0&&(M0=e[q>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(Y1<<2)|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0&&(J0=a+(P1<<2)|0,F0=e[J0>>2]|0,L0=F0+(n0<<2)|0,G0=TC[g&3](P0,L0,K,F)|0,K0=(G0|0)==-1,K0))){V1=25;break e}if(z0=P1+1|0,H0=(z0|0)<($|0),H0)P1=z0;else break}if($0=G1+1|0,l0=F1+1|0,W=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=W&g0,q1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,p1=(_1|0)<(y|0),p1)b1=_1,x1=Q1;else break}if(B1=Y1+1|0,w1=e[Y>>2]|0,v1=(B1|0)<(w1|0),v1)Y1=B1;else{V1=25;break}}if((V1|0)==25){C=X1;return}}function RQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,z6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,l2=e[x>>2]|0,J2=y+12|0,Z2=e[J2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,h3=y+4|0,q3=e[h3>>2]|0,M=e[y>>2]|0,K=q3-M|0,$0=(K|0)/(l2|0)&-1,g4(z6|0,0,512)|0,g4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(h1=($0|0)>0,B1=($|0)>0,D1=(f5|0)>1,o2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(h1){for(G2=(c6|0)==0,L2=1<>2]|0,q5=L5+(j5<<2)|0,M5=e[q5>>2]|0,V2=e[Q5>>2]|0,p5=V2+4|0,$5=e[p5>>2]|0,u5=(M5|0)<($5|0),u5&&(y5=Pu(V2,M5,t)|0,D5=e[o2>>2]|0,d5=D5+y5|0,e[o2>>2]=d5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(M3<<2)|0,I5=e[b2>>2]|0,B5=I5+(j5<<2)|0,o5=e[B5>>2]|0,C6=1,A6=o5;;)if(e5=n5(A6,Z2)|0,T5=C6+j5|0,t5=(T5|0)<($0|0),t5?(x5=I5+(T5<<2)|0,b5=e[x5>>2]|0,Y5=b5+e5|0,D6=Y5):D6=e5,g5=C6+1|0,x3=(g5|0)==(f5|0),x3){G6=D6;break}else C6=g5,A6=D6;if(K2=e[Q5>>2]|0,O2=K2+4|0,U2=e[O2>>2]|0,H2=(G6|0)<(U2|0),H2&&(W2=Pu(K2,G6,t)|0,A5=e[o2>>2]|0,Y2=A5+W2|0,e[o2>>2]=Y2),N1=M3+1|0,b3=(N1|0)==($|0),b3)break;M3=N1}}while(!1);if(R2=(j5|0)<($0|0),R6=i2&R2,R6){for(M2=j5-$0|0,y2=M2>>>0>>0,H6=y2?Q2:M2,N5=0-H6|0,h6=j5,z3=0;;){if(j2=n5(h6,l2)|0,d2=e[y>>2]|0,w5=d2+j2|0,B1)for(o6=0;;){if(i5=g+(o6<<2)|0,s5=e[i5>>2]|0,h5=s5+(h6<<2)|0,z2=e[h5>>2]|0,G2&&(r5=A3+(z2<<2)|0,R5=e[r5>>2]|0,X2=R5+l2|0,e[r5>>2]=X2),c5=(y+24|0)+(z2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,J5=(v5|0)==0,!J5&&(i3=e[D2>>2]|0,E5=i3+(z2<<2)|0,I3=e[E5>>2]|0,W5=I3+(c6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,G5=e[B3>>2]|0,Z5=e[r3>>2]|0,_3=(l2|0)/(Z5|0)&-1,f3=(_3|0)>0,f3){for(w3=r3+48|0,X3=r3+52|0,X5=r3+44|0,D3=r3+12|0,t3=r3+4|0,L=Z5,S5=0,d3=0;;){s6=n5(d3,Z5)|0,b=s6+w5|0,N3=G5+(b<<2)|0,H3=e[w3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(G=g3+-1|0,m3=0,S6=0,K3=L;;)if(C0=K3+-1|0,D=b+C0|0,S0=G5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-H3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(W0=E0-u3|0,M0=W0<<1,T0=M0),v0=n5(S6,g3)|0,P0=(T0|0)<0,q0=(T0|0)>=(g3|0),k0=q0?G:T0,J0=P0?0:k0,F0=J0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,K3=C0}else{if(!R){r6=0;break}for(F=c3>>1,T=F-H3|0,N=g3+-1|0,L3=0,M6=0,R3=L;;)if(Y=R3+-1|0,w=b+Y|0,X=G5+(w<<2)|0,z=e[X>>2]|0,a0=T+z|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(V=u3-r0|0,o0=V<<1,q=o0+-1|0,u0=q):(d0=r0-u3|0,t0=d0<<1,u0=t0),j=n5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),W=l0?N:u0,m0=c0?0:W,g0=m0+j|0,f0=n5(r0,c3)|0,n0=f0+H3|0,h0=o3+(Y<<2)|0,e[h0>>2]=n0,p0=L3+1|0,V3=(p0|0)==(L|0),V3){r6=g0;break}else L3=p0,M6=g0,R3=Y}while(!1);K0=e[D3>>2]|0,z0=K0+8|0,H0=e[z0>>2]|0,O0=H0+r6|0,Y0=f[O0>>0]|0,s1=Y0<<24>>24<1;do if(s1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,V0=g3+-1|0,i1=n5(V0,c3)|0,x0=i1+H3|0,o1=e[t3>>2]|0,d1=(o1|0)>0,d1)z5=-1,x6=0,f6=r6;else{N6=r6;break}for(;;){g1=H0+x6|0,m1=f[g1>>0]|0,u1=m1<<24>>24>0;do if(u1){if(R)for(j6=0,F3=0;;)if(A1=U5+(j6<<2)|0,c1=e[A1>>2]|0,v=b+j6|0,a1=G5+(v<<2)|0,$1=e[a1>>2]|0,j0=c1-$1|0,E1=n5(j0,j0)|0,I1=E1+F3|0,Q1=j6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else j6=Q1,F3=I1;else B6=0;if(p1=(z5|0)==-1,w1=(B6|0)<(z5|0),e6=p1|w1,!e6){H5=z5,b6=f6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=B6,b6=x6}else H5=z5,b6=f6;while(!1);if(v1=e[U5>>2]|0,k1=(v1|0)<(x0|0),k1)m=U5,I=v1;else for(M1=U5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(x0|0),R1){m=b1,I=_1;break}else M1=b1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=x6+1|0,n3=(G1|0)==(o1|0),n3){N6=b6;break}else z5=H5,x6=G1,f6=b6}}else N6=r6;while(!1);if(x1=(N6|0)>-1,l6=R&x1,l6)for(h=N3,L6=0;z1=o3+(L6<<2)|0,q1=e[z1>>2]|0,H1=h+4|0,Y1=e[h>>2]|0,V1=Y1-q1|0,e[h>>2]=V1,X1=L6+1|0,l3=(X1|0)==(L|0),!l3;)h=H1,L6=X1;if(j1=Pu(r3,N6,t)|0,O1=j1+S5|0,u2=d3+1|0,G3=(u2|0)==(_3|0),G3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,d3=u2}B=e[i5>>2]|0,C2=B,V5=E}else C2=s5,V5=0;W1=e[S2>>2]|0,I2=W1+V5|0,e[S2>>2]=I2,a2=C2+(h6<<2)|0,A2=e[a2>>2]|0,K1=z6+(A2<<2)|0,h2=e[K1>>2]|0,c2=h2+V5|0,e[K1>>2]=c2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if($2=z3+1|0,e2=h6+1|0,S3=($2|0)==(N5|0),S3)break;h6=e2,z3=$2}P2=j5-H6|0,J3=P2}else J3=j5;if(p2=(J3|0)<($0|0),p2)j5=J3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(s2=c6+1|0,m2=(s2|0)<(t2|0),m2)k2=t2,c6=s2;else break}C=Q6}function H8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,h=($|0)==0,h){m=g;break}else o=$,I=g;return m|0}function FQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,O1=h2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=R9(R)|0,g4(O1|0,0,132)|0,W=(o|0)>0;do if(W){E0=O1+4|0,q0=(a|0)==0,Y0=q0&1,v1=0,D1=0;e:for(;;){A1=t+D1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,u2=w|y,!u2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(V=v,o0=M,z1=B;;){if(r0=V+1|0,e[o0>>2]=r0,q=z1+-1|0,d0=(z1|0)>1,!d0)break i;if(h=O1+(q<<2)|0,I=e[h>>2]|0,t0=O1+(q<<2)|0,j=I&1,u0=(j|0)==0,u0)V=I,o0=t0,z1=q;else{g=t0,x1=q,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(x1|0)==1,N){G=e[E0>>2]|0,Y=G+1|0,e[E0>>2]=Y;break}else{X=x1+-1|0,z=O1+(X<<2)|0,a0=e[z>>2]|0,K=a0<<1,e[g>>2]=K;break}while(!1);if(V1=B+1|0,T=(V1|0)<33,T)for(R1=v,H1=B,X1=V1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,h0=(q1|0)<33,h0)Y1=X1,R1=$0,X1=q1,H1=Y1;else{m=1;break}}else m=1}else m=Y0;while(!1);if(k1=v1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,D1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return E2(s0),$=0,C=h2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,O0=e[Z0>>2]|0,s1=32-P1|0,V0=-1>>>s1,i1=O0&V0,x0=(i1|0)==0,z0=P1+1|0,!!x0;)if(H0=(z0|0)<33,H0)P1=z0,K1=27;else break e;return E2(s0),$=0,C=h2,$|0}while(!1);if(!W)return $=s0,C=h2,$|0;if(E)b1=0,G1=0;else{for(M1=0,Z1=0;;){if(o1=t+Z1|0,d1=f[o1>>0]|0,g1=d1<<24>>24>0,g1)for(m1=s0+(M1<<2)|0,h1=e[m1>>2]|0,u1=d1<<24>>24,o2=0,C2=0;;)if(c1=C2<<1,a1=h1>>>o2,$1=a1&1,j0=$1|c1,E1=o2+1|0,I1=(E1|0)<(u1|0),I1)o2=E1,C2=j0;else{I2=j0;break}else I2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=I2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=h2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(K0=s0+(b1<<2)|0,P0=e[K0>>2]|0,G0=w0<<24>>24,j1=0,A2=0;;)if(T0=A2<<1,N0=P0>>>j1,k0=N0&1,J0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,A2=J0;else{a2=J0;break}else a2=0;if(_0=w0<<24>>24==0,_0?_1=b1:(W0=b1+1|0,M0=s0+(b1<<2)|0,e[M0>>2]=a2,_1=W0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=h2,$|0}function Kb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0;if(V=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,T=+Nu(+M,+F),h=+rA(+T),m=~~h,z=m;;){for(b=z+1|0,N=1,G=1,Y=0;;)if(B=n5(N,z)|0,S=n5(G,b)|0,v=Y+1|0,w=(v|0)<(D|0),w)N=B,G=S,Y=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),X=I&E,X){r0=z;break}Q=(o|0)>(g|0),K=Q?-1:1,a0=z+K|0,z=a0}return r0|0}function Wb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,r5=E>>>0<2,!r5)return h=0,h|0;if(V0=t+16|0,a1=e[V0>>2]|0,L1=a1&2097151,x1=+(L1|0),W1=a1>>>21,$2=W1&1023,P2=(a1|0)<0,e5=-x1,$=P2?e5:x1,S=$2+-788|0,T=+lE($,S),o0=T,g0=t+20|0,w0=e[g0>>2]|0,J0=w0&2097151,Z0=+(J0|0),O0=w0>>>21,Y0=O0&1023,s1=(w0|0)<0,i1=-Z0,g=s1?i1:Z0,x0=Y0+-788|0,o1=+lE(g,x0),d1=o1,g1=e[t>>2]|0,m1=n5(g1,o)|0,h1=ce(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(g1|0)>0,!k1)for(;;);for(M1=+(v1|0),b1=M1,_1=+(g1|0),R1=1/_1,F1=R1,U1=+Nu(+b1,+F1),D1=+rA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,o5=1,R2=1,p5=0;;)if(O1=n5(o5,c5)|0,u2=n5(R2,I2)|0,a2=p5+1|0,m5=(a2|0)==(g1|0),m5){m=O1,I=u2;break}else o5=O1,R2=u2,p5=a2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),X2=j1?-1:1,R5=X2+c5|0,c5=R5}if(z1=(v1|0)>0,!z1)return h=h1,h|0;for(q1=(a|0)==0,H1=t+8|0,Y1=t+32|0,V1=d1,X1=o0,o2=t+28|0,M2=0,T1=0;;){if(q1)if(l2=e[Y1>>2]|0,i2=e[o2>>2]|0,c2=(i2|0)==0,r2=n5(g1,M2)|0,c2)for(y5=1,j2=0;;)if(x5=(T1|0)/(y5|0)&-1,Z2=(x5|0)%(F2|0)&-1,I5=l2+(Z2<<2)|0,b5=e[I5>>2]|0,Y5=+(b5|0),V2=+rr(+Y5),g5=V2,b2=g5*V1,B5=X1+b2,b=B5,v=r2+j2|0,w=h1+(v<<2)|0,s[w>>2]=b,D=n5(y5,F2)|0,y=j2+1|0,x=(y|0)<(g1|0),x)y5=D,j2=y;else{v5=21;break}else for($5=1,d5=0,i5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=l2+(L<<2)|0,F=e[R>>2]|0,N=+(F|0),q5=+rr(+N),G=q5,Y=G*V1,X=i5,z=X+X1,a0=z+Y,K=a0,r0=r2+d5|0,s0=h1+(r0<<2)|0,s[s0>>2]=K,V=n5($5,F2)|0,q=d5+1|0,d0=(q|0)<(g1|0),d0)$5=V,d5=q,i5=K;else{v5=21;break}else if(C2=e[H1>>2]|0,A2=C2+T1|0,K1=f[A2>>0]|0,h2=K1<<24>>24==0,h2)y2=M2;else for(e2=e[Y1>>2]|0,s2=e[o2>>2]|0,m2=(s2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=n5(k2,g1)|0,u5=1,l5=0,s5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,G2=e2+(Q2<<2)|0,L2=e[G2>>2]|0,p2=+(L2|0),M5=+rr(+p2),K2=M5,O2=K2*V1,J2=s5,U2=J2+X1,H2=U2+O2,W2=H2,w5=m2?s5:W2,A5=D2+l5|0,Y2=h1+(A5<<2)|0,s[Y2>>2]=W2,N1=n5(u5,F2)|0,T5=l5+1|0,t5=(T5|0)<(g1|0),t5)u5=N1,l5=T5,s5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,t0=M2+1|0,y2=t0),j=T1+1|0,u0=(j|0)<(v1|0),u0)M2=y2,T1=j;else{h=h1;break}}return h|0}else if((B|0)==2){if(u1=t+4|0,A1=e[u1>>2]|0,c1=(A1|0)>0,!c1)return h=h1,h|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=d1,Q1=o0,p1=t+28|0,B1=(g1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,W=l0<<24>>24==0,W?N5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(m0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,h0=a+(Q5<<2)|0,p0=n5(g1,D5)|0,C0=n5(g1,Q5)|0,d2=0,z2=0;S0=p0+d2|0,Q0=m0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),L5=+rr(+E0),y0=L5,B0=y0*I1,_0=z2,W0=_0+Q1,M0=W0+B0,v0=M0,h5=n0?z2:v0,$1?(T0=e[h0>>2]|0,N0=n5(T0,g1)|0,P0=N0+d2|0,q0=h1+(P0<<2)|0,s[q0>>2]=v0):(k0=C0+d2|0,F0=h1+(k0<<2)|0,s[F0>>2]=v0),L0=d2+1|0,G0=(L0|0)<(g1|0),G0;)d2=L0,z2=h5;K0=Q5+1|0,N5=K0}if(z0=D5+1|0,H0=(z0|0)<(A1|0),H0)Q5=N5,D5=z0;else{h=h1;break}}return h|0}else return h=h1,h|0;return 0}function LC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,h=e[g>>2]|0,m=(h|0)==0,m||E2(h),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),E2(t))}function Zb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||E2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||E2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||E2($),h=t+32|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function TQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0;O0=C,H0=t,Y0=H0+56|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(Y0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,K=t+4|0,e[K>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,W0=e[_0>>2]|0,M0=FQ(W0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Nu(+b,+D),x=+rA(+y),L=~~x,K0=L;;){for(Y=K0+1|0,T0=1,N0=1,q0=0;;)if(N=n5(T0,K0)|0,G=n5(N0,Y)|0,X=q0+1|0,P0=(X|0)==(Q|0),P0){g=N,h=G;break}else T0=N,N0=G,q0=X;if(R=(g|0)<=(E|0),F=(h|0)>(E|0),k0=F&R,k0){z0=K0;break}T=(g|0)>(E|0),G0=T?-1:1,L0=G0+K0|0,K0=L0}return z=t+44|0,e[z>>2]=z0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,V=+(s0|0),o0=r0>>>21,q=o0&1023,d0=(r0|0)<0,t0=-V,a=d0?t0:V,j=q+-788|0,u0=+lE(a,j),c0=u0,J0=+qQ(c0),l0=~~J0,W=t+48|0,e[W>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,f0=g0&2097151,n0=+(f0|0),h0=g0>>>21,p0=h0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+lE($,b0),y0=E0,F0=+qQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function jb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0;P3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(b=o+4|0,v=e[b>>2]|0,C2=(v|0)>0,C2)for(V2=o+8|0,w5=e[V2>>2]|0,z3=0,G6=0;;)if(v5=w5+z3|0,Z5=f[v5>>0]|0,H3=Z5<<24>>24>0,$6=H3&1,E=$6+G6|0,j5=z3+1|0,w=(j5|0)<(v|0),w)z3=j5,G6=E;else{h0=E;break}else h0=0;if(Y=t+4|0,e[Y>>2]=v,t0=t+8|0,e[t0>>2]=h0,W0=e[o>>2]|0,e[t>>2]=W0,G0=(h0|0)>0,!G0)return $=0,C=P3,$|0;if(o1=o+8|0,E1=e[o1>>2]|0,_1=FQ(E1,v,h0)|0,H1=h0<<2,h=H1,A2=C,C=C+((1*h|0)+15&-16)|0,t2=(_1|0)==0,t2){H2=t+16|0,W2=e[H2>>2]|0,A5=(W2|0)==0,A5||E2(W2),Y2=t+20|0,N1=e[Y2>>2]|0,e5=(N1|0)==0,e5||E2(N1),T5=t+24|0,t5=e[T5>>2]|0,x5=(t5|0)==0,x5||E2(t5),I5=t+28|0,b5=e[I5>>2]|0,Y5=(b5|0)==0,Y5||E2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=P3,$|0}else R3=0;for(;J2=_1+(R3<<2)|0,Z2=e[J2>>2]|0,Q5=Z2>>>16,N5=Z2<<16,m5=Q5|N5,L5=m5>>>8,q5=L5&16711935,M5=m5<<8,p5=M5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,d5=y5|D5,l5=d5>>>2,j2=l5&858993459,d2=d5<<2,i5=d2&-858993460,s5=j2|i5,h5=s5>>>1,z2=h5&1431655765,f5=s5<<1,r5=f5&-1431655766,R5=z2|r5,e[J2>>2]=R5,X2=A2+(R3<<2)|0,e[X2>>2]=J2,c5=R3+1|0,j6=(c5|0)==(h0|0),!j6;)R3=c5;for(qu(A2,h0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,J5=R9(H1)|0,i3=t+20|0,e[i3>>2]=J5,E5=_1,K3=0;;)if(I3=A2+(K3<<2)|0,h3=e[I3>>2]|0,W5=h3,r3=W5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=K3,G5=K3+1|0,N6=(G5|0)==(h0|0),N6){e6=0;break}else K3=G5;for(;_3=_1+(e6<<2)|0,f3=e[_3>>2]|0,w3=F2+(e6<<2)|0,X3=e[w3>>2]|0,q3=J5+(X3<<2)|0,e[q3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(h0|0),!b6;)e6=X5;if(E2(_1),D3=Wb(o,h0,F2)|0,t3=t+16|0,e[t3>>2]=D3,s6=R9(H1)|0,N3=t+24|0,e[N3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=Q+R6|0,Q3=f[u3>>0]|0,z5=Q3<<24>>24>0,z5?(H5=Q6+1|0,V5=F2+(Q6<<2)|0,S5=e[V5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=R9(e9)|0,G3=t+28|0,e[G3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[o1>>2]|0,o5=0,x3=B,l6=0,r9=0;;)if(S3=x3+l6|0,b3=f[S3>>0]|0,a6=b3<<24>>24>0,a6?(i6=r9+1|0,V3=F2+(r9<<2)|0,L3=e[V3>>2]|0,d3=e[G3>>2]|0,J3=d3+L3|0,f[J3>>0]=b3,h6=e[o1>>2]|0,m3=h6+l6|0,x6=f[m3>>0]|0,L6=x6<<24>>24,M6=e[E6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[E6>>2]=L6,R2=L6,M2=h6,Y6=i6):(R2=M6,M2=h6,Y6=i6)):(R2=o5,M2=x3,Y6=r9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)o5=R2,x3=M2,l6=r6,r9=Y6;else{I=R2,o9=Y6;break}if(x=(o9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=ce(2,4)|0,F=t+32|0,e[F>>2]=R,T=R+4|0,e[T>>2]=1,e[R>>2]=1,$=0,C=P3,$|0;U3=1}else U3=o9}else U3=0;if(N=e[t0>>2]|0,G=(N|0)==0,G)U6=-4;else{for(g=N,V6=0;;)if(X=g>>>1,z=V6+1|0,a0=(X|0)==0,a0){F6=V6;break}else g=X,V6=z;g9=F6+-3|0,U6=g9}if(K=t+36|0,r0=(U6|0)<5,a=r0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[K>>2]=t9,V=1<>2]=o0,d0=(U3|0)>0,d0)for(l0=t9,o3=0;;){if(j=e[G3>>2]|0,u0=j+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,W=(l0|0)<($0|0),W)y2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,P0=v0<<2,q0=P0&-858993460,k0=N0|q0,J0=k0>>>1,F0=J0&1431655765,L0=k0<<1,K0=L0&-1431655766,z0=F0|K0,H0=l0-$0|0,Z0=(H0|0)==31,Z0)y2=l0;else for(O0=o3+1|0,s1=$0,A3=0;;)if(Y0=A3<>2]=O0,x0=A3+1|0,d1=e[K>>2]|0,g1=f[u0>>0]|0,m1=g1<<24>>24,h1=d1-m1|0,u1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,b1=k1<<8,R1=b1&-16711936,F1=M1|R1,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=D1|Z1,x1=G1>>>2,z1=x1&858993459,q1=G1<<2,Y1=q1&-858993460,V1=z1|Y1,X1=V1>>>1,o2=X1&1431655765,j1=V1<<1,O1=j1&-1431655766,u2=o2|O1,W1=o0+(u2<<2)|0,I2=e[W1>>2]|0,a2=(I2|0)==0,a2){for(B6=c6;;){if(K1=B6+1|0,h2=(K1|0)<(U3|0),!h2){F3=B6;break}if(l2=e[i3>>2]|0,i2=l2+(K1<<2)|0,c2=e[i2>>2]|0,r2=c2>>>0>B1>>>0,r2){F3=B6;break}else B6=K1}$2=(U3|0)>(v6|0);e:do if($2)for(e2=e[i3>>2]|0,n6=v6;;){if(s2=e2+(n6<<2)|0,m2=e[s2>>2]|0,k2=m2&j0,D2=B1>>>0>>0,D2){M3=n6;break e}if(S2=n6+1|0,Q2=(U3|0)>(S2|0),Q2)n6=S2;else{M3=S2;break}}else M3=v6;while(!1);G2=U3-M3|0,L2=F3>>>0>32767,P2=G2>>>0>32767,C6=P2?32767:G2,H6=F3<<15,A6=H6|-2147483648,p2=L2?-1073774592:A6,K2=p2|C6,e[W1>>2]=K2,o6=M3,D6=F3}else o6=v6,D6=c6;if(O2=z6+1|0,U2=(O2|0)<(V|0),!U2){$=0;break}S=e[K>>2]|0,p1=S,v6=o6,z6=O2,c6=D6}return C=P3,$|0}function Xb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$>>>0>h>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function eD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0;if(W0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,V=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,W=l0+4|0,m0=e[W>>2]|0,g0=(m0|0)>0,!!g0)){for(f0=m0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=n5(D,w)|0,x=v+-1|0,M=n5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(z=(R|0)==0,a=E+L|0,a0=V+(a<<2)|0,z){PQ(D,w,o,V,a0),y0=0;break}else{PQ(D,w,V,o,a0),y0=R;break}else if((v|0)==4)if(T=L+D|0,N=(R|0)==0,$=E+L|0,G=V+($<<2)|0,g=E+T|0,Y=V+(g<<2)|0,h=E+D|0,m=h+T|0,X=V+(m<<2)|0,N){UQ(D,w,o,V,G,Y,X),y0=0;break}else{UQ(D,w,V,o,G,Y,X),y0=R;break}else if(K=(D|0)==1,b0=K?E0:R,r0=(b0|0)==0,I=E+L|0,s0=V+(I<<2)|0,r0){OQ(D,v,w,y,o,o,o,V,V,s0),y0=1;break}else{OQ(D,v,w,y,V,V,V,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,h0=(o0|0)==(m0|0),h0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(q=(w0|0)!=1,d0=(Q|0)>0,B0=d0&q,B0)p0=0;else return;for(;t0=V+(p0<<2)|0,j=e[t0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=j,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function NQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=ce(m,4)|0,M=t+4|0,e[M>>2]=I,K=ce(32,4)|0,$0=t+8|0,e[$0>>2]=K,Q0=(o|0)==1,!Q0){W0=K+8|0,V0=-1,g1=0,m1=o,u1=0;e:for(;;)for(M0=V0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=u1+2|0,A1=Q),B=(A1|0)!=2,H0=g1,h1=m1;;){if(K0=H0+1|0,S=(h1|0)/(A1|0)&-1,b=n5(S,A1)|0,v=(h1|0)==(b|0),!v){V0=M0,g1=H0,m1=h1,u1=A1;continue e}if(w=H0+2|0,D=K+(w<<2)|0,e[D>>2]=A1,y=(H0|0)==0,c1=B|y,!c1){if(x=(H0|0)<1,!x)for(F0=1;L=K0-F0|0,R=L+1|0,F=K+(R<<2)|0,T=e[F>>2]|0,N=L+2|0,G=K+(N<<2)|0,e[G>>2]=T,Y=F0+1|0,k0=(Y|0)==(K0|0),!k0;)F0=Y;e[W0>>2]=2}if(X=(S|0)==1,X){a=y,z0=K0,Z0=H0;break e}else H0=K0,h1=S}if(e[K>>2]=o,z=K+4|0,e[z>>2]=z0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,a1=s0&$,!!a1)for(V=o+1|0,O0=0,x0=0,o1=1;;){if(o0=x0+2|0,q=K+(o0<<2)|0,d0=e[q>>2]|0,t0=n5(d0,o1)|0,j=(o|0)/(t0|0)&-1,u0=(d0|0)>1,u0){for(c0=(j|0)>2,l0=d0+-1|0,s1=O0,i1=0,d1=0;;){if(W=d1+o1|0,m0=+(W|0),g0=m0*r0,c0)for(J0=0,L0=s1,G0=2;f0=J0+1,n0=g0*f0,N0=+nA(+n0),g=L0+o|0,h0=I+(g<<2)|0,s[h0>>2]=N0,$1=+Yn(+n0),p0=L0+2|0,h=V+L0|0,C0=I+(h<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(j|0),b0;)J0=f0,L0=p0,G0=S0;if(E0=s1+j|0,y0=i1+1|0,P0=(y0|0)==(l0|0),P0)break;s1=E0,i1=y0,d1=W}w0=n5(j,l0)|0,B0=w0+O0|0,Y0=B0}else Y0=O0;if(_0=x0+1|0,q0=(_0|0)==(Z0|0),q0)break;O0=Y0,x0=_0,o1=t0}}}function GQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),h=t+8|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function UQ(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0;if(I3=C,I=n5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,V1=t<<2,K1=V1+-1|0,k2=t<<1,d2=0,s5=I,f5=F1,X2=0,c5=E;U2=a+(s5<<2)|0,I5=+s[U2>>2],N5=a+(f5<<2)|0,Q=+s[N5>>2],R=Q+I5,s0=a+(X2<<2)|0,W=+s[s0>>2],E0=a+(c5<<2)|0,q0=+s[E0>>2],Y0=q0+W,A1=Y0+R,E1=X2<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=Y0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[N5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,Z1=s5+t|0,G1=f5+t|0,x1=X2+t|0,z1=c5+t|0,q1=d2+1|0,d5=(q1|0)==(o|0),!d5;)d2=q1,s5=Z1,f5=G1,X2=x1,c5=z1;if(H1=(t|0)<2,!H1){if(Y1=(t|0)==2,!Y1){if(Q1)for(X1=t<<1,w5=0,h5=0;;){for(n0=h5<<2,h0=n0+X1|0,j2=2,r5=h5,F2=n0,J5=h0;O1=r5+2|0,u2=F2+2|0,W1=J5+-2|0,I2=O1+I|0,a2=j2+-2|0,C2=g+(a2<<2)|0,A2=+s[C2>>2],h2=I2+-1|0,l2=a+(h2<<2)|0,i2=+s[l2>>2],c2=i2*A2,r2=j2+-1|0,$2=g+(r2<<2)|0,e2=+s[$2>>2],s2=a+(I2<<2)|0,m2=+s[s2>>2],t2=m2*e2,D2=t2+c2,S2=m2*A2,Q2=e2*i2,G2=S2-Q2,L2=I2+I|0,P2=h+(a2<<2)|0,p2=+s[P2>>2],K2=L2+-1|0,O2=a+(K2<<2)|0,J2=+s[O2>>2],H2=J2*p2,W2=h+(r2<<2)|0,A5=+s[W2>>2],Y2=a+(L2<<2)|0,N1=+s[Y2>>2],e5=N1*A5,T5=e5+H2,t5=N1*p2,x5=A5*J2,Z2=t5-x5,b5=L2+I|0,Y5=m+(a2<<2)|0,g5=+s[Y5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,o5=+s[B5>>2],R2=o5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],L5=m5*y2,q5=L5+R2,M5=m5*g5,V2=y2*o5,p5=M5-V2,$5=q5+D2,u5=q5-D2,y5=p5+G2,T1=G2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+Z2,v=S-Z2,w=r5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+T5,M=y-T5,L=$5+x,F=F2|1,T=$+(F<<2)|0,s[T>>2]=L,N=y5+b,G=$+(u2<<2)|0,s[G>>2]=N,Y=M-T1,X=J5+-3|0,z=$+(X<<2)|0,s[z>>2]=Y,a0=u5-v,K=$+(W1<<2)|0,s[K>>2]=a0,r0=T1+M,V=u2+X1|0,o0=V+-1|0,q=$+(o0<<2)|0,s[q>>2]=r0,d0=u5+v,t0=$+(V<<2)|0,s[t0>>2]=d0,j=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=j,l0=y5-b,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=j2+2|0,f0=(g0|0)<(t|0),f0;)j2=g0,r5=O1,F2=u2,J5=W1;if(o2=h5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,h5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,i5=0,z2=Q0,R5=w0,v5=t,i3=t;B0=a+(z2<<2)|0,_0=+s[B0>>2],W0=a+(R5<<2)|0,M0=+s[W0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,P0=N0*.7071067690849304,k0=i3+-1|0,J0=a+(k0<<2)|0,F0=+s[J0>>2],L0=P0+F0,G0=v5+-1|0,K0=$+(G0<<2)|0,s[K0>>2]=L0,z0=+s[J0>>2],H0=z0-P0,Z0=v5+y0|0,O0=Z0+-1|0,s1=$+(O0<<2)|0,s[s1>>2]=H0,V0=z2+I|0,i1=a+(V0<<2)|0,x0=+s[i1>>2],o1=T0-x0,d1=$+(v5<<2)|0,s[d1>>2]=o1,g1=+s[i1>>2],m1=g1+T0,h1=$+(Z0<<2)|0,s[h1>>2]=m1,u1=z2+t|0,c1=R5+t|0,a1=v5+b0|0,$1=i3+t|0,j0=i5+1|0,D5=(j0|0)==(o|0),!D5;)i5=j0,z2=u1,R5=c1,v5=a1,i3=$1}}function PQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,h=n5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=h;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,H0=+s[T0>>2],m1=H0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,a1=(D|0)==(o|0),!a1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=h;;){for(J0=B1<<1,F0=J0+m|0,j0=2,M1=k1,_1=F0,R1=B1,F1=J0;T=M1+2|0,N=_1+-2|0,G=R1+2|0,Y=F1+2|0,X=j0+-2|0,z=g+(X<<2)|0,K=+s[z>>2],r0=M1+1|0,s0=a+(r0<<2)|0,V=+s[s0>>2],o0=V*K,q=j0+-1|0,d0=g+(q<<2)|0,t0=+s[d0>>2],j=a+(T<<2)|0,u0=+s[j>>2],$0=u0*t0,l0=$0+o0,W=u0*K,m0=t0*V,g0=W-m0,f0=a+(G<<2)|0,n0=+s[f0>>2],h0=g0+n0,p0=$+(Y<<2)|0,s[p0>>2]=h0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(N<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,W0=$+(_0<<2)|0,s[W0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=_1+-3|0,P0=$+(N0<<2)|0,s[P0>>2]=v0,q0=j0+2|0,k0=(q0|0)<(t|0),k0;)j0=q0,M1=T,_1=N,R1=G,F1=Y;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(K0=t+-1|0,!!x)for(z0=h+K0|0,Q1=0,w1=t,L1=z0,b1=K0;Z0=a+(L1<<2)|0,O0=+s[Z0>>2],Y0=-O0,s1=$+(w1<<2)|0,s[s1>>2]=Y0,V0=a+(b1<<2)|0,i1=e[V0>>2]|0,x0=w1+-1|0,o1=$+(x0<<2)|0,e[o1>>2]=i1,d1=w1+m|0,g1=L1+t|0,h1=b1+t|0,u1=Q1+1|0,c1=(u1|0)==(o|0),!c1;)Q1=u1,w1=d1,L1=g1,b1=h1}}function OQ(t,o,a,$,g,h,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,W8=0,R8=0,u8=0,F8=0,c4=0,V8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+nA(+v),Y8=+Yn(+v),C2=o+1|0,S3=C2>>1,z9=t+-1|0,Je=z9>>1,O9=n5(a,t)|0,S9=n5(o,t)|0,pe=(t|0)==1;e:do if(!pe){if(_8=($|0)>0,_8)for(D4=0;h0=m+(D4<<2)|0,W0=e[h0>>2]|0,G0=E+(D4<<2)|0,e[G0>>2]=W0,o1=D4+1|0,Bt=(o1|0)==($|0),!Bt;)D4=o1;if(Y=(o|0)>1,Y)for(t0=(a|0)>0,wt=1,W8=0;;){if(E1=W8+O9|0,t0)for(l8=0,Ae=E1;_1=h+(Ae<<2)|0,H1=e[_1>>2]|0,A2=I+(Ae<<2)|0,e[A2>>2]=H1,t2=Ae+t|0,J2=l8+1|0,se=(J2|0)==(a|0),!se;)l8=J2,Ae=t2;if(Z2=wt+1|0,lt=(Z2|0)==(o|0),lt)break;wt=Z2,W8=E1}if(Q5=0-t|0,T1=(Je|0)>(a|0),T1){if(Y)for(q3=(a|0)>0,z5=(t|0)>2,E3=Q5,j9=1,F8=0;;){if(x3=F8+O9|0,x6=E3+t|0,q3)for(n6=x3-t|0,A3=x6+-1|0,ut=0,N8=n6;;){if(U3=N8+t|0,z5)for(ct=2,E4=A3,Bi=U3;P3=E4+2|0,y6=Bi+2|0,v9=E4+1|0,n4=Q+(v9<<2)|0,Ye=+s[n4>>2],Ve=Bi+1|0,he=h+(Ve<<2)|0,Pe=+s[he>>2],Ce=Pe*Ye,w4=Q+(P3<<2)|0,Z9=+s[w4>>2],k9=h+(y6<<2)|0,v4=+s[k9>>2],Y4=v4*Z9,nt=Y4+Ce,V4=I+(Ve<<2)|0,s[V4>>2]=nt,ze=+s[n4>>2],o4=+s[k9>>2],R4=o4*ze,ot=+s[w4>>2],ne=+s[he>>2],u4=ne*ot,Be=R4-u4,T6=I+(y6<<2)|0,s[T6>>2]=Be,Ke=ct+2|0,fe=(Ke|0)<(t|0),fe;)ct=Ke,E4=P3,Bi=y6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,N8=U3}if(d4=j9+1|0,Ct=(d4|0)==(o|0),Ct)break;E3=x6,j9=d4,F8=x3}}else if(Y)for(f5=(t|0)>2,h3=(a|0)>0,Z4=Q5,l4=1,V8=0;;){if(oe=Z4+t|0,h4=V8+O9|0,f5)for(f4=oe+-1|0,Qt=2,gt=f4,$i=h4;;){if(Se=gt+2|0,s4=$i+2|0,h3)for(Oe=gt+1|0,I4=Q+(Oe<<2)|0,I6=Q+(Se<<2)|0,dt=0,ei=s4;J4=+s[I4>>2],Ie=ei+-1|0,k4=h+(Ie<<2)|0,be=+s[k4>>2],me=be*J4,J6=+s[I6>>2],F4=h+(ei<<2)|0,T4=+s[F4>>2],st=T4*J6,xe=st+me,mt=I+(Ie<<2)|0,s[mt>>2]=xe,W3=+s[I4>>2],x9=+s[F4>>2],b9=x9*W3,qe=+s[I6>>2],a4=+s[k4>>2],h8=a4*qe,N4=b9-h8,f8=I+(ei<<2)|0,s[f8>>2]=N4,e8=ei+t|0,I8=dt+1|0,Rt=(I8|0)==(a|0),!Rt;)dt=I8,ei=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=Se,$i=s4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,l4=Pt,V8=h4}if(Ot=n5(O9,o)|0,qt=(Je|0)<(a|0),t8=(S3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,x8=(t|0)>2,j4=1,ht=0,Hi=Ot;;){if(y0=ht+O9|0,w0=Hi-O9|0,i8)for(je=0,li=y0,ci=w0;;){if(x8)for(b4=2,ti=li,Si=ci;B0=ti+2|0,_0=Si+2|0,M0=ti+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=Si+1|0,P0=I+(N0<<2)|0,q0=+s[P0>>2],k0=q0+T0,J0=h+(M0<<2)|0,s[J0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],K0=I+(_0<<2)|0,z0=+s[K0>>2],H0=L0-z0,Z0=h+(N0<<2)|0,s[Z0>>2]=H0,O0=+s[F0>>2],Y0=+s[K0>>2],s1=Y0+O0,V0=h+(B0<<2)|0,s[V0>>2]=s1,i1=+s[P0>>2],x0=+s[v0>>2],d1=i1-x0,g1=h+(_0<<2)|0,s[g1>>2]=d1,m1=b4+2|0,h1=(m1|0)<(t|0),h1;)b4=m1,ti=B0,Si=_0;if(u1=li+t|0,A1=ci+t|0,c1=je+1|0,We=(c1|0)==(a|0),We)break;je=c1,li=u1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(S3|0),U4)break e;j4=a1,ht=y0,Hi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,T9=1,Z8=0,qi=Ot;;){if(x=Z8+O9|0,M=qi-O9|0,D)for(p4=2,Qi=x,vi=M;;){if(L=Qi+2|0,R=vi+2|0,y)for(F=R-t|0,T=L-t|0,Ft=0,Zi=T,f7=F;N=Zi+t|0,G=f7+t|0,X=N+-1|0,z=I+(X<<2)|0,a0=+s[z>>2],K=G+-1|0,r0=I+(K<<2)|0,s0=+s[r0>>2],V=s0+a0,o0=h+(X<<2)|0,s[o0>>2]=V,q=I+(N<<2)|0,d0=+s[q>>2],j=I+(G<<2)|0,u0=+s[j>>2],c0=d0-u0,$0=h+(K<<2)|0,s[$0>>2]=c0,l0=+s[q>>2],W=+s[j>>2],m0=W+l0,g0=h+(N<<2)|0,s[g0>>2]=m0,f0=+s[r0>>2],n0=+s[z>>2],p0=f0-n0,C0=h+(G<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Zi=N,f7=G;if(Q0=p4+2|0,b0=(Q0|0)<(t|0),b0)p4=Q0,Qi=L,vi=R;else break}if(E0=T9+1|0,At=(E0|0)==(S3|0),At)break;T9=E0,Z8=x,qi=M}}while(!1);if(w=($|0)>0,w)for(De=0;$1=E+(De<<2)|0,j0=e[$1>>2]|0,I1=m+(De<<2)|0,e[I1>>2]=j0,Q1=De+1|0,Kt=(Q1|0)==($|0),!Kt;)De=Q1;if(p1=n5($,o)|0,B1=(S3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Yi=p1;;){if(v1=Nt+O9|0,k1=Yi-O9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,g7=M1,d7=L1;b1=g7+t|0,R1=d7+t|0,F1=I+(b1<<2)|0,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],Z1=P1+U1,G1=h+(b1<<2)|0,s[G1>>2]=Z1,x1=+s[D1>>2],z1=+s[F1>>2],q1=x1-z1,Y1=h+(R1<<2)|0,s[Y1>>2]=q1,V1=c8+1|0,A4=(V1|0)==(a|0),!A4;)c8=V1,g7=b1,d7=R1;if(X1=Wt+1|0,s8=(X1|0)==(S3|0),s8)break;Wt=X1,Nt=v1,Yi=k1}if(o2=o+-1|0,j1=n5(o2,$)|0,B1){for(O1=(S3|0)>2,Ht=0,Vt=1,et=1,T8=0,Ei=p1;;){if(u2=T8+$|0,W1=Ei-$|0,I2=Vt*pt,a2=Ht*Y8,K1=I2-a2,h2=Ht*pt,l2=Vt*Y8,i2=l2+h2,w)for(yt=0,Ji=u2,ui=W1,Xi=j1,ri=$;c2=m+(yt<<2)|0,r2=+s[c2>>2],$2=ri+1|0,e2=m+(ri<<2)|0,s2=+s[e2>>2],m2=s2*K1,k2=m2+r2,D2=Ji+1|0,S2=E+(Ji<<2)|0,s[S2>>2]=k2,Q2=Xi+1|0,G2=m+(Xi<<2)|0,L2=+s[G2>>2],P2=L2*i2,p2=ui+1|0,K2=E+(ui<<2)|0,s[K2>>2]=P2,O2=yt+1|0,E8=(O2|0)==($|0),!E8;)yt=O2,Ji=D2,ui=p2,Xi=Q2,ri=$2;if(O1)for(Yt=i2,_t=K1,C8=2,zi=$,J8=j1;;){if(U2=zi+$|0,H2=J8-$|0,W2=_t*K1,A5=Yt*i2,Y2=W2-A5,N1=Yt*K1,e5=_t*i2,T5=e5+N1,w)for(a8=0,bi=u2,xi=W1,Li=U2,G8=H2;t5=Li+1|0,x5=m+(Li<<2)|0,I5=+s[x5>>2],b5=I5*Y2,Y5=bi+1|0,g5=E+(bi<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,o5=G8+1|0,R2=m+(G8<<2)|0,M2=+s[R2>>2],y2=M2*T5,N5=xi+1|0,m5=E+(xi<<2)|0,L5=+s[m5>>2],q5=L5+y2,s[m5>>2]=q5,M5=a8+1|0,L8=(M5|0)==($|0),!L8;)a8=M5,bi=Y5,xi=N5,Li=t5,G8=o5;if(V2=C8+1|0,o8=(V2|0)==(S3|0),o8)break;Yt=T5,_t=Y2,C8=V2,zi=U2,J8=H2}if(p5=et+1|0,M8=(p5|0)==(S3|0),M8)break;Ht=i2,Vt=K1,et=p5,T8=u2,Ei=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(Ze=0,j8=$5;u5=j8+1|0,y5=m+(j8<<2)|0,D5=+s[y5>>2],d5=E+(Ze<<2)|0,l5=+s[d5>>2],j2=l5+D5,s[d5>>2]=j2,d2=Ze+1|0,p8=(d2|0)==($|0),!p8;)Ze=d2,j8=u5;if(w5=A8+1|0,S4=(w5|0)==(S3|0),S4)break;A8=w5,Xt=$5}}}if(i5=(t|0)<(a|0),i5){if(z2=(t|0)>0,z2)for(r5=(a|0)>0,W4=0;;){if(r5)for(X4=0,C4=W4,X8=W4;W5=I+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(X8<<2)|0,e[a3>>2]=r3,B3=C4+t|0,G5=X8+S9|0,Z5=X4+1|0,G4=(Z5|0)==(a|0),!G4;)X4=Z5,C4=B3,X8=G5;if(_3=W4+1|0,at=(_3|0)==(t|0),at)break;W4=_3}}else if(s5=(a|0)>0,s5)for(h5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(h5)for(K4=0,Vi=O4,Ki=Ci;R5=Vi+1|0,X2=I+(Vi<<2)|0,c5=e[X2>>2]|0,F2=Ki+1|0,v5=g+(Ki<<2)|0,e[v5>>2]=c5,J5=K4+1|0,Lt=(J5|0)==(t|0),!Lt;)K4=J5,Vi=R5,Ki=F2;if(i3=O4+t|0,E5=Ci+S9|0,I3=Tt+1|0,L9=(I3|0)==(a|0),L9)break;Tt=I3,O4=i3,Ci=E5}if(f3=t<<1,w3=n5(O9,o)|0,B1)for(X3=(a|0)>0,$8=1,R8=0,yi=0,Wi=w3;;){if(X5=R8+f3|0,D3=yi+O9|0,t3=Wi-O9|0,X3)for(D9=0,ii=X5,Di=D3,t7=t3;s6=I+(Di<<2)|0,N3=e[s6>>2]|0,H3=ii+-1|0,c3=g+(H3<<2)|0,e[c3>>2]=N3,g3=I+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ii<<2)|0,e[Q3>>2]=u3,H5=ii+S9|0,V5=Di+t|0,S5=t7+t|0,Y3=D9+1|0,Et=(Y3|0)==(a|0),!Et;)D9=Y3,ii=H5,Di=V5,t7=S5;if(U5=$8+1|0,z4=(U5|0)==(S3|0),z4)break;$8=U5,R8=X5,yi=D3,Wi=t3}if(!pe){if($6=(Je|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,wi=0,gi=0,h7=w3;;){if(E6=u8+f3|0,b3=wi+f3|0,a6=gi+O9|0,i6=h7-O9|0,!xt)for(g8=0,e7=E6,di=b3,_4=a6,hi=i6;;){for(ae=2;h6=t-ae|0,m3=ae+_4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],r6=ae+hi|0,f6=r6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+di|0,M3=v6+-1|0,o6=g+(M3<<2)|0,s[o6>>2]=j6,C6=+s[M6>>2],z3=+s[b6>>2],R3=C6-z3,K3=h6+e7|0,e6=K3+-1|0,R6=g+(e6<<2)|0,s[R6>>2]=R3,l6=I+(m3<<2)|0,o3=+s[l6>>2],z6=I+(r6<<2)|0,c6=+s[z6>>2],B6=c6+o3,F3=g+(v6<<2)|0,s[F3>>2]=B6,H6=+s[z6>>2],A6=+s[l6>>2],D6=H6-A6,G6=g+(K3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(V3=e7+S9|0,j5=di+S9|0,L3=_4+t|0,d3=hi+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,e7=V3,di=j5,_4=L3,hi=d3}if(X6=Zt+1|0,n8=(X6|0)==(S3|0),n8)break;Zt=X6,u8=E6,wi=b3,gi=a6,h7=i6}return}if(B1)for(l3=(t|0)>2,G3=(a|0)>0,$4=1,c4=n3,u7=0,ki=0,ji=w3;;){if(r9=c4+f3|0,Y6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=r9+t|0,G3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ue=P4+Y6|0,He=U6-P4|0,jt=0,_i=He,z8=Ue,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,d9=+s[s9>>2],n9=d9+P6,B9=z8+-1|0,Q9=g+(B9<<2)|0,s[Q9>>2]=n9,y9=+s[_6>>2],h9=+s[s9>>2],f9=y9-h9,Y9=_i+-1|0,q6=g+(Y9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,V9=+s[a9>>2],w9=I+($9<<2)|0,we=+s[w9>>2],ue=we+V9,Ee=g+(z8<<2)|0,s[Ee>>2]=ue,J9=+s[w9>>2],re=+s[a9>>2],F9=J9-re,K6=g+(_i<<2)|0,s[K6>>2]=F9,A9=_i+S9|0,ve=z8+S9|0,Me=Mi+t|0,de=$9+t|0,_9=jt+1|0,Jt=(_9|0)==(a|0),!Jt;)jt=_9,_i=A9,z8=ve,Mi=Me,$9=de;if(V6=P4+2|0,F6=(V6|0)<(t|0),F6)P4=V6;else break}if(ke=$4+1|0,zt=(ke|0)==(S3|0),zt)break;$4=ke,c4=r9,u7=Y6,ki=o9,ji=g9}}}function tD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,W8=0,R8=0,u8=0,F8=0,c4=0,V8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0,As=0,Jn=0,$s=0,zn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,ds=0,hs=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,or=0,Ns=0,lo=0,dn=0,co=0,hn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,sr=0,Dr=0,Z7=0,_r=0,mo=0,j7=0,b7=0,D7=0,i7=0,_7=0,xr=0,ar=0,Ar=0,Lr=0,E7=0,Os=0,fi=0,al=0,In=0,mn=0,Hu=0,Al=0,qs=0,Yu=0,aA=0,$l=0,Vu=0,Ju=0,zu=0,AA=0,ll=0,cl=0,$A=0,pn=0,gl=0,Ku=0,Hs=0,$r=0,Wu=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,od=0,ul=0,Mr=0,sd=0,ad=0,dl=0,Ad=0,lA=0,Ys=0,cA=0,$d=0,ld=0,gA=0,hl=0,fl=0,Il=0,uA=0,ml=0,Vs=0,cd=0,gd=0,pl=0,ud=0,dd=0,El=0,hd=0,fd=0,Cl=0,Bl=0,Ql=0,yl=0,wl=0,En=0,Id=0,vl=0,md=0,kl=0,Sl=0,pd=0,Ed=0,Cd=0,dA=0,bl=0,Dl=0,po=0,_l=0,hA=0,Bd=0,xl=0,Qd=0,Ll=0,yd=0,wd=0,Ml=0,Rl=0,vd=0,Js=0,kd=0,fA=0,Fl=0,Tl=0,Sd=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,zs=0,Nl=0,Gl=0,Ul=0,Ks=0,Md=0,Pl=0,Rd=0,Ol=0,Fd=0,Td=0,ql=0,IA=0,Nd=0,Gd=0,Ws=0,Ud=0,Zs=0,Pd=0,mA=0,Od=0,qd=0,Hd=0,Hl=0,Yd=0,Vd=0,Jd=0,zd=0,Yl=0,Vl=0,lr=0,Jl=0,js=0,pA=0,EA=0,Cn=0,zl=0,Bn=0,Kd=0,Kl=0,Wd=0,Zd=0,jd=0,Xd=0,Xs=0,CA=0,Rr=0,eh=0,th=0,Wl=0,BA=0,Zl=0,jl=0,ih=0,Xl=0,rh=0,QA=0,nh=0,oh=0,K9=0,sh=0,ec=0,ah=0,Ah=0,yA=0,$h=0,wA=0,tc=0,lh=0,ch=0,ic=0,rc=0,gh=0,vA=0,kA=0,nc=0,oc=0,uh=0,sc=0,SA=0,dh=0,ac=0,hh=0,fh=0,Ih=0,mh=0,Ac=0,$c=0,bA=0,ea=0,lc=0,ph=0,cc=0,gc=0,Eh=0,Ch=0,Bh=0,uc=0,Qh=0,yh=0,wh=0,vh=0,kh=0,Sh=0,dc=0,bh=0,hc=0,Dh=0,Qn=0,_h=0,fc=0,xh=0,Eo=0,Ic=0,DA=0,Lh=0,ta=0,_A=0,Mh=0,xA=0,mc=0,Rh=0,Fh=0,Th=0,Nh=0,Gh=0,pc=0,Uh=0,Ph=0,Oh=0,ia=0,Co=0,LA=0,qh=0,MA=0,Hh=0,Yh=0,Vh=0,Ec=0,Jh=0,zh=0,Kh=0,Wh=0,Zh=0,ra=0,jh=0,Xh=0,Cc=0,ef=0,tf=0,rf=0,nf=0,C7=0,Bc=0,B7=0,Qc=0,RA=0,of=0,r7=0,Bo=0,sf=0,af=0,Af=0,$f=0,lf=0,yc=0,cf=0,gf=0,wc=0,uf=0,df=0,Qo=0,FA=0,hf=0,vc=0,ff=0,If=0,na=0,mf=0,pf=0,kc=0,Sc=0,Ef=0,Cf=0,yn=0,Bf=0,Qf=0,wn=0,yf=0,bc=0,wf=0,vf=0,yo=0,Dc=0,kf=0,_c=0,Sf=0,cr=0,TA=0,bf=0,xc=0,Lc=0,Df=0,_f=0,Mc=0,xf=0,Lf=0,Mf=0,Rc=0,Rf=0,wo=0,Ff=0,vn=0,Tf=0,Nf=0,NA=0,Gf=0,GA=0,UA=0,Uf=0,Fc=0,Tc=0,Pf=0,Nc=0,Gc=0,Uc=0,Of=0,Pc=0,Oc=0,qf=0,Hf=0,qc=0,Hc=0,Yf=0,Yc=0,Vc=0,Vf=0,Jf=0,Jc=0,PA=0,zc=0,Kc=0,Wc=0,Zc=0,zf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,jc=0,OA=0,iI=0,rI=0,nI=0,Xc=0,eg=0,oI=0,tg=0,qA=0,oa=0,ig=0,sI=0,aI=0,AI=0,$I=0,rg=0,sa=0,lI=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,ng=0,mI=0,pI=0,EI=0,CI=0,aa=0,og=0,BI=0,QI=0,kn=0,sg=0,ag=0,HA=0,yI=0,Ag=0,wI=0,$g=0,lg=0,vI=0,kI=0,SI=0,bI=0,DI=0,Aa=0,YA=0,_I=0,xI=0,LI=0,MI=0,cg=0,RI=0,gg=0,FI=0,TI=0,ug=0,Fr=0,dg=0,hg=0,NI=0,fg=0,$a=0,GI=0,UI=0,PI=0,la=0,Ig=0,OI=0,qI=0,mg=0,HI=0,YI=0,VA=0,ca=0,VI=0,JI=0,zI=0,pg=0,Eg=0,Cg=0,KI=0,WI=0,vo=0,ZI=0,Bg=0,jI=0,JA=0,Qg=0,XI=0,em=0,tm=0,im=0,yg=0,rm=0,nm=0,wg=0,ga=0,om=0,sm=0,am=0,ko=0,vg=0,kg=0,Am=0,Sg=0,bg=0,x7=0,Dg=0,gr=0,$m=0,lm=0,cm=0,gm=0,zA=0,ua=0,_g=0,xg=0,um=0,da=0,So=0,dm=0,ha=0,KA=0,hm=0,WA=0,fm=0,Im=0,Lg=0,fa=0,Mg=0,mm=0,pm=0,Em=0,Cm=0,Rg=0,Bm=0,ni=0,_e=0,n7=0,Qm=0,Fg=0,Tg=0,ZA=0,ym=0,Tr=0,bo=0,wm=0,vm=0,Ng=0,jA=0,km=0,Gg=0,Ug=0,Pg=0,XA=0,e$=0,Og=0,Do=0,t$=0,qg=0,Sm=0,Sn=0,bm=0,Hg=0,Ia=0,Dm=0,Yg=0,L7=0,_m=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,M7=0,Tm=0,Nm=0,Gm=0,Vg=0,Q7=0,ma=0,i$=0,Jg=0,zg=0,Um=0,Kg=0,Wg=0,Pm=0,Om=0,Zg=0,jg=0,qm=0,Hm=0,Xg=0,Ym=0,_o=0,pa=0,Ea=0,Vm=0,r$=0,Jm=0,zm=0,eu=0,xo=0,Km=0,Wm=0,n$=0,o$=0,Ca=0,s$=0,a$=0,ur=0,Nr=0,Gr=0,A$=0,$$=0,Lo=0,dr=0,bn=0,Zm=0,hr=0,Dn=0,jm=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,tu=0,iu=0,ya=0,l$=0,Ni=0,wa=0,Ur=0,c$=0,Xm=0,g$=0,ep=0,u$=0,ru=0,va=0,tp=0,ip=0,ka=0,rp=0,Sa=0,_n=0,tt=0,Le=0,nu=0,np=0,d$=0,ou=0,op=0,sp=0,ba=0,ap=0,Ap=0,$p=0,lp=0,su=0,cp=0,gp=0,up=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,au=0,Au=0,_a=0,To=0,No=0,Go=0,dp=0,Uo=0,fr=0,$u=0,Pr=0,s7=0,f$=0,I$=0,X7=0,m$=0,p$=0,E$=0,Or=0,u6=0,xa=0,qr=0,lu=0,x4=0,C$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Hr=0,Xe=0,B$=0,UC=0,hp=0,uE=0,dE=0,PC=0,fp=0,XQ=0,ey=0,ty=0,iy=0,ry=0,ny=0,oy=0,sy=0,ay=0,Ay=0,$y=0,ly=0,OC=0,qC=0,cy=0,gy=0,uy=0,cu=0,hE=0,y7=0,gu=0,uu=0,du=0,hu=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,Qp=0,yp=0,wp=0,vp=0,fE=0,La=0,Ir=0,Q$=0,fu=0,y$=0,HC=0,Ma=0,kp=0,w$=0,IE=0,mE=0,Sp=0,pE=0,EE=0,CE=0,BE=0,QE=0,yE=0,wE=0,YC=0,VC=0,JC=0,zC=0,KC=0,Ra=0,Fa=0,Ta=0,Na=0,dy=0,mr=0,$e=0,DD=0,Ga=0,vE=0;if(DD=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,mo=e[ui>>2]|0,Nl=(mo|0)==0,o=Nl&1,Eo=n0+3496|0,Nc=+l1[Eo>>3],pg=Nc>-80,pg?l1[Eo>>3]=-80:(Om=Nc<-200,Om&&(l1[Eo>>3]=-200)),h0=n0+3512|0,Z2=+l1[h0>>3],A3=Z2>0,A3?l1[h0>>3]=0:(ke=Z2<-99999,ke&&(l1[h0>>3]=-99999)),Y4=n0+3396|0,T6=e[Y4>>2]|0,Oe=(T6|0)==0,Oe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=T6+24|0,M8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=M8+($4<<2)|0,Y8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=Y8,vi=n0+4|0,e[vi>>2]=Ci,J8=(Y8|0)==(Ci|0),ri=T6+144|0,B8=e[ri>>2]|0,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,or=i8,Rr=n0,fE=0;;){if(_s=~~or,fo=e[Is>>2]|0,j7=e[Cs>>2]|0,fi=e[oo>>2]|0,Ju=fi+(fE<<2)|0,Wu=e[Ju>>2]|0,Mr=ce(1,1120)|0,hl=Wu+(_s<<2)|0,El=e[hl>>2]|0,md=j7+(El*1120|0)|0,ge(Mr|0,md|0,1120)|0,hA=e[Mr>>2]|0,kd=(hA|0)>0,kd){for(Gl=Mr+4|0,hE=0,wE=-1;;)if(SA=Gl+(hE<<2)|0,lc=e[SA>>2]|0,vh=(lc|0)>(wE|0),a0=vh?lc:wE,Ic=hE+1|0,$y=(Ic|0)==(hA|0),$y){K=a0;break}else hE=Ic,wE=a0;if(Nd=(K|0)<0,!Nd){for(Yd=Mr+256|0,Cn=Rr+24|0,nh=Mr+192|0,lh=Mr+320|0,y$=0,CE=-1;;){if(Lc=Yd+(y$<<2)|0,vn=e[Lc>>2]|0,Gc=(vn|0)>(CE|0),X=Gc?vn:CE,Vc=e[Cn>>2]|0,Wf=Vc+vn|0,e[Lc>>2]=Wf,Xc=nh+(y$<<2)|0,rg=e[Xc>>2]|0,mI=(rg|0)==31,mI)BE=X;else for(_9=rg,pE=0,yE=X;;)if(HA=(lh+(y$<<5)|0)+(pE<<2)|0,Aa=e[HA>>2]|0,ug=(Aa|0)>(yE|0),z=ug?Aa:yE,Ig=(Aa|0)>-1,Ig?(Eg=e[Cn>>2]|0,em=Eg+Aa|0,e[HA>>2]=em,s0=e[Xc>>2]|0,KA=s0):KA=_9,ko=pE+1|0,cm=1<>2]|0,of=e[Xh>>2]|0,wc=e[Cn>>2]|0,pf=wc+1|0,e[Cn>>2]=pf,wf=(Rr+1824|0)+(wc<<2)|0,e[wf>>2]=of,oy=(QE|0)==0,!oy))for(HC=0;e$=HC+1|0,t0=e[hl>>2]|0,Yg=fo+(t0<<2)|0,Gm=e[Yg>>2]|0,Zg=Gm+(e$<<2)|0,Jm=e[Zg>>2]|0,ur=e[Cn>>2]|0,jm=ur+1|0,e[Cn>>2]=jm,wa=(Rr+1824|0)+(ur<<2)|0,e[wa>>2]=Jm,ny=(e$|0)==(QE|0),!ny;)HC=e$}}if(ka=Rr+16|0,sp=e[ka>>2]|0,Da=(Rr+800|0)+(sp<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,m$=(Rr+1056|0)+(No<<2)|0,e[m$>>2]=Mr,p0=e[ka>>2]|0,M0=p0+1|0,e[ka>>2]=M0,K0=fE+1|0,d1=e[ri>>2]|0,I1=(K0|0)<(d1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,or=r0,Rr=l0,fE=K0}m0=e[f0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,Y1=+l1[R1>>3],A2=T6+124|0,t2=e[A2>>2]|0,J2=T6+128|0,I5=e[J2>>2]|0,N5=~~Y1,D5=+(N5|0),r5=Y1-D5,W5=X5+2868|0,H5=I5+(N5<<3)|0,x3=+l1[H5>>3],x6=~~x3,n6=t2+(x6*492|0)|0,ge(W5|0,n6|0,492)|0,c6=+l1[H5>>3],r9=1-r5,O6=c6*r9,q6=N5+1|0,K6=I5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*r5,Ue=Fe+O6,He=~~Ue,n4=+(He|0),Ye=Ue-n4,z9=Ye==0,Ve=(He|0)>0,YC=Ve&z9,I=YC?1:Ye,he=YC<<31>>31,R=he+He|0,Pe=1-I,Ce=R+1|0,w4=(t2+(R*492|0)|0)+4|0,Z9=+s[w4>>2],k9=Z9,v4=Pe*k9,nt=(t2+(Ce*492|0)|0)+4|0,Je=+s[nt>>2],V4=Je,ze=I*V4,o4=v4+ze,R4=o4,ot=X5+2872|0,s[ot>>2]=R4,ne=(t2+(R*492|0)|0)+32|0,u4=+s[ne>>2],Be=u4,Ke=Pe*Be,O9=(t2+(Ce*492|0)|0)+32|0,fe=+s[O9>>2],Te=fe,d4=I*Te,oe=Ke+d4,h4=oe,f4=X5+2900|0,s[f4>>2]=h4,Se=(t2+(R*492|0)|0)+8|0,s4=+s[Se>>2],I4=s4,S9=Pe*I4,I6=(t2+(Ce*492|0)|0)+8|0,J4=+s[I6>>2],Ie=J4,k4=I*Ie,be=S9+k4,me=be,J6=X5+2876|0,s[J6>>2]=me,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],pe=st,xe=Pe*pe,mt=(t2+(Ce*492|0)|0)+36|0,W3=+s[mt>>2],x9=W3,b9=x9*I,qe=b9+xe,a4=qe,h8=X5+2904|0,s[h8>>2]=a4,f8=(t2+(R*492|0)|0)+12|0,_8=+s[f8>>2],e8=_8,I8=e8*Pe,m8=(t2+(Ce*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,x8=X5+2880|0,s[x8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Yt=+s[Ht>>2],Vt=Yt,_t=Vt*Pe,xt=(t2+(Ce*492|0)|0)+40|0,pt=+s[xt>>2],Jt=pt,zt=Jt*I,r8=zt+_t,z4=r8,G4=X5+2908|0,s[G4>>2]=z4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],L9=Lt,p8=L9*Pe,S4=(t2+(Ce*492|0)|0)+16|0,E8=+s[S4>>2],L8=E8,o8=L8*I,A4=o8+p8,s8=A4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],We=At,U4=We*Pe,$t=(t2+(Ce*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,p4=+l1[Qt>>3],b4=p4,K4=X5+2936|0,s[K4>>2]=b4,W4=T6+132|0,ae=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],D4=gt,De=~~D4,yt=+(De|0),a8=D4-yt,Ze=a8,E3=e[f0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=E3+4|0,j9=e[E3>>2]|0,l4=E3+3240|0,e[l4>>2]=j9,T9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=T9,Wt=E3+3244|0,e[Wt>>2]=j9,C8=E3+3304|0,e[C8>>2]=T9,A8=E3+3248|0,e[A8>>2]=j9,$8=E3+3308|0,e[$8>>2]=T9,Zt=E3+3252|0,e[Zt>>2]=j9,l8=E3+3312|0,e[l8>>2]=T9,ut=E3+3256|0,e[ut>>2]=j9,dt=E3+3316|0,e[dt>>2]=T9,Ft=E3+3260|0,e[Ft>>2]=j9,je=E3+3320|0,e[je>>2]=T9,c8=E3+3264|0,e[c8>>2]=j9,Tt=E3+3324|0,e[Tt>>2]=T9,X4=E3+3268|0,e[X4>>2]=j9,D9=E3+3328|0,e[D9>>2]=T9,g8=E3+3272|0,e[g8>>2]=j9,et=E3+3332|0,e[et>>2]=T9,W8=E3+3276|0,e[W8>>2]=j9,R8=E3+3336|0,e[R8>>2]=T9,u8=E3+3280|0,e[u8>>2]=j9,F8=E3+3340|0,e[F8>>2]=T9,c4=E3+3284|0,e[c4>>2]=j9,V8=E3+3344|0,e[V8>>2]=T9,Z8=E3+3288|0,e[Z8>>2]=j9,ht=E3+3348|0,e[ht>>2]=T9,Nt=E3+3292|0,e[Nt>>2]=j9,T8=E3+3352|0,e[T8>>2]=T9,O4=E3+3296|0,e[O4>>2]=j9,C4=E3+3356|0,e[C4>>2]=T9;else{Ae=E3+3120|0,N8=ae+(De*240|0)|0,mr=Ae,Ga=N8,vE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(vE|0));$i=E3+3180|0,qi=(ae+(De*240|0)|0)+60|0,mr=$i,Ga=qi,vE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(vE|0));if(Hi=n0+3420|0,Yi=e[Hi>>2]|0,Ei=(Yi|0)==0,!Ei)for(j8=1-Ze,X8=De+1|0,Bi=t+8|0,ei=E3+4|0,o0=e[Bi>>2]|0,Qi=+(o0|0),Ir=0;;){if(li=((ae+(De*240|0)|0)+120|0)+(Ir<<2)|0,g7=+s[li>>2],Vi=g7,yi=Vi*j8,wi=((ae+(X8*240|0)|0)+120|0)+(Ir<<2)|0,u7=+s[wi>>2],ci=u7,d7=ci*Ze,Ji=d7+yi,zi=Ji,Ki=zi,Wi=Ki*1e3,gi=Wi/Qi,ki=e[E3>>2]|0,Zi=+(ki|0),ti=Zi*gi,ii=~~ti,h7=(E3+3e3|0)+(Ir<<2)|0,e[h7>>2]=ii,ji=e[ei>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(E3+3060|0)+(Ir<<2)|0,e[bi>>2]=Xi,Di=~~zi,e7=(E3+2940|0)+(Ir<<2)|0,e[e7>>2]=Di,_i=((ae+(De*240|0)|0)+180|0)+(Ir<<2)|0,xi=+s[_i>>2],t7=xi,di=t7*j8,z8=((ae+(X8*240|0)|0)+180|0)+(Ir<<2)|0,Li=+s[z8>>2],_4=Li,Mi=_4*Ze,G8=Mi+di,hi=G8,$9=hi,vt=$9*1e3,Q8=vt/Qi,U8=e[E3>>2]|0,nn=+(U8|0),wr=nn*Q8,As=~~wr,Jn=(E3+3240|0)+(Ir<<2)|0,e[Jn>>2]=As,$s=e[ei>>2]|0,zn=+($s|0),ls=zn*Q8,Kn=~~ls,gs=(E3+3300|0)+(Ir<<2)|0,e[gs>>2]=Kn,on=Ir+1|0,ay=(on|0)==15,ay)break e;Ir=on}for(us=(ae+(De*240|0)|0)+148|0,ds=+s[us>>2],hs=ds,Wn=1-Ze,fs=hs*Wn,Zn=De+1|0,jn=(ae+(Zn*240|0)|0)+148|0,sn=+s[jn>>2],Xn=sn,an=Xn*Ze,eo=an+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,An=E3+4|0,io=~~to,d0=e[Es>>2]|0,vr=+(d0|0),$n=ps/vr,fu=0;Bs=e[E3>>2]|0,Qs=+(Bs|0),ln=Qs*$n,I7=~~ln,ro=(E3+3e3|0)+(fu<<2)|0,e[ro>>2]=I7,ys=e[An>>2]|0,ws=+(ys|0),no=ws*$n,so=~~no,vs=(E3+3060|0)+(fu<<2)|0,e[vs>>2]=so,m7=(E3+2940|0)+(fu<<2)|0,e[m7>>2]=io,cn=fu+1|0,ly=(cn|0)==15,!ly;)fu=cn;for(ks=(ae+(De*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wn,Ds=(ae+(Zn*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*Ze,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gn=Fs/vr,kp=0;kr=e[E3>>2]|0,un=+(kr|0),Ts=un*gn,Ns=~~Ts,lo=(E3+3240|0)+(kp<<2)|0,e[lo>>2]=Ns,dn=e[An>>2]|0,co=+(dn|0),hn=co*gn,Gs=~~hn,go=(E3+3300|0)+(kp<<2)|0,e[go>>2]=Gs,uo=kp+1|0,sy=(uo|0)==15,!sy;)kp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,Sr=T6+100|0,Io=e[Sr>>2]|0,p7=T6+108|0,fn=e[p7>>2]|0,br=e[f0>>2]|0,sr=br+2852|0,Dr=e[sr>>2]|0,Z7=~~Us,_r=br+28|0,b7=e[_r>>2]|0,D7=(b7|0)>0,D7||(e[_r>>2]=1),i7=(Dr|0)==0,i7?(_7=ce(1,520)|0,e[sr>>2]=_7,Ra=_7):Ra=Dr,ge(Ra|0,25784,520)|0,e[Ra>>2]=0,xr=br+3460|0,ar=e[xr>>2]|0,Ar=(ar|0)==0,Ar||(Lr=Ra+500|0,e[Lr>>2]=1,E7=Ps+(Z7<<2)|0,Os=e[E7>>2]|0,al=Ra+504|0,e[al>>2]=Os,In=Io+(Z7<<2)|0,mn=e[In>>2]|0,Hu=Ra+508|0,e[Hu>>2]=mn,Al=fn+(Z7<<3)|0,qs=+l1[Al>>3],Yu=Ra+512|0,l1[Yu>>3]=qs),aA=+l1[N4>>3],$l=e[ho>>2]|0,Vu=e[Sr>>2]|0,zu=e[p7>>2]|0,AA=e[f0>>2]|0,ll=AA+2856|0,cl=e[ll>>2]|0,$A=~~aA,pn=AA+28|0,gl=e[pn>>2]|0,Ku=(gl|0)>1,Ku||(e[pn>>2]=2),Hs=(cl|0)==0,Hs?($r=ce(1,520)|0,e[ll>>2]=$r,Fa=$r):Fa=cl,ge(Fa|0,25784,520)|0,e[Fa>>2]=0,Zu=AA+3460|0,ju=e[Zu>>2]|0,Xu=(ju|0)==0,Xu||(ed=Fa+500|0,e[ed>>2]=1,td=$l+($A<<2)|0,id=e[td>>2]|0,rd=Fa+504|0,e[rd>>2]=id,nd=Vu+($A<<2)|0,od=e[nd>>2]|0,ul=Fa+508|0,e[ul>>2]=od,sd=zu+($A<<3)|0,ad=+l1[sd>>3],dl=Fa+512|0,l1[dl>>3]=ad),J8||(Ad=+l1[N4>>3],lA=T6+96|0,Ys=e[lA>>2]|0,cA=T6+104|0,$d=e[cA>>2]|0,ld=e[p7>>2]|0,gA=e[f0>>2]|0,fl=gA+2860|0,Il=e[fl>>2]|0,uA=~~Ad,ml=gA+28|0,Vs=e[ml>>2]|0,cd=(Vs|0)>2,cd||(e[ml>>2]=3),gd=(Il|0)==0,gd?(pl=ce(1,520)|0,e[fl>>2]=pl,Ta=pl):Ta=Il,ge(Ta|0,25784,520)|0,e[Ta>>2]=1,ud=gA+3460|0,dd=e[ud>>2]|0,hd=(dd|0)==0,hd||(fd=Ta+500|0,e[fd>>2]=1,Cl=Ys+(uA<<2)|0,Bl=e[Cl>>2]|0,Ql=Ta+504|0,e[Ql>>2]=Bl,yl=$d+(uA<<2)|0,wl=e[yl>>2]|0,En=Ta+508|0,e[En>>2]=wl,Id=ld+(uA<<3)|0,vl=+l1[Id>>3],kl=Ta+512|0,l1[kl>>3]=vl),Sl=+l1[N4>>3],pd=e[lA>>2]|0,Ed=e[cA>>2]|0,Cd=e[p7>>2]|0,dA=e[f0>>2]|0,bl=dA+2864|0,Dl=e[bl>>2]|0,po=~~Sl,_l=dA+28|0,Bd=e[_l>>2]|0,xl=(Bd|0)>3,xl||(e[_l>>2]=4),Qd=(Dl|0)==0,Qd?(Ll=ce(1,520)|0,e[bl>>2]=Ll,Na=Ll):Na=Dl,ge(Na|0,25784,520)|0,e[Na>>2]=1,yd=dA+3460|0,wd=e[yd>>2]|0,Ml=(wd|0)==0,Ml||(Rl=Na+500|0,e[Rl>>2]=1,vd=pd+(po<<2)|0,Js=e[vd>>2]|0,fA=Na+504|0,e[fA>>2]=Js,Fl=Ed+(po<<2)|0,Tl=e[Fl>>2]|0,Sd=Na+508|0,e[Sd>>2]=Tl,bd=Cd+(po<<3)|0,Dd=+l1[bd>>3],_d=Na+512|0,l1[_d>>3]=Dd)),xd=(n0+3528|0)+(o<<5)|0,Ld=+l1[xd>>3],zs=T6+32|0,Ul=e[zs>>2]|0,Ks=T6+36|0,Md=e[Ks>>2]|0,Pl=T6+44|0,Rd=e[Pl>>2]|0,AE(t,Ld,0,Ul,Md,Rd),Ol=n0+3560|0,Fd=+l1[Ol>>3],Td=e[zs>>2]|0,ql=e[Ks>>2]|0,IA=T6+52|0,Gd=e[IA>>2]|0,AE(t,Fd,1,Td,ql,Gd),J8||(Ws=n0+3592|0,Ud=+l1[Ws>>3],Zs=e[zs>>2]|0,Pd=e[Ks>>2]|0,mA=e[IA>>2]|0,AE(t,Ud,2,Zs,Pd,mA),Od=n0+3624|0,qd=+l1[Od>>3],Hd=e[zs>>2]|0,Hl=e[Ks>>2]|0,Vd=T6+48|0,Jd=e[Vd>>2]|0,AE(t,qd,3,Hd,Hl,Jd)),zd=((n0+3528|0)+(o<<5)|0)+24|0,Yl=+l1[zd>>3],Vl=T6+80|0,lr=e[Vl>>2]|0,Jl=T6+84|0,js=e[Jl>>2]|0,pA=~~Yl,EA=+(pA|0),zl=Yl-EA,Bn=e[f0>>2]|0,Kd=Bn+2852|0,Kl=e[Kd>>2]|0,Wd=js+(pA<<3)|0,Zd=+l1[Wd>>3],jd=1-zl,Xd=Zd*jd,Xs=pA+1|0,CA=js+(Xs<<3)|0,eh=+l1[CA>>3],th=eh*zl,Wl=th+Xd,BA=~~Wl,Zl=+(BA|0),jl=Wl-Zl,ih=jl==0,Xl=(BA|0)>0,VC=Xl&ih,$=VC?1:jl,rh=VC<<31>>31,F=rh+BA|0,QA=1-$,oh=F+1|0,gu=0;K9=(lr+(F*160|0)|0)+(gu<<2)|0,sh=e[K9>>2]|0,ec=+(sh|0),ah=ec*QA,Ah=(lr+(oh*160|0)|0)+(gu<<2)|0,yA=e[Ah>>2]|0,$h=+(yA|0),wA=$h*$,tc=wA+ah,ch=tc,ic=(Kl+336|0)+(gu<<2)|0,s[ic>>2]=ch,rc=gu+1|0,ey=(rc|0)==40,!ey;)gu=rc;for(gh=n0+3584|0,vA=+l1[gh>>3],kA=~~vA,nc=+(kA|0),oc=vA-nc,uh=Bn+2856|0,sc=e[uh>>2]|0,dh=js+(kA<<3)|0,ac=+l1[dh>>3],hh=1-oc,fh=ac*hh,Ih=kA+1|0,mh=js+(Ih<<3)|0,Ac=+l1[mh>>3],$c=Ac*oc,bA=$c+fh,ea=~~bA,ph=+(ea|0),cc=bA-ph,gc=cc==0,Eh=(ea|0)>0,JC=Eh&gc,g=JC?1:cc,Ch=JC<<31>>31,T=Ch+ea|0,Bh=1-g,uc=T+1|0,uu=0;Qh=(lr+(T*160|0)|0)+(uu<<2)|0,yh=e[Qh>>2]|0,wh=+(yh|0),kh=wh*Bh,Sh=(lr+(uc*160|0)|0)+(uu<<2)|0,dc=e[Sh>>2]|0,bh=+(dc|0),hc=bh*g,Dh=hc+kh,Qn=Dh,_h=(sc+336|0)+(uu<<2)|0,s[_h>>2]=Qn,fc=uu+1|0,ty=(fc|0)==40,!ty;)uu=fc;if(!J8){for(xh=n0+3616|0,DA=+l1[xh>>3],Lh=T6+88|0,ta=e[Lh>>2]|0,_A=~~DA,Mh=+(_A|0),xA=DA-Mh,mc=Bn+2860|0,Rh=e[mc>>2]|0,Fh=ta+(_A<<3)|0,Th=+l1[Fh>>3],Gh=1-xA,pc=Th*Gh,Uh=_A+1|0,Ph=ta+(Uh<<3)|0,Oh=+l1[Ph>>3],ia=Oh*xA,Co=ia+pc,LA=~~Co,qh=+(LA|0),MA=Co-qh,Yh=MA==0,Vh=(LA|0)>0,zC=Vh&Yh,h=zC?1:MA,Ec=zC<<31>>31,N=Ec+LA|0,Jh=1-h,zh=N+1|0,du=0;Kh=(lr+(N*160|0)|0)+(du<<2)|0,Wh=e[Kh>>2]|0,Zh=+(Wh|0),ra=Zh*Jh,jh=(lr+(zh*160|0)|0)+(du<<2)|0,Cc=e[jh>>2]|0,ef=+(Cc|0),tf=ef*h,rf=tf+ra,nf=rf,C7=(Rh+336|0)+(du<<2)|0,s[C7>>2]=nf,Bc=du+1|0,iy=(Bc|0)==40,!iy;)du=Bc;for(B7=n0+3648|0,Qc=+l1[B7>>3],RA=~~Qc,r7=+(RA|0),Bo=Qc-r7,sf=Bn+2864|0,af=e[sf>>2]|0,Af=ta+(RA<<3)|0,$f=+l1[Af>>3],lf=1-Bo,yc=$f*lf,cf=RA+1|0,gf=ta+(cf<<3)|0,uf=+l1[gf>>3],df=uf*Bo,Qo=df+yc,FA=~~Qo,hf=+(FA|0),vc=Qo-hf,ff=vc==0,If=(FA|0)>0,KC=If&ff,m=KC?1:vc,na=KC<<31>>31,G=na+FA|0,mf=1-m,kc=G+1|0,hu=0;Sc=(lr+(G*160|0)|0)+(hu<<2)|0,Ef=e[Sc>>2]|0,Cf=+(Ef|0),yn=Cf*mf,Bf=(lr+(kc*160|0)|0)+(hu<<2)|0,Qf=e[Bf>>2]|0,wn=+(Qf|0),yf=wn*m,bc=yf+yn,vf=bc,yo=(af+336|0)+(hu<<2)|0,s[yo>>2]=vf,Dc=hu+1|0,ry=(Dc|0)==40,!ry;)hu=Dc}for(kf=((n0+3528|0)+(o<<5)|0)+8|0,_c=+l1[kf>>3],Sf=T6+40|0,cr=e[Sf>>2]|0,TA=~~_c,bf=+(TA|0),xc=_c-bf,Df=cr+(TA<<2)|0,_f=e[Df>>2]|0,Mc=+(_f|0),xf=1-xc,Lf=Mc*xf,Mf=TA+1|0,Rc=cr+(Mf<<2)|0,Rf=e[Rc>>2]|0,wo=+(Rf|0),Ff=wo*xc,Tf=Ff+Lf,Nf=Tf,NA=Kl+32|0,s[NA>>2]=Nf,Gf=n0+3568|0,GA=+l1[Gf>>3],UA=~~GA,Uf=+(UA|0),Fc=GA-Uf,Tc=cr+(UA<<2)|0,Pf=e[Tc>>2]|0,Uc=+(Pf|0),Of=1-Fc,Pc=Uc*Of,Oc=UA+1|0,qf=cr+(Oc<<2)|0,Hf=e[qf>>2]|0,qc=+(Hf|0),Hc=qc*Fc,Yf=Hc+Pc,Yc=Yf,Vf=sc+32|0,s[Vf>>2]=Yc,J8||(Jf=n0+3600|0,Jc=+l1[Jf>>3],PA=~~Jc,zc=+(PA|0),Kc=Jc-zc,Wc=Bn+2860|0,Zc=e[Wc>>2]|0,zf=cr+(PA<<2)|0,Kf=e[zf>>2]|0,Zf=+(Kf|0),jf=1-Kc,Xf=Zf*jf,eI=PA+1|0,tI=cr+(eI<<2)|0,jc=e[tI>>2]|0,OA=+(jc|0),iI=OA*Kc,rI=iI+Xf,nI=rI,eg=Zc+32|0,s[eg>>2]=nI,oI=n0+3632|0,tg=+l1[oI>>3],qA=~~tg,oa=+(qA|0),ig=tg-oa,sI=Bn+2864|0,aI=e[sI>>2]|0,AI=cr+(qA<<2)|0,$I=e[AI>>2]|0,sa=+($I|0),lI=1-ig,cI=sa*lI,gI=qA+1|0,uI=cr+(gI<<2)|0,dI=e[uI>>2]|0,hI=+(dI|0),fI=hI*ig,II=fI+cI,ng=II,pI=aI+32|0,s[pI>>2]=ng),EI=((n0+3528|0)+(o<<5)|0)+16|0,CI=+l1[EI>>3],aa=T6+76|0,og=e[aa>>2]|0,BI=T6+60|0,QI=e[BI>>2]|0,kn=T6+56|0,sg=e[kn>>2]|0,Nl?Ag=0:(ag=n0+3408|0,yI=+l1[ag>>3],Ag=yI),$E(t,CI,0,og,QI,sg,Ag),wI=n0+3576|0,$g=+l1[wI>>3],lg=e[aa>>2]|0,vI=T6+64|0,kI=e[vI>>2]|0,SI=e[kn>>2]|0,$E(t,$g,1,lg,kI,SI,0),J8?(vo=e[f0>>2]|0,ZI=vo+2852|0,Bg=e[ZI>>2]|0,jI=vo+3496|0,JA=+l1[jI>>3],Qg=JA,XI=Bg+4|0,s[XI>>2]=Qg,tm=vo+3504|0,im=+l1[tm>>3],yg=im,rm=Bg+8|0,s[rm>>2]=yg,nm=vo+2856|0,wg=e[nm>>2]|0,ga=wg+4|0,s[ga>>2]=Qg,om=wg+8|0,s[om>>2]=yg,gr=vo):(bI=n0+3608|0,DI=+l1[bI>>3],YA=e[aa>>2]|0,_I=T6+68|0,xI=e[_I>>2]|0,LI=e[kn>>2]|0,$E(t,DI,2,YA,xI,LI,0),MI=n0+3640|0,cg=+l1[MI>>3],RI=e[aa>>2]|0,gg=T6+72|0,FI=e[gg>>2]|0,TI=e[kn>>2]|0,$E(t,cg,3,RI,FI,TI,0),Fr=e[f0>>2]|0,dg=Fr+2852|0,hg=e[dg>>2]|0,NI=Fr+3496|0,fg=+l1[NI>>3],$a=fg,GI=hg+4|0,s[GI>>2]=$a,UI=Fr+3504|0,PI=+l1[UI>>3],la=PI,OI=hg+8|0,s[OI>>2]=la,qI=Fr+2856|0,mg=e[qI>>2]|0,HI=mg+4|0,s[HI>>2]=$a,YI=mg+8|0,s[YI>>2]=la,VA=Fr+2860|0,ca=e[VA>>2]|0,VI=ca+4|0,s[VI>>2]=$a,JI=ca+8|0,s[JI>>2]=la,zI=Fr+2864|0,Cg=e[zI>>2]|0,KI=Cg+4|0,s[KI>>2]=$a,WI=Cg+8|0,s[WI>>2]=la,gr=Fr),sm=+l1[N4>>3],am=T6+152|0,vg=e[am>>2]|0,kg=~~sm,Am=vg+(kg<<3)|0,Sg=e[Am>>2]|0,bg=(vg+(kg<<3)|0)+4|0,x7=e[bg>>2]|0,Dg=e[gr>>2]|0,$m=gr+4|0,lm=e[$m>>2]|0,gm=(Dg|0)==(lm|0),a=gm?1:2,zA=gr+8|0,ua=gr+12|0,_g=t+8|0,xg=t+4|0,y7=0;;){if(um=ce(1,3208)|0,da=(gr+544|0)+(y7<<2)|0,e[da>>2]=um,So=ce(1,16)|0,dm=(gr+32|0)+(y7<<2)|0,e[dm>>2]=So,ha=26304+(y7<<4)|0,e[So>>2]=e[ha>>2]|0,e[So+4>>2]=e[ha+4>>2]|0,e[So+8>>2]=e[ha+8>>2]|0,e[So+12>>2]=e[ha+12>>2]|0,hm=e[zA>>2]|0,WA=(y7|0)<(hm|0),WA||(fm=y7+1|0,e[zA>>2]=fm),Im=(gr+288|0)+(y7<<2)|0,e[Im>>2]=0,Lg=e[da>>2]|0,fa=Sg+(y7*3208|0)|0,ge(Lg|0,fa|0,3208)|0,Mg=e[ua>>2]|0,mm=(y7|0)<(Mg|0),mm||(pm=y7+1|0,e[ua>>2]=pm),Em=e[fa>>2]|0,Rg=(Em|0)>0,Rg)for(mE=0;;){Bm=((Sg+(y7*3208|0)|0)+1092|0)+(mE<<2)|0,ni=e[Bm>>2]|0,_e=e[f0>>2]|0,n7=R9(2840)|0,Qm=(_e+1568|0)+(ni<<2)|0,e[Qm>>2]=n7,Fg=(x7+(ni<<5)|0)+12|0,Tg=e[Fg>>2]|0,ge(n7|0,Tg|0,2840)|0,ZA=_e+20|0,ym=e[ZA>>2]|0,bo=(ym|0)>(ni|0),bo||(wm=ni+1|0,e[ZA>>2]=wm),vm=(x7+(ni<<5)|0)+8|0,Ng=e[vm>>2]|0,jA=n7+8|0,e[jA>>2]=Ng,km=x7+(ni<<5)|0,Gg=e[km>>2]|0,Ug=(_e+1312|0)+(ni<<2)|0,e[Ug>>2]=Gg,Pg=_e+3420|0,XA=e[Pg>>2]|0,Og=(XA|0)==0,Do=n7+12|0,t$=e[Do>>2]|0,qg=(t$|0)>0;do if(Og){if(qg)for(Hg=(x7+(ni<<5)|0)+24|0,Ia=e[Hg>>2]|0,Dm=n7+24|0,Ma=0;;)if(hr=Dm+(Ma<<2)|0,Dn=Ia+(Ma<<4)|0,Ri=e[Dn>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[hr>>2]|0,Ba=Ti|1,e[hr>>2]=Ba),Qa=(Ia+(Ma<<4)|0)+4|0,tu=e[Qa>>2]|0,iu=(tu|0)==0,iu||(b2=e[hr>>2]|0,B5=b2|2,e[hr>>2]=B5),o5=(Ia+(Ma<<4)|0)+8|0,R2=e[o5>>2]|0,M2=(R2|0)==0,M2||(y2=e[hr>>2]|0,Q5=y2|4,e[hr>>2]=Q5),m5=(Ia+(Ma<<4)|0)+12|0,L5=e[m5>>2]|0,q5=(L5|0)==0,q5||(M5=e[hr>>2]|0,V2=M5|8,e[hr>>2]=V2),p5=Ma+1|0,$5=e[Do>>2]|0,u5=(p5|0)<($5|0),u5)Ma=p5;else{Sa=$5;break}else Sa=t$;ya=(x7+(ni<<5)|0)+16|0,l$=e[ya>>2]|0,Ni=_e+24|0,Ur=e[Ni>>2]|0,c$=(Ur|0)>0,Xm=l$;e:do if(c$)for(vp=0;;){if(g$=(_e+1824|0)+(vp<<2)|0,ep=e[g$>>2]|0,u$=(ep|0)==(l$|0),u$){L=vp;break e}if(ru=vp+1|0,va=(ru|0)<(Ur|0),va)vp=ru;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,tp=Ur+1|0,e[Ni>>2]=tp,L=Ur),ip=n7+20|0,e[ip>>2]=L,rp=(_e+1824|0)+(L<<2)|0,e[rp>>2]=Xm,_n=(Sa|0)>0,!_n)break;for(tt=(x7+(ni<<5)|0)+24|0,Le=n7+280|0,Hr=0,w$=0;;){if(nu=e[tt>>2]|0,np=nu+(w$<<4)|0,d$=e[np>>2]|0,ou=(d$|0)==0,op=d$,ou)Mo=nu,hp=Hr;else{ba=e[Ni>>2]|0,ap=(ba|0)>0;e:do if(ap)for(Cp=0;;){if(Ap=(_e+1824|0)+(Cp<<2)|0,$p=e[Ap>>2]|0,lp=($p|0)==(d$|0),lp){M=Cp;break e}if(su=Cp+1|0,cp=(su|0)<(ba|0),cp)Cp=su;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,gp=ba+1|0,e[Ni>>2]=gp,M=ba),up=Hr+1|0,o7=Le+(Hr<<2)|0,e[o7>>2]=M,xn=(_e+1824|0)+(M<<2)|0,e[xn>>2]=op,c0=e[tt>>2]|0,Mo=c0,hp=up}if(h$=(Mo+(w$<<4)|0)+4|0,Ro=e[h$>>2]|0,oi=(Ro|0)==0,Fo=Ro,oi)C2=Mo,Xe=hp;else{z1=e[Ni>>2]|0,q1=(z1|0)>0;e:do if(q1)for(mp=0;;){if(H1=(_e+1824|0)+(mp<<2)|0,V1=e[H1>>2]|0,X1=(V1|0)==(Ro|0),X1){D=mp;break e}if(o2=mp+1|0,j1=(o2|0)<(z1|0),j1)mp=o2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=z1+1|0,e[Ni>>2]=O1,D=z1),u2=hp+1|0,W1=Le+(hp<<2)|0,e[W1>>2]=D,I2=(_e+1824|0)+(D<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,Xe=u2}if(a2=(C2+(w$<<4)|0)+8|0,K1=e[a2>>2]|0,h2=(K1|0)==0,l2=K1,h2)L2=C2,B$=Xe;else{i2=e[Ni>>2]|0,c2=(i2|0)>0;e:do if(c2)for(pp=0;;){if(r2=(_e+1824|0)+(pp<<2)|0,$2=e[r2>>2]|0,e2=($2|0)==(K1|0),e2){y=pp;break e}if(s2=pp+1|0,m2=(s2|0)<(i2|0),m2)pp=s2;else{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=i2+1|0,e[Ni>>2]=k2,y=i2),D2=Xe+1|0,S2=Le+(Xe<<2)|0,e[S2>>2]=y,Q2=(_e+1824|0)+(y<<2)|0,e[Q2>>2]=l2,W=e[tt>>2]|0,L2=W,B$=D2}if(G2=(L2+(w$<<4)|0)+12|0,P2=e[G2>>2]|0,p2=(P2|0)==0,K2=P2,p2)UC=B$;else{O2=e[Ni>>2]|0,U2=(O2|0)>0;e:do if(U2)for(Ep=0;;){if(H2=(_e+1824|0)+(Ep<<2)|0,W2=e[H2>>2]|0,A5=(W2|0)==(P2|0),A5){x=Ep;break e}if(Y2=Ep+1|0,N1=(Y2|0)<(O2|0),N1)Ep=Y2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,e5=O2+1|0,e[Ni>>2]=e5,x=O2),T5=B$+1|0,t5=Le+(B$<<2)|0,e[t5>>2]=x,x5=(_e+1824|0)+(x<<2)|0,e[x5>>2]=K2,UC=T5}if(b5=w$+1|0,Y5=e[Do>>2]|0,g5=(b5|0)<(Y5|0),g5)Hr=UC,w$=b5;else break}}else{if(qg)for(Sm=(x7+(ni<<5)|0)+28|0,Sn=e[Sm>>2]|0,bm=n7+24|0,La=0;;)if(L7=bm+(La<<2)|0,_m=Sn+(La<<4)|0,xm=e[_m>>2]|0,Lm=(xm|0)==0,Lm||(Mm=e[L7>>2]|0,Rm=Mm|1,e[L7>>2]=Rm),Fm=(Sn+(La<<4)|0)+4|0,M7=e[Fm>>2]|0,Tm=(M7|0)==0,Tm||($6=e[L7>>2]|0,n3=$6|2,e[L7>>2]=n3),l3=(Sn+(La<<4)|0)+8|0,G3=e[l3>>2]|0,E6=(G3|0)==0,E6||(S3=e[L7>>2]|0,b3=S3|4,e[L7>>2]=b3),a6=(Sn+(La<<4)|0)+12|0,i6=e[a6>>2]|0,V3=(i6|0)==0,V3||(j5=e[L7>>2]|0,L3=j5|8,e[L7>>2]=L3),d3=La+1|0,J3=e[Do>>2]|0,h6=(d3|0)<(J3|0),h6)La=d3;else{Xg=J3;break}else Xg=t$;Nm=(x7+(ni<<5)|0)+20|0,Vg=e[Nm>>2]|0,Q7=_e+24|0,ma=e[Q7>>2]|0,i$=(ma|0)>0,Jg=Vg;e:do if(i$)for(Ip=0;;){if(zg=(_e+1824|0)+(Ip<<2)|0,Um=e[zg>>2]|0,Kg=(Um|0)==(Vg|0),Kg){B=Ip;break e}if(Wg=Ip+1|0,Pm=(Wg|0)<(ma|0),Pm)Ip=Wg;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,jg=ma+1|0,e[Q7>>2]=jg,B=ma),qm=n7+20|0,e[qm>>2]=B,Hm=(_e+1824|0)+(B<<2)|0,e[Hm>>2]=Jg,Ym=(Xg|0)>0,!Ym)break;for(_o=(x7+(ni<<5)|0)+28|0,pa=n7+280|0,Po=0,Q$=0;;){if(Ea=e[_o>>2]|0,Vm=Ea+(Q$<<4)|0,r$=e[Vm>>2]|0,zm=(r$|0)==0,eu=r$,zm)Lo=Ea,Rn=Po;else{xo=e[Q7>>2]|0,Km=(xo|0)>0;e:do if(Km)for(wp=0;;){if(Wm=(_e+1824|0)+(wp<<2)|0,n$=e[Wm>>2]|0,o$=(n$|0)==(r$|0),o$){w=wp;break e}if(Ca=wp+1|0,s$=(Ca|0)<(xo|0),s$)wp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,a$=xo+1|0,e[Q7>>2]=a$,w=xo),Nr=Po+1|0,Gr=pa+(Po<<2)|0,e[Gr>>2]=w,A$=(_e+1824|0)+(w<<2)|0,e[A$>>2]=eu,V=e[_o>>2]|0,Lo=V,Rn=Nr}if($$=(Lo+(Q$<<4)|0)+4|0,dr=e[$$>>2]|0,bn=(dr|0)==0,Zm=dr,bn)R5=Lo,Ln=Rn;else{y5=e[Q7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(Bp=0;;){if(d5=(_e+1824|0)+(Bp<<2)|0,l5=e[d5>>2]|0,j2=(l5|0)==(dr|0),j2){S=Bp;break e}if(d2=Bp+1|0,w5=(d2|0)<(y5|0),w5)Bp=d2;else{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,i5=y5+1|0,e[Q7>>2]=i5,S=y5),s5=Rn+1|0,h5=pa+(Rn<<2)|0,e[h5>>2]=S,z2=(_e+1824|0)+(S<<2)|0,e[z2>>2]=Zm,j=e[_o>>2]|0,R5=j,Ln=s5}if(f5=(R5+(Q$<<4)|0)+8|0,X2=e[f5>>2]|0,c5=(X2|0)==0,F2=X2,c5)f3=R5,Mn=Ln;else{v5=e[Q7>>2]|0,J5=(v5|0)>0;e:do if(J5)for(Qp=0;;){if(i3=(_e+1824|0)+(Qp<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(X2|0),I3){b=Qp;break e}if(h3=Qp+1|0,r3=(h3|0)<(v5|0),r3)Qp=h3;else{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=v5+1|0,e[Q7>>2]=a3,b=v5),B3=Ln+1|0,G5=pa+(Ln<<2)|0,e[G5>>2]=b,Z5=(_e+1824|0)+(b<<2)|0,e[Z5>>2]=F2,u0=e[_o>>2]|0,f3=u0,Mn=B3}if(_3=(f3+(Q$<<4)|0)+12|0,w3=e[_3>>2]|0,X3=(w3|0)==0,q3=w3,X3)q9=Mn;else{D3=e[Q7>>2]|0,t3=(D3|0)>0;e:do if(t3)for(yp=0;;){if(s6=(_e+1824|0)+(yp<<2)|0,N3=e[s6>>2]|0,H3=(N3|0)==(w3|0),H3){v=yp;break e}if(c3=yp+1|0,g3=(c3|0)<(D3|0),g3)yp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=D3+1|0,e[Q7>>2]=u3,v=D3),Q3=Mn+1|0,z5=pa+(Mn<<2)|0,e[z5>>2]=v,V5=(_e+1824|0)+(v<<2)|0,e[V5>>2]=q3,q9=Q3}if(S5=Q$+1|0,Y3=e[Do>>2]|0,U5=(S5|0)<(Y3|0),U5)Po=q9,Q$=S5;else break}}while(!1);au=_e+3480|0,Au=+l1[au>>3],_a=Au*1e3,To=(_e+1056|0)+(y7<<2)|0,Go=e[To>>2]|0,dp=e[_g>>2]|0,Uo=+(dp|0),fr=Uo*.5,$u=_e+(y7<<2)|0,Pr=e[$u>>2]|0,s7=Pr>>1,f$=_a>fr,OC=f$?fr:_a,I$=OC/fr,X7=+(s7|0),p$=X7*I$,E$=~~p$,Or=Go+1116|0,e[Or>>2]=E$,u6=(x7+(ni<<5)|0)+4|0,xa=e[u6>>2]|0;do if((xa|0)==2)cu=250;else if((xa|0)==1){if(qr=e[Pg>>2]|0,lu=(qr|0)==0,x4=_e+2996|0,C$=_e+2968|0,uy=lu?C$:x4,gy=e[uy>>2]|0,cy=+(gy|0),qC=cy*1e3,kt=qC>fr,!kt){cu=qC;break}cu=fr}else cu=OC;while(!1);C0=e[Ug>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=_e+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(IE=0;;){if(y0=(_e+544|0)+(IE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(Sp=0;;){W0=(w0+1092|0)+(Sp<<2)|0,v0=e[W0>>2]|0,T0=(v0|0)==(ni|0);do if(T0){if(N0=e[xg>>2]|0,P0=(N0|0)>0,P0)PC=0,EE=0;else{fp=0;break}for(;;)if(q0=(w0+4|0)+(EE<<2)|0,k0=e[q0>>2]|0,J0=(k0|0)==(Sp|0),F0=J0&1,Y=F0+PC|0,L0=EE+1|0,XQ=(L0|0)==(N0|0),XQ){fp=Y;break}else PC=Y,EE=L0}else fp=0;while(!1);if(G0=Sp+1|0,z0=(G0|0)<(B0|0),H0=(fp|0)==0,Z0=z0&H0,Z0)Sp=G0;else{dE=fp;break}}else dE=0;if(O0=IE+1|0,Y0=(O0|0)<(b0|0),s1=(dE|0)==0,V0=Y0&s1,V0)IE=O0;else{uE=dE;break}}else uE=0;if(i1=cu/fr,x0=+(uE|0),o1=x0*X7,g1=o1*i1,m1=e[jA>>2]|0,h1=+(m1|0),u1=g1/h1,A1=u1+.9,c1=~~A1,a1=n5(c1,m1)|0,$1=n7+4|0,e[$1>>2]=a1,j0=n5(uE,s7)|0,E1=(a1|0)>(j0|0),!E1){q=$1,Z1=a1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,q=$1,Z1=p1,x1=m1}else{if(B1=cu/fr,w1=B1*X7,v1=e[jA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,b1=~~M1,_1=n5(b1,v1)|0,F1=n7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){q=F1,Z1=_1,x1=v1;break}D1=(s7|0)%(v1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,q=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[q>>2]=x1),m3=mE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)mE=m3;else break}if(S6=y7+1|0,r6=(S6|0)<(a|0),r6)y7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(v6=e[f0>>2]|0,M3=v6+3396|0,o6=e[M3>>2]|0,C6=v6+3400|0,z3=+l1[C6>>3],R3=~~z3,K3=+(R3|0),e6=z3-K3,R6=o6+4|0,l6=e[R6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(z6=e[xg>>2]|0,B6=l6+(R3<<3)|0,F3=+l1[B6>>3],H6=1-e6,A6=F3*H6,D6=R3+1|0,G6=l6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*e6,X6=Q6+A6,U3=+(z6|0),Y6=X6*U3,dy=~~Y6,Q=dy),o9=t+16|0,e[o9>>2]=Q),g9=n0+3424|0,U6=e[g9>>2]|0,V6=t+20|0,e[V6>>2]=U6,F6=n0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(P3=n0+3444|0,s9=e[P3>>2]|0,d9=+(s9|0),n9=+(b6|0),B9=d9/n9,Q9=~~B9,g0=Q9),y9=t+24|0,e[y9>>2]=g0,h9=n0+3420|0,f9=e[h9>>2]|0,Y9=(f9|0)==0,Y9?(E=0,E|0):(y6=e[f6>>2]|0,a9=n0+3360|0,e[a9>>2]=y6,V9=e[g9>>2]|0,w9=n0+3364|0,e[w9>>2]=V9,we=e[F6>>2]|0,ue=n0+3368|0,e[ue>>2]=we,Ee=n0+3444|0,J9=e[Ee>>2]|0,re=n0+3372|0,e[re>>2]=J9,F9=n0+3448|0,v9=+l1[F9>>3],A9=n0+3376|0,l1[A9>>3]=v9,ve=n0+3432|0,Me=+l1[ve>>3],de=n0+3384|0,l1[de>>3]=Me,E=0,E|0)}function iD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0;if(Y=C,I=(a|0)<1,I)h=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,T=m,N=y+3400|0,Q=rD(o,a,T,0,N)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)h=-130;else return nD(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=tD(t)|0,D=(w|0)==0,D?(g=0,g|0):(DC(t),g=w,g|0);return DC(t),g=h,g|0}function AE(t,o,a,$,g,h){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,K=t+28|0,$0=e[K>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,h1=e[Z0>>2]|0,I1=+(h1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),T=F*E,N=($+(B*20|0)|0)+4|0,G=e[N>>2]|0,Y=+(G|0),X=Y*M,z=X+T,a0=z,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,V=e[s0>>2]|0,o0=+(V|0),q=o0*E,d0=($+(B*20|0)|0)+8|0,t0=e[d0>>2]|0,j=+(t0|0),u0=j*M,c0=u0+q,l0=c0,W=N0+20|0,s[W>>2]=l0,m0=($+(m*20|0)|0)+12|0,g0=+s[m0>>2],f0=g0,n0=f0*E,h0=($+(B*20|0)|0)+12|0,p0=+s[h0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,W0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,P0=T0*M,q0=P0+W0,k0=q0,J0=N0+28|0,s[J0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),K0=G0*E,z0=g+(B<<2)|0,H0=e[z0>>2]|0,O0=+(H0|0),Y0=O0*M,s1=Y0+K0,V0=s1,i1=N0+496|0,s[i1>>2]=V0,p1=0;x0=(h+(m*68|0)|0)+(p1<<2)|0,o1=e[x0>>2]|0,d1=+(o1|0),g1=d1*E,m1=(h+(B*68|0)|0)+(p1<<2)|0,u1=e[m1>>2]|0,A1=+(u1|0),c1=A1*M,a1=c1+g1,$1=a1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function $E(t,o,a,$,g,h,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),d0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,b1=e[j0>>2]|0,q1=+(b1|0),D=1-d0,X=q1*D,z=v+1|0,a0=$+(z<<2)|0,K=e[a0>>2]|0,r0=+(K|0),s0=r0*d0,V=s0+X,o0=V,q=x0+108|0,s[q>>2]=o0,t0=h+(a*12|0)|0,j=e[t0>>2]|0,u0=x0+120|0,e[u0>>2]=j,c0=(h+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,W=(h+(a*12|0)|0)+8|0,m0=e[W>>2]|0,g0=x0+128|0,e[g0>>2]=m0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,h0=e[f0>>2]|0,p0=+(h0|0),C0=p0*D,S0=(g+(z*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*d0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,W0=i2+1|0,K1=(W0|0)==17,K1){c2=0;break}else i2=W0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(c2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*D,U1=((g+(z*204|0)|0)+68|0)+(c2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),Z1=P1*d0,G1=Z1+F1,x1=G1,z1=(x0+200|0)+(c2<<2)|0,s[z1>>2]=x1,H1=c2+1|0,h2=(H1|0)==17,h2){r2=0;break}else c2=H1;for(;Y1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,V1=e[Y1>>2]|0,X1=+(V1|0),o2=X1*D,j1=((g+(z*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,u2=+(O1|0),W1=u2*d0,I2=W1+o2,y=I2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,l2=(M|0)==17,!l2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,T=R,N=T+m,G=N,Y=G>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,P0=N0,q0=P0>2]=$2,J0=M0+1|0,a2=(J0|0)==17,!a2;)M0=J0;for(F0=x0+200|0,G0=+s[F0>>2],K0=G0+6,z0=x0+200|0,H0=G0,Z0=H0+m,O0=Z0,Y0=O0>2]=s2,s1=1;E=(x0+200|0)+(s1<<2)|0,S=+s[E>>2],V0=(x0+200|0)+(s1<<2)|0,i1=S,o1=i1+m,d1=o1,g1=d1>2]=e2,m1=s1+1|0,C2=(m1|0)==17,!C2;)s1=m1;for(h1=x0+268|0,u1=+s[h1>>2],A1=u1+6,c1=x0+268|0,a1=u1,$1=a1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=m2,L1=Q1+1|0,A2=(L1|0)==17,!A2;)Q1=L1}function rD(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(V=26336,j0=0;;){if(s0=e[V>>2]|0,o0=s0+12|0,q=e[o0>>2]|0,d0=(q|0)==-1,j=(q|0)==(t|0),p1=d0|j,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,W=e[l0>>2]|0,m0=(W|0)<(o|0),!m0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,W0=t0+12|0,G0=e[W0>>2]|0,o1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=o1|A1,B1&&(c1=t0+16|0,D=e[c1>>2]|0,y=(D|0)>(o|0),!y&&(x=t0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[t0>>2]|0,F=t0+4|0,T=e[F>>2]|0,N=+l1[T>>3],G=Y>3],a0=Y>z,!a0))))){m=Y,I=R,E=h0,Q=T,u1=N;break e}if($1=E1+1|0,K=26336+($1<<2)|0,r0=($1|0)==17,r0){h=0;break}else h0=K,E1=$1}return h|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=u1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return P0=(I1|0)==(I|0),P0?(q0=+(I|0),k0=q0+-.001,w1=k0):(J0=Q+(I1<<3)|0,F0=+l1[J0>>3],L0=F0,K0=I1+1|0,z0=Q+(K0<<3)|0,H0=+l1[z0>>3],Z0=H0,O0=L0,Y0=m-O0,s1=Z0-L0,V0=s1,i1=Y0/V0,x0=i1,d1=+(I1|0),g1=x0+d1,m1=g1,w1=m1),l1[g>>3]=w1,h1=e[E>>2]|0,h=h1,h|0}function nD(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,P0=E+3456|0,e[P0>>2]=1,O0=E+3460|0,e[O0>>2]=1,s1=E+3400|0,V0=+l1[s1>>3],Q=~~V0,B=+(Q|0),S=V0-B,b=E+3472|0,l1[b>>3]=V0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,T=R*F,N=Q+1|0,G=x+(N<<3)|0,Y=+l1[G>>3],X=Y*S,z=X+T,a0=E+3480|0,l1[a0>>3]=z,g=N,h=F):($=1-S,m=Q+1|0,g=m,h=$),K=r0+112|0,s0=e[K>>2]|0,V=s0+(Q<<2)|0,o0=e[V>>2]|0,q=+(o0|0),d0=q*h,t0=s0+(g<<2)|0,j=e[t0>>2]|0,u0=+(j|0),c0=u0*S,$0=c0+d0,W=E+3496|0,l1[W>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,h0=+(n0|0),p0=h0*h,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=V0,W0=E+3528|0,l1[W0>>3]=V0,M0=E+3536|0,l1[M0>>3]=V0,v0=E+3544|0,l1[v0>>3]=V0,T0=E+3552|0,l1[T0>>3]=V0,N0=E+3560|0,l1[N0>>3]=V0,q0=E+3568|0,l1[q0>>3]=V0,k0=E+3576|0,l1[k0>>3]=V0,J0=E+3584|0,l1[J0>>3]=V0,F0=E+3592|0,l1[F0>>3]=V0,L0=E+3600|0,l1[L0>>3]=V0,G0=E+3608|0,l1[G0>>3]=V0,K0=E+3616|0,l1[K0>>3]=V0,z0=E+3624|0,l1[z0>>3]=V0,H0=E+3632|0,l1[H0>>3]=V0,Z0=E+3640|0,l1[Z0>>3]=V0,Y0=E+3648|0,l1[Y0>>3]=V0}function oD(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0;if(H0=C,I=(g|0)!=0,E=I?$:0,L=I?h:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,W0=o+(L<<2)|0,M0=e[W0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,T=(S|0)/2&-1,N=T+y|0,m=(D|0)/-4&-1,G=N+m|0,Y=(D|0)/2&-1,X=G+Y|0,z=(M|0)>0,z?(a0=y-x|0,K=a0<<2,g4(t|0,0,K|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(V=y+R|0,o0=V-N0|0,q=o0-x|0,P0=N0,J0=0;u0=_0+(J0<<2)|0,c0=+s[u0>>2],$0=t+(P0<<2)|0,W=+s[$0>>2],m0=W*c0,s[$0>>2]=m0,g0=P0+1|0,f0=J0+1|0,T0=(f0|0)==(q|0),!T0;)P0=g0,J0=f0;if(d0=(D|0)>1,d0){for(t0=G+1|0,j=(X|0)>(t0|0),k0=G,L0=Y;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(X|0),B0;)k0=w0,L0=F0;K0=j?X:t0,q0=K0}else q0=G;n0=(S|0)>(q0|0),n0&&(G0=t+(q0<<2)|0,h0=S-q0|0,p0=h0<<2,g4(G0|0,0,p0|0)|0)}function sD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0;if(W=C,C=C+64|0,$0=W+32|0,c0=W,$=R9(688)|0,g=$+408|0,pb(g),D=~~o,iD(g,t,D,a)|0,X=$+440|0,fb(X),Ib(X,553008,553016),o0=$+456|0,zS(o0,g)|0,q=$+568|0,VS(o0,q)|0,d0=dQ(0)|0,uD(d0),t0=dD()|0,TS($,t0)|0,j=$+680|0,e[j>>2]=0,u0=$+684|0,e[u0>>2]=0,h=$+360|0,Eb(o0,X,h,$0,c0)|0,sE($,h)|0,sE($,$0)|0,sE($,c0)|0,m=$+392|0,I=fQ($,m)|0,E=(I|0)==0,E)return C=W,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[j>>2]|0,T=W7(F,x)|0,e[j>>2]=T,N=e[u0>>2]|0,G=T+N|0,Y=e[m>>2]|0,z=e[Q>>2]|0,ge(G|0,Y|0,z|0)|0,a0=z+N|0,e[u0>>2]=a0,K=T+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ge(K|0,r0|0,s0|0)|0,V=s0+a0|0,e[u0>>2]=V),L=fQ($,m)|0,R=(L|0)==0,!R;);return C=W,$|0}function aD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;E=C,NS(t)|0,o=t+568|0,JS(o)|0,a=t+456|0,EQ(a),$=t+440|0,mb($),g=t+408|0,DC(g),h=t+680|0,m=e[h>>2]|0,E2(m),E2(t)}function AD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0;return h=C,a=t+456|0,$=CQ(a,o)|0,$|0}function $D(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0;if(W=C,a=t+456|0,KS(a,o)|0,$=t+568|0,w=BQ(a,$)|0,Y=(w|0)==1,!!Y)for(d0=t+360|0,t0=t+392|0,j=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,h=t+400|0;;){if(OS($,0)|0,YS($)|0,E=pQ(a,d0)|0,Q=(E|0)==0,!Q)for(;;){if(sE(t,d0)|0,b=IQ(t,t0)|0,v=(b|0)==0,!v)for(;D=e[j>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(N=e[$0>>2]|0,G=W7(N,L)|0,e[$0>>2]=G,X=e[j>>2]|0,z=G+X|0,a0=e[g>>2]|0,K=e[u0>>2]|0,ge(z|0,a0|0,K|0)|0,r0=K+X|0,e[j>>2]=r0,s0=G+r0|0,V=e[h>>2]|0,o0=e[c0>>2]|0,ge(s0|0,V|0,o0|0)|0,q=o0+r0|0,e[j>>2]=q),F=IQ(t,t0)|0,T=(F|0)==0,!T;);if(B=pQ(a,d0)|0,S=(B|0)==0,S)break}if(m=BQ(a,$)|0,I=(m|0)==1,!I)break}}function lD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function cD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;return h=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function lE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+gD(t,o),+a}function qu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0;if(G3=C,C=C+688|0,n3=G3+424|0,W5=G3+192|0,t3=G3,o0=n5(a,o)|0,q=(o0|0)==0,q){C=G3;return}for(K=o0-a|0,Y1=t3+4|0,e[Y1>>2]=a,e[t3>>2]=a,t2=a,I5=a,_3=2;A2=t2+a|0,U2=A2+I5|0,N5=t3+(_3<<2)|0,e[N5>>2]=U2,D5=U2>>>0>>0,r5=_3+1|0,D5;)k2=I5,I5=U2,_3=r5,t2=k2;if(d0=0-a|0,n0=t+K|0,_0=(K|0)>0,_0)for(L0=(a|0)==0,x0=n0,b1=1,W2=0,G5=t,H5=1;;){j0=b1&3,z1=(j0|0)==3;do if(z1){e[W5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=G5,O1=G5,X5=1;;){if(H1=y+d0|0,V1=B+-2|0,X1=t3+(V1<<2)|0,o2=e[X1>>2]|0,U5=o2+a|0,r0=0-U5|0,j1=y+r0|0,u2=pi[$&15](O1,j1)|0,W1=(u2|0)>-1,W1&&(I2=pi[$&15](O1,H1)|0,a2=(I2|0)>-1,a2)){f3=X5;break}if(C2=pi[$&15](j1,H1)|0,K1=(C2|0)>-1,h2=X5+1|0,l2=W5+(X5<<2)|0,K1?(e[l2>>2]=j1,i2=B+-1|0,h=j1,E=i2):(e[l2>>2]=H1,h=H1,E=V1),c2=(E|0)>1,!c2){f3=h2;break}Y=e[W5>>2]|0,B=E,y=h,O1=Y,X5=h2}if(r2=(f3|0)<2,!r2&&($2=W5+(f3<<2)|0,e[$2>>2]=n3,!L0))for(w=a,O2=n3;;){for(p2=w>>>0>256,s2=p2?256:w,K2=e[W5>>2]|0,ge(O2|0,K2|0,s2|0)|0,L2=K2,X3=0;D2=W5+(X3<<2)|0,S2=X3+1|0,Q2=W5+(S2<<2)|0,G2=e[Q2>>2]|0,ge(L2|0,G2|0,s2|0)|0,P2=L2+s2|0,e[D2>>2]=P2,r3=(S2|0)==(f3|0),!r3;)L2=G2,X3=S2;if(e2=(w|0)==(s2|0),e2)break e;m2=w-s2|0,z=e[$2>>2]|0,w=m2,O2=z}}while(!1);J2=b1>>>2,H2=W2<<30,A5=J2|H2,Y2=W2>>>2,N1=H5+2|0,l0=A5,x1=Y2,V5=N1}else{if(e5=H5+-1|0,T5=t3+(e5<<2)|0,t5=e[T5>>2]|0,x5=G5,Z2=x0-x5|0,b5=t5>>>0>>0,b5){e[W5>>2]=G5,Y5=(H5|0)>1;e:do if(Y5){for(S=H5,x=G5,M2=G5,D3=1;;){if(g5=x+d0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,o5=e[B5>>2]|0,$6=o5+a|0,s0=0-$6|0,R2=x+s0|0,y2=pi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=pi[$&15](M2,g5)|0,L5=(m5|0)>-1,L5)){w3=D3;break}if(q5=pi[$&15](R2,g5)|0,M5=(q5|0)>-1,V2=D3+1|0,p5=W5+(D3<<2)|0,M5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){w3=V2;break}X=e[W5>>2]|0,S=Q,x=m,M2=X,D3=V2}if(y5=(w3|0)<2,!y5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,X2=n3;;){for(f5=D>>>0>256,l5=f5?256:D,R5=e[W5>>2]|0,ge(X2|0,R5|0,l5|0)|0,h5=R5,q3=0;d2=W5+(q3<<2)|0,w5=q3+1|0,i5=W5+(w5<<2)|0,s5=e[i5>>2]|0,ge(h5|0,s5|0,l5|0)|0,z2=h5+l5|0,e[d2>>2]=z2,a3=(w5|0)==(w3|0),!a3;)h5=s5,q3=w5;if(d5=(D|0)==(l5|0),d5)break e;j2=D-l5|0,a0=e[T1>>2]|0,D=j2,X2=a0}}while(!1)}else cE(G5,a,$,b1,W2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=W2<<1,v5=b1>>>31,J5=v5|F2,i3=b1<<1,l0=i3,x1=J5,V5=0;break}else{E5=e5>>>0>31,I3=H5+-33|0,g=E5?0:b1,M=E5?b1:W2,L=E5?I3:e5,h3=M<>>t0,u0=j|h3,c0=g<>>0>>0,m0)b1=$0,W2=x1,G5=W,H5=V5;else{T=x1,N=$0,B3=W,z5=V5;break}}else T=0,N=1,B3=t,z5=1;if(cE(B3,a,$,N,T,z5,0,t3),g0=(z5|0)==1,f0=(N|0)==1,Q3=f0&g0,h0=(T|0)==0,u3=h0&Q3,u3){C=G3;return}else S0=N,v0=T,Z5=B3,S5=z5;for(;;){if(p0=(S5|0)<2,!p0){Y0=v0<<2,s1=S0>>>30,V0=s1|Y0,i1=S5+-2|0,o1=S0<<1,d1=o1&2147483646,g1=s1<<31,m1=d1|g1,h1=m1^3,u1=V0>>>1,A1=t3+(i1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,V=0-Y3|0,a1=Z5+V|0,$1=S5+-1|0,cE(a1,a,$,h1,u1,$1,1,t3),E1=u1<<1,I1=s1&1,Q1=E1|I1,p1=h1<<1,B1=p1|1,w1=Z5+d0|0,cE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,Z5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)O0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,W0=(B0|0)==0,W0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:z0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){O0=64,l3=56;break}if(N0=v0&1,P0=(N0|0)==0,P0)v=v0,N3=0;else{I=0,k1=S0,_1=v0,D1=0;break}for(;;)if(q0=N3+1|0,k0=v>>>1,J0=k0&1,F0=(J0|0)==0,F0)v=k0,N3=q0;else{F=q0,H3=N3;break}if(G0=H3+33|0,K0=(F|0)==0,K0){I=0,k1=S0,_1=v0,D1=0;break}else z0=G0}H0=z0>>>0>31,H0?(O0=z0,l3=56):(I=z0,k1=S0,_1=v0,D1=z0)}while(!1);if((l3|0)==56&&(l3=0,Z0=O0+-32|0,I=Z0,k1=v0,_1=0,D1=O0),v1=k1>>>I,L1=32-I|0,M1=_1<>>I,U1=D1+S5|0,G=Z5+d0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,Z5=G,S5=U1}C=G3}function cE(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,H2=y2+228|0,U2=y2,e[U2>>2]=t,q=0-o|0,d0=($|0)!=1,v0=(g|0)!=0,z0=v0|d0;e:do if(z0)if(g1=I+(h<<2)|0,Q1=e[g1>>2]|0,F1=0-Q1|0,V1=t+F1|0,K1=pi[a&15](V1,t)|0,k2=(K1|0)<1,k2)B=t,M=h,G=m,Y2=1,M2=18;else for(v=t,T=h,Y=m,B0=V1,Y0=g,x5=1,b2=$;;){if(t0=(Y|0)==0,h0=(T|0)>1,g5=t0&h0,g5){if(b0=v+q|0,E0=T+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=pi[a&15](b0,B0)|0,W0=(_0|0)>-1,W0){S=v,L=T,e5=x5;break e}if(B5=w0+o|0,V=0-B5|0,M0=v+V|0,T0=pi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=T,e5=x5;break e}}P0=x5+1|0,q0=U2+(x5<<2)|0,e[q0>>2]=B0,k0=b2+-1|0,J0=(k0|0)==0;do if(J0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,K0=y>>>1,H0=K0&1,Z0=(H0|0)==0,Z0)y=K0,I5=G0;else{X=G0;break}O0=(X|0)==0,O0?M2=10:A1=X}else M2=10;if((M2|0)==10){if(M2=0,s1=(Y0|0)==0,s1){$1=64,M2=15;break}if(V0=Y0&1,i1=(V0|0)==0,i1)x=Y0,b5=0;else{Q=0,E1=b2,B1=Y0,L1=0;break}for(;;)if(x0=b5+1|0,o1=x>>>1,d1=o1&1,m1=(d1|0)==0,m1)x=o1,b5=x0;else{z=x0,Y5=b5;break}if(h1=Y5+33|0,u1=(z|0)==0,u1){Q=0,E1=b2,B1=Y0,L1=0;break}else A1=h1}c1=A1>>>0>31,c1?($1=A1,M2=15):(Q=A1,E1=b2,B1=Y0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,a1=$1+-32|0,Q=a1,E1=Y0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+T|0,M1=(w1|0)!=1,b1=(v1|0)!=0,_1=b1|M1,!_1){S=B0,L=k1,e5=P0;break e}if(a0=e[U2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,Z1=pi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,G=0,Y2=P0,M2=18;break}else w=B0,T=k1,Y=0,B0=P1,Y0=v1,x5=P0,b2=w1,v=w}else B=t,M=h,G=m,Y2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(G|0)==0,x1)S=B,L=M,e5=Y2;else{C=y2;return}z1=(e5|0)<2;e:do if(!z1&&(q1=U2+(e5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,h2=R2;;){for(C2=F>>>0>256,X1=C2?256:F,A2=e[U2>>2]|0,ge(h2|0,A2|0,X1|0)|0,I2=A2,t5=0;j1=U2+(t5<<2)|0,O1=t5+1|0,u2=U2+(O1<<2)|0,W1=e[u2>>2]|0,ge(I2|0,W1|0,X1|0)|0,a2=I2+X1|0,e[j1>>2]=a2,A5=(O1|0)==(e5|0),!A5;)I2=W1,t5=O1;if(Y1=(F|0)==(X1|0),Y1)break e;o2=F-X1|0,s0=e[q1>>2]|0,F=o2,h2=s0}while(!1);e[H2>>2]=S,l2=(L|0)>1;e:do if(l2){for(D=L,N=S,s2=S,Z2=1;;){if(i2=N+q|0,c2=D+-2|0,r2=I+(c2<<2)|0,$2=e[r2>>2]|0,o5=$2+o|0,o0=0-o5|0,e2=N+o0|0,m2=pi[a&15](s2,e2)|0,t2=(m2|0)>-1,t2&&(D2=pi[a&15](s2,i2)|0,S2=(D2|0)>-1,S2)){N1=Z2;break}if(Q2=pi[a&15](e2,i2)|0,G2=(Q2|0)>-1,L2=Z2+1|0,P2=H2+(Z2<<2)|0,G2?(e[P2>>2]=e2,p2=D+-1|0,E=e2,b=p2):(e[P2>>2]=i2,E=i2,b=c2),K2=(b|0)>1,!K2){N1=L2;break}K=e[H2>>2]|0,D=b,N=E,s2=K,Z2=L2}if(O2=(N1|0)<2,O2)Q0=R2;else if(J2=H2+(N1<<2)|0,e[J2>>2]=R2,j=(o|0)==0,j)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[H2>>2]|0,ge(S0|0,C0|0,c0|0)|0,f0=C0,T5=0;l0=H2+(T5<<2)|0,W=T5+1|0,m0=H2+(W<<2)|0,g0=e[m0>>2]|0,ge(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,W2=(W|0)==(N1|0),!W2;)f0=g0,T5=W;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[J2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function K7(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,h=t+4503599627370496,m=h+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function qQ(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(h=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=h?I:Q,B=b==0,B?(S=h?-0:0,o=S,+o):(o=b,+o))}function gD(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0;return X=C,h=(o|0)>1023,h?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,G=M):($=y,G=m)):(F=(o|0)<-1022,F?(T=t*22250738585072014e-324,N=o+1022|0,I=(N|0)<-1022,I?(E=T*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,G=E):($=N,G=T)):($=o,G=t)),S=$+1023|0,b=VQ(S|0,0,52)|0,v=Z6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=G*w,+D}function uD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,h=g,e[h>>2]=0}function dD(){var t=0,o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=mD(E|0,S|0,1284865837,1481765933)|0,v=Z6,w=ns(b|0,v|0,1,0)|0,D=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,h=g,e[h>>2]=D,m=os(w|0,D|0,33)|0,I=Z6,m|0}function R9(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,W8=0,R8=0,u8=0,F8=0,c4=0,V8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0,As=0,Jn=0,$s=0,zn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,ds=0,hs=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,or=0,Ns=0,lo=0,dn=0,co=0,hn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,sr=0,Dr=0,Z7=0,_r=0,mo=0,j7=0,b7=0,D7=0,i7=0,_7=0,xr=0,ar=0,Ar=0,Lr=0,E7=0,Os=0,fi=0,al=0,In=0,mn=0,Hu=0,Al=0,qs=0,Yu=0,aA=0,$l=0,Vu=0,Ju=0,zu=0,AA=0,ll=0,cl=0,$A=0,pn=0,gl=0,Ku=0,Hs=0,$r=0,Wu=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,od=0,ul=0,Mr=0,sd=0,ad=0,dl=0,Ad=0,lA=0,Ys=0,cA=0,$d=0,ld=0,gA=0,hl=0,fl=0,Il=0,uA=0,ml=0,Vs=0,cd=0,gd=0,pl=0,ud=0,dd=0,El=0,hd=0,fd=0,Cl=0,Bl=0,Ql=0,yl=0,wl=0,En=0,Id=0,vl=0,md=0,kl=0,Sl=0,pd=0,Ed=0,Cd=0,dA=0,bl=0,Dl=0,po=0,_l=0,hA=0,Bd=0,xl=0,Qd=0,Ll=0,yd=0,wd=0,Ml=0,Rl=0,vd=0,Js=0,kd=0,fA=0,Fl=0,Tl=0,Sd=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,zs=0,Nl=0,Gl=0,Ul=0,Ks=0,Md=0,Pl=0,Rd=0,Ol=0,Fd=0,Td=0,ql=0,IA=0,Nd=0,Gd=0,Ws=0,Ud=0,Zs=0,Pd=0,mA=0,Od=0,qd=0,Hd=0,Hl=0,Yd=0,Vd=0,Jd=0,zd=0,Yl=0,Vl=0,lr=0,Jl=0,js=0,pA=0,EA=0,Cn=0,zl=0,Bn=0,Kd=0,Kl=0,Wd=0,Zd=0,jd=0,Xd=0,Xs=0,CA=0,Rr=0,eh=0,th=0,Wl=0,BA=0,Zl=0,jl=0,ih=0,Xl=0,rh=0,QA=0,nh=0,oh=0,K9=0,sh=0,ec=0,ah=0,Ah=0,yA=0,$h=0,wA=0,tc=0,lh=0,ch=0,ic=0,rc=0,gh=0,vA=0,kA=0,nc=0,oc=0,uh=0,sc=0,SA=0,dh=0,ac=0,hh=0,fh=0,Ih=0,mh=0,Ac=0,$c=0,bA=0,ea=0,lc=0,ph=0,cc=0,gc=0,Eh=0,Ch=0,Bh=0,uc=0,Qh=0,yh=0,wh=0,vh=0,kh=0,Sh=0,dc=0,bh=0,hc=0,Dh=0,Qn=0,_h=0,fc=0,xh=0,Eo=0,Ic=0,DA=0,Lh=0,ta=0,_A=0,Mh=0,xA=0,mc=0,Rh=0,Fh=0,Th=0,Nh=0,Gh=0,pc=0,Uh=0,Ph=0,Oh=0,ia=0,Co=0,LA=0,qh=0,MA=0,Hh=0,Yh=0,Vh=0,Ec=0,Jh=0,zh=0,Kh=0,Wh=0,Zh=0,ra=0,jh=0,Xh=0,Cc=0,ef=0,tf=0,rf=0,nf=0,C7=0,Bc=0,B7=0,Qc=0,RA=0,of=0,r7=0,Bo=0,sf=0,af=0,Af=0,$f=0,lf=0,yc=0,cf=0,gf=0,wc=0,uf=0,df=0,Qo=0,FA=0,hf=0,vc=0,ff=0,If=0,na=0,mf=0,pf=0,kc=0,Sc=0,Ef=0,Cf=0,yn=0,Bf=0,Qf=0,wn=0,yf=0,bc=0,wf=0,vf=0,yo=0,Dc=0,kf=0,_c=0,Sf=0,cr=0,TA=0,bf=0,xc=0,Lc=0,Df=0,_f=0,Mc=0,xf=0,Lf=0,Mf=0,Rc=0,Rf=0,wo=0,Ff=0,vn=0,Tf=0,Nf=0,NA=0,Gf=0,GA=0,UA=0,Uf=0,Fc=0,Tc=0,Pf=0,Nc=0,Gc=0,Uc=0,Of=0,Pc=0,Oc=0,qf=0,Hf=0,qc=0,Hc=0,Yf=0,Yc=0,Vc=0,Vf=0,Jf=0,Jc=0,PA=0,zc=0,Kc=0,Wc=0,Zc=0,zf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,jc=0,OA=0,iI=0,rI=0,nI=0,Xc=0,eg=0,oI=0,tg=0,qA=0,oa=0,ig=0,sI=0,aI=0,AI=0,$I=0,rg=0,sa=0,lI=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,ng=0,mI=0,pI=0,EI=0,CI=0,aa=0,og=0,BI=0,QI=0,kn=0,sg=0,ag=0,HA=0,yI=0,Ag=0,wI=0,$g=0,lg=0,vI=0,kI=0,SI=0,bI=0,DI=0,Aa=0,YA=0,_I=0,xI=0,LI=0,MI=0,cg=0,RI=0,gg=0,FI=0,TI=0,ug=0,Fr=0,dg=0,hg=0,NI=0,fg=0,$a=0,GI=0,UI=0,PI=0,la=0,Ig=0,OI=0,qI=0,mg=0,HI=0,YI=0,VA=0,ca=0,VI=0,JI=0,zI=0,pg=0,Eg=0,Cg=0,KI=0,WI=0,vo=0,ZI=0,Bg=0,jI=0,JA=0,Qg=0,XI=0,em=0,tm=0,im=0,yg=0,rm=0,nm=0,wg=0,ga=0,om=0,sm=0,am=0,ko=0,vg=0,kg=0,Am=0,Sg=0,bg=0,x7=0,Dg=0,gr=0,$m=0,lm=0,cm=0,gm=0,zA=0,ua=0,_g=0,xg=0,um=0,da=0,So=0,dm=0,ha=0,KA=0,hm=0,WA=0,fm=0,Im=0,Lg=0,fa=0,Mg=0,mm=0,pm=0,Em=0,Cm=0,Rg=0,Bm=0,ni=0,_e=0,n7=0,Qm=0,Fg=0,Tg=0,ZA=0,ym=0,Tr=0,bo=0,wm=0,vm=0,Ng=0,jA=0,km=0,Gg=0,Ug=0,Pg=0,XA=0,e$=0,Og=0,Do=0,t$=0,qg=0,Sm=0,Sn=0,bm=0,Hg=0,Ia=0,Dm=0,Yg=0,L7=0,_m=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,M7=0,Tm=0,Nm=0,Gm=0,Vg=0,Q7=0,ma=0,i$=0,Jg=0,zg=0,Um=0,Kg=0,Wg=0,Pm=0,Om=0,Zg=0,jg=0,qm=0,Hm=0,Xg=0,Ym=0,_o=0,pa=0,Ea=0,Vm=0,r$=0,Jm=0,zm=0,eu=0,xo=0,Km=0,Wm=0,n$=0,o$=0,Ca=0,s$=0,a$=0,ur=0,Nr=0,Gr=0,A$=0,$$=0,Lo=0,dr=0,bn=0,Zm=0,hr=0,Dn=0,jm=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,tu=0,iu=0,ya=0,l$=0,Ni=0,wa=0,Ur=0,c$=0,Xm=0,g$=0,ep=0,u$=0,ru=0,va=0,tp=0,ip=0,ka=0,rp=0,Sa=0,_n=0,tt=0,Le=0,nu=0,np=0,d$=0,ou=0,op=0,sp=0,ba=0,ap=0,Ap=0,$p=0,lp=0,su=0,cp=0,gp=0,up=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,au=0,Au=0,_a=0,To=0,No=0,Go=0,dp=0,Uo=0,fr=0,$u=0,Pr=0,s7=0,f$=0,I$=0,X7=0,m$=0,p$=0,E$=0,Or=0,u6=0,xa=0,qr=0,lu=0,x4=0,C$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Hr=0,Xe=0,B$=0;B$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,Ee=t+11|0,We=Ee&-8,_4=h2?16:We,qs=_4>>>3,mA=e[138262]|0,ia=mA>>>qs,Kc=ia&3,wg=(Kc|0)==0,!wg){l2=ia&1,f3=l2^1,g3=f3+qs|0,l3=g3<<1,d3=553088+(l3<<2)|0,S0=l3+2|0,N6=553088+(S0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,y9=(d3|0)==(F6|0);do if(y9)J9=1<>>0>>0,h4&&v2(),be=F6+12|0,b9=e[be>>2]|0,Pt=(b9|0)==(R6|0),Pt){e[be>>2]=d3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,b4=R6+w0|0,Ze=e[b4>>2]|0,A8=Ze|1,e[b4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,Z8=_4>>>0>X4>>>0,Z8){if(Hi=(ia|0)==0,!Hi){Vi=ia<>>12,gn=Ss&16,go=ro>>>gn,sr=go>>>5,ar=sr&8,Yu=ar|gn,gl=go>>>ar,rd=gl>>>2,cA=rd&4,gd=Yu|cA,wl=gl>>>cA,bl=wl>>>1,Ml=bl&2,_d=gd|Ml,Ol=wl>>>Ml,Od=Ol>>>1,Jl=Od&1,jd=_d|Jl,ih=Ol>>>Jl,yA=jd+ih|0,nc=yA<<1,Ac=553088+(nc<<2)|0,P1=nc+2|0,uc=553088+(P1<<2)|0,Qn=e[uc>>2]|0,xA=Qn+8|0,Co=e[xA>>2]|0,Wh=(Ac|0)==(Co|0);do if(Wh)Bc=1<>>0>>0,cr&&v2(),Rc=Co+12|0,Uf=e[Rc>>2]|0,Hf=(Uf|0)==(Qn|0),Hf){e[Rc>>2]=Ac,e[uc>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return Wc=yA<<3,OA=Wc-_4|0,sI=_4|3,hI=Qn+4|0,e[hI>>2]=sI,QI=Qn+_4|0,kI=OA|1,X1=_4|4,RI=Qn+X1|0,e[RI>>2]=kI,GI=Qn+Wc|0,e[GI>>2]=OA,Bg=(ca|0)==0,Bg||(ga=e[138267]|0,Dg=ca>>>3,da=Dg<<1,Mg=553088+(da<<2)|0,Fg=e[138262]|0,Gg=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(G=_o,Ca=i2)),e[G>>2]=ga,g5=Ca+12|0,e[g5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,j2=ga+12|0,e[j2>>2]=Mg),e[138264]=OA,e[138267]=QI,tt=xA,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=_4;else{for(Z5=0-c5|0,_3=c5&Z5,w3=_3+-1|0,X3=w3>>>12,q3=X3&16,X5=w3>>>q3,D3=X5>>>5,t3=D3&8,s6=t3|q3,N3=X5>>>t3,H3=N3>>>2,c3=H3&4,u3=s6|c3,Q3=N3>>>c3,z5=Q3>>>1,H5=z5&2,V5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,U5=Y3&1,$6=V5|U5,n3=S5>>>U5,G3=$6+n3|0,E6=553352+(G3<<2)|0,S3=e[E6>>2]|0,x3=S3+4|0,b3=e[x3>>2]|0,a6=b3&-8,i6=a6-_4|0,Da=i6,I$=S3,C$=S3;;){if(V3=I$+16|0,j5=e[V3>>2]|0,L3=(j5|0)==0,L3)if(J3=I$+20|0,h6=e[J3>>2]|0,m3=(h6|0)==0,m3){xn=Da,kt=C$;break}else L6=h6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,r6=S6-_4|0,f6=r6>>>0>>0,V=f6?r6:Da,A2=f6?L6:C$,Da=V,I$=L6,C$=A2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+_4|0,M3=kt>>>0>>0,M3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,z3=e[C6>>2]|0,R3=(z3|0)==(kt|0);do if(R3){if(H6=kt+20|0,A6=e[H6>>2]|0,D6=(A6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else dr=Q6,Ba=e9;else dr=A6,Ba=H6;for(;;){if(U3=dr+20|0,r9=e[U3>>2]|0,Y6=(r9|0)==0,!Y6){dr=r9,Ba=U3;continue}if(o9=dr+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){hr=dr,iu=Ba;break}else dr=g9,Ba=o9}if(V6=iu>>>0>>0,V6)v2();else{e[iu>>2]=0,Ri=hr;break}}else if(K3=kt+8|0,e6=e[K3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,z6=e[o3>>2]|0,A3=(z6|0)==(kt|0),A3||v2(),c6=z3+8|0,B6=e[c6>>2]|0,F3=(B6|0)==(kt|0),F3){e[o3>>2]=z3,e[c6>>2]=e6,Ri=z3;break}else v2();while(!1);t9=(o6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,P3=553352+(P6<<2)|0,O6=e[P3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[P3>>2]=Ri,tp=(Ri|0)==0,tp){d9=1<>>0>>0,f9&&v2(),Y9=o6+16|0,y6=e[Y9>>2]|0,q6=(y6|0)==(kt|0),q6?e[Y9>>2]=Ri:(a9=o6+20|0,e[a9>>2]=Ri),V9=(Ri|0)==0,V9)break;w9=e[138266]|0,we=Ri>>>0>>0,we&&v2(),ue=Ri+24|0,e[ue>>2]=o6,re=kt+16|0,F9=e[re>>2]|0,v9=(F9|0)==0;do if(!v9)if(K6=F9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=F9,ve=F9+24|0,e[ve>>2]=Ri;break}while(!1);if(Me=kt+20|0,de=e[Me>>2]|0,_9=(de|0)==0,!_9)if(Re=e[138266]|0,Ue=de>>>0>>0,Ue)v2();else{He=Ri+20|0,e[He>>2]=de,n4=de+24|0,e[n4>>2]=Ri;break}}while(!1);return ke=xn>>>0<16,ke?(Ye=xn+_4|0,z9=Ye|3,Ve=kt+4|0,e[Ve>>2]=z9,Z1=Ye+4|0,he=kt+Z1|0,Pe=e[he>>2]|0,Ce=Pe|1,e[he>>2]=Ce):(Z9=_4|3,k9=kt+4|0,e[k9>>2]=Z9,v4=xn|1,m0=_4|4,Y4=kt+m0|0,e[Y4>>2]=v4,f0=xn+_4|0,nt=kt+f0|0,e[nt>>2]=xn,Je=e[138264]|0,V4=(Je|0)==0,V4||(ze=e[138267]|0,o4=Je>>>3,R4=o4<<1,ne=553088+(R4<<2)|0,u4=e[138262]|0,Be=1<>2]|0,d4=e[138266]|0,oe=Te>>>0>>0,oe?v2():(T=fe,o$=Te)),e[T>>2]=ze,f4=o$+12|0,e[f4>>2]=ze,Se=ze+8|0,e[Se>>2]=o$,s4=ze+12|0,e[s4>>2]=ne),e[138264]=xn,e[138267]=v6),Oe=kt+8|0,tt=Oe,tt|0}}else Le=_4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(S9=t+11|0,I6=S9&-8,J4=e[138263]|0,Ie=(J4|0)==0,Ie)Le=I6;else{k4=0-I6|0,me=S9>>>8,J6=(me|0)==0,J6?_n=0:(F4=I6>>>0>16777215,F4?_n=31:(T4=me+1048320|0,st=T4>>>16,pe=st&8,xe=me<>>16,x9=W3&4,qe=x9|pe,a4=xe<>>16,f8=N4&2,_8=qe|f8,e8=14-_8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,x8=i8|Ot,_n=x8)),Ht=553352+(_n<<2)|0,Yt=e[Ht>>2]|0,Vt=(Yt|0)==0;e:do if(Vt)Ro=k4,m$=0,Mn=0,Xe=86;else for(_t=(_n|0)==31,xt=_n>>>1,Jt=25-xt|0,zt=_t?0:Jt,r8=I6<>2]|0,z4=Et&-8,G4=z4-I6|0,at=G4>>>0>>0,at)if(Lt=(z4|0)==(I6|0),Lt){Fo=G4,Or=X7,Hr=X7,Xe=90;break e}else Mo=G4,Ln=X7;else Mo=h$,Ln=Po;if(L9=X7+20|0,S4=e[L9>>2]|0,E8=_a>>>31,L8=(X7+16|0)+(E8<<2)|0,o8=e[L8>>2]|0,M8=(S4|0)==0,A4=(S4|0)==(o8|0),ap=M8|A4,Au=ap?au:S4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,m$=Au,Mn=Ln,Xe=86;break}else h$=Mo,au=Au,_a=Kt,X7=o8,Po=Ln}while(!1);if((Xe|0)==86){if(Mt=(m$|0)==0,At=(Mn|0)==0,op=Mt&At,op){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=J4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,Qt=ct>>>12,p4=Qt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,D4=gt&4,De=P4|D4,yt=E4>>>D4,a8=yt>>>1,E3=a8&2,Z4=De|E3,wt=yt>>>E3,$4=wt>>>1,j9=$4&1,l4=Z4|j9,T9=wt>>>j9,j4=l4+T9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,p$=C8,Rn=0}else p$=m$,Rn=Mn;$8=(p$|0)==0,$8?(oi=Ro,q9=Rn):(Fo=Ro,Or=p$,Hr=Rn,Xe=90)}if((Xe|0)==90)for(;;){if(Xe=0,Zt=Or+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,dt=ut>>>0>>0,o0=dt?ut:Fo,E$=dt?Or:Hr,Ft=Or+16|0,je=e[Ft>>2]|0,c8=(je|0)==0,!c8){Fo=o0,Or=je,Hr=E$,Xe=90;continue}if(Tt=Or+20|0,D9=e[Tt>>2]|0,g8=(D9|0)==0,g8){oi=o0,q9=E$;break}else Fo=o0,Or=D9,Hr=E$,Xe=90}if(et=(q9|0)==0,et)Le=I6;else if(Y8=e[138264]|0,W8=Y8-I6|0,R8=oi>>>0>>0,R8){u8=e[138266]|0,F8=q9>>>0>>0,F8&&v2(),c4=q9+I6|0,V8=q9>>>0>>0,V8||v2(),ht=q9+24|0,Nt=e[ht>>2]|0,T8=q9+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(X8=q9+20|0,Bi=e[X8>>2]|0,ei=(Bi|0)==0,ei)if(Qi=q9+16|0,li=e[Qi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dn=li,ya=Qi;else Dn=Bi,ya=X8;for(;;){if(yi=Dn+20|0,wi=e[yi>>2]|0,u7=(wi|0)==0,!u7){Dn=wi,ya=yi;continue}if(vi=Dn+16|0,ci=e[vi>>2]|0,d7=(ci|0)==0,d7){jm=Dn,l$=ya;break}else Dn=ci,ya=vi}if(Ji=l$>>>0>>0,Ji)v2();else{e[l$>>2]=0,Ti=jm;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,N8=Ae>>>0>>0,N8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Yi=(qi|0)==(q9|0),Yi||v2(),Ei=Xt+8|0,j8=e[Ei>>2]|0,Ci=(j8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);zi=(Nt|0)==0;do if(!zi){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ti=(q9|0)==(Zi|0),ti){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(q9|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ri=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,di=q9+16|0,z8=e[di>>2]|0,Li=(z8|0)==0;do if(!Li)if(G8=z8>>>0>>0,G8)v2();else{hi=Ti+16|0,e[hi>>2]=z8,$9=z8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(U8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{wr=Ti+20|0,e[wr>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=oi>>>0<16;e:do if($s)zn=oi+I6|0,ls=zn|3,cs=q9+4|0,e[cs>>2]=ls,d1=zn+4|0,Kn=q9+d1|0,gs=e[Kn>>2]|0,on=gs|1,e[Kn>>2]=on;else{if(us=I6|3,ds=q9+4|0,e[ds>>2]=us,hs=oi|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=hs,C0=oi+I6|0,Zn=q9+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Is=oi>>>0<256,Is){sn=jn<<1,Xn=553088+(sn<<2)|0,an=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,vr=io>>>0>>0,vr?v2():(F=An,a$=io)),e[F>>2]=c4,$n=a$+12|0,e[$n>>2]=c4,Y0=I6+8|0,Bs=q9+Y0|0,e[Bs>>2]=a$,V0=I6+12|0,Qs=q9+V0|0,e[Qs>>2]=Xn;break}if(ln=oi>>>8,I7=(ln|0)==0,I7?Nr=0:(ys=oi>>>0>16777215,ys?Nr=31:(ws=ln+1048320|0,no=ws>>>16,oo=no&8,so=ln<>>16,cn=m7&4,ks=cn|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,kr=oi>>>Fs,un=kr&1,Ts=un|Rs,Nr=Ts)),or=553352+(Nr<<2)|0,h1=I6+28|0,Ns=q9+h1|0,e[Ns>>2]=Nr,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,dn=q9+x1|0,e[dn>>2]=0,e[lo>>2]=0,co=e[138263]|0,hn=1<>2]=c4,Y1=I6+24|0,ho=q9+Y1|0,e[ho>>2]=or,o2=I6+12|0,fo=q9+o2|0,e[fo>>2]=c4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=c4;break}Sr=e[or>>2]|0,Io=Sr+4|0,p7=e[Io>>2]|0,fn=p7&-8,br=(fn|0)==(oi|0);t:do if(br)Ni=Sr;else{for(Dr=(Nr|0)==31,Z7=Nr>>>1,_r=25-Z7|0,mo=Dr?0:_r,j7=oi<>>31,E7=(c$+16|0)+(Lr<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){v=E7,Xm=c$;break}if(b7=A$<<1,D7=i7+4|0,_7=e[D7>>2]|0,xr=_7&-8,Ar=(xr|0)==(oi|0),Ar){Ni=i7;break t}else A$=b7,c$=i7}if(fi=e[138266]|0,al=v>>>0>>0,al)v2();else{e[v>>2]=c4,E0=I6+24|0,In=q9+E0|0,e[In>>2]=Xm,q0=I6+12|0,mn=q9+q0|0,e[mn>>2]=c4,H0=I6+8|0,Hu=q9+H0|0,e[Hu>>2]=c4;break e}}while(!1);if(Al=Ni+8|0,aA=e[Al>>2]|0,$l=e[138266]|0,Vu=aA>>>0>=$l>>>0,nu=Ni>>>0>=$l>>>0,Ju=Vu&nu,Ju){zu=aA+12|0,e[zu>>2]=c4,e[Al>>2]=c4,u2=I6+8|0,AA=q9+u2|0,e[AA>>2]=aA,I2=I6+12|0,ll=q9+I2|0,e[ll>>2]=Ni,Q0=I6+24|0,cl=q9+Q0|0,e[cl>>2]=0;break}else v2()}while(!1);return $A=q9+8|0,tt=$A,tt|0}else Le=I6}while(!1);if(pn=e[138264]|0,Ku=pn>>>0>>0,!Ku)return Hs=pn-Le|0,$r=e[138267]|0,Wu=Hs>>>0>15,Wu?(Zu=$r+Le|0,e[138267]=Zu,e[138264]=Hs,ju=Hs|1,m1=Le+4|0,Xu=$r+m1|0,e[Xu>>2]=ju,ed=$r+pn|0,e[ed>>2]=Hs,td=Le|3,id=$r+4|0,e[id>>2]=td):(e[138264]=0,e[138267]=0,nd=pn|3,od=$r+4|0,e[od>>2]=nd,g0=pn+4|0,ul=$r+g0|0,Mr=e[ul>>2]|0,sd=Mr|1,e[ul>>2]=sd),ad=$r+8|0,tt=ad,tt|0;if(dl=e[138265]|0,Ad=dl>>>0>Le>>>0,Ad)return lA=dl-Le|0,e[138265]=lA,Ys=e[138268]|0,$d=Ys+Le|0,e[138268]=$d,ld=lA|1,q=Le+4|0,gA=Ys+q|0,e[gA>>2]=ld,hl=Le|3,fl=Ys+4|0,e[fl>>2]=hl,Il=Ys+8|0,tt=Il,tt|0;uA=e[138380]|0,ml=(uA|0)==0;do if(ml)if(Vs=kS(30)|0,cd=Vs+-1|0,pl=cd&Vs,ud=(pl|0)==0,ud){e[138382]=Vs,e[138381]=Vs,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,dd=dQ(0)|0,El=dd&-16,hd=El^1431655768,e[138380]=hd;break}else v2();while(!1);if(fd=Le+48|0,Cl=e[138382]|0,Bl=Le+47|0,Ql=Cl+Bl|0,yl=0-Cl|0,En=Ql&yl,Id=En>>>0>Le>>>0,!Id||(vl=e[138372]|0,md=(vl|0)==0,!md&&(kl=e[138370]|0,Sl=kl+En|0,pd=Sl>>>0<=kl>>>0,Ed=Sl>>>0>vl>>>0,ba=pd|Ed,ba)))return tt=0,tt|0;Cd=e[138373]|0,dA=Cd&4,Dl=(dA|0)==0;e:do if(Dl){po=e[138268]|0,_l=(po|0)==0;t:do if(_l)Xe=174;else{for(To=553496;;){if(hA=e[To>>2]|0,Bd=hA>>>0>po>>>0,!Bd&&(xl=To+4|0,Qd=e[xl>>2]|0,Ll=hA+Qd|0,yd=Ll>>>0>po>>>0,yd)){S=To,b=xl;break}if(wd=To+8|0,Rl=e[wd>>2]|0,vd=(Rl|0)==0,vd){Xe=174;break t}else To=Rl}if(Nd=e[138265]|0,Gd=Ql-Nd|0,Ws=Gd&yl,Ud=Ws>>>0<2147483647,Ud)if(Zs=Oi(Ws|0)|0,Pd=e[S>>2]|0,qd=e[b>>2]|0,Hd=Pd+qd|0,Hl=(Zs|0)==(Hd|0),o=Hl?Ws:0,Hl)if(Yd=(Zs|0)==-1,Yd)qr=o;else{u6=Zs,x4=o,Xe=194;break e}else va=Zs,s7=Ws,xa=o,Xe=184;else qr=0}while(!1);do if((Xe|0)==174)if(Js=Oi(0)|0,kd=(Js|0)==-1,kd)qr=0;else if(fA=Js,Fl=e[138381]|0,Tl=Fl+-1|0,Sd=Tl&fA,bd=(Sd|0)==0,bd?Pr=En:(Dd=Tl+fA|0,xd=0-Fl|0,Ld=Dd&xd,zs=En-fA|0,Nl=zs+Ld|0,Pr=Nl),Gl=e[138370]|0,Ul=Gl+Pr|0,Ks=Pr>>>0>Le>>>0,Md=Pr>>>0<2147483647,sp=Ks&Md,sp){if(Pl=e[138372]|0,Rd=(Pl|0)==0,!Rd&&(Fd=Ul>>>0<=Gl>>>0,Td=Ul>>>0>Pl>>>0,Ap=Fd|Td,Ap)){qr=0;break}if(ql=Oi(Pr|0)|0,IA=(ql|0)==(Js|0),$u=IA?Pr:0,IA){u6=Js,x4=$u,Xe=194;break e}else va=ql,s7=Pr,xa=$u,Xe=184}else qr=0;while(!1);t:do if((Xe|0)==184){Vd=0-s7|0,Jd=(va|0)!=-1,zd=s7>>>0<2147483647,lp=zd&Jd,Yl=fd>>>0>s7>>>0,cp=Yl&lp;do if(cp)if(Vl=e[138382]|0,lr=Bl-s7|0,js=lr+Vl|0,pA=0-Vl|0,EA=js&pA,Cn=EA>>>0<2147483647,Cn)if(zl=Oi(EA|0)|0,Bn=(zl|0)==-1,Bn){Oi(Vd|0)|0,qr=xa;break t}else{Kd=EA+s7|0,f$=Kd;break}else f$=s7;else f$=s7;while(!1);if(Kl=(va|0)==-1,Kl)qr=xa;else{u6=va,x4=f$,Xe=194;break e}}while(!1);Wd=e[138373]|0,Zd=Wd|4,e[138373]=Zd,lu=qr,Xe=191}else lu=0,Xe=191;while(!1);if((Xe|0)==191&&(Xd=En>>>0<2147483647,Xd&&(Xs=Oi(En|0)|0,CA=Oi(0)|0,Rr=(Xs|0)!=-1,eh=(CA|0)!=-1,$p=Rr&eh,th=Xs>>>0>>0,gp=th&$p,gp&&(Wl=CA,BA=Xs,Zl=Wl-BA|0,jl=Le+40|0,Xl=Zl>>>0>jl>>>0,C2=Xl?Zl:lu,Xl&&(u6=Xs,x4=C2,Xe=194)))),(Xe|0)==194){rh=e[138370]|0,QA=rh+x4|0,e[138370]=QA,nh=e[138371]|0,oh=QA>>>0>nh>>>0,oh&&(e[138371]=QA),K9=e[138268]|0,sh=(K9|0)==0;e:do if(sh){for(ec=e[138266]|0,ah=(ec|0)==0,Ah=u6>>>0>>0,up=ah|Ah,up&&(e[138266]=u6),e[138374]=u6,e[138375]=x4,e[138377]=0,$h=e[138380]|0,e[138271]=$h,e[138270]=-1,Sa=0;wA=Sa<<1,tc=553088+(wA<<2)|0,d0=wA+3|0,lh=553088+(d0<<2)|0,e[lh>>2]=tc,n0=wA+2|0,ch=553088+(n0<<2)|0,e[ch>>2]=tc,ic=Sa+1|0,rp=(ic|0)==32,!rp;)Sa=ic;rc=x4+-40|0,gh=u6+8|0,vA=gh,kA=vA&7,oc=(kA|0)==0,uh=0-vA|0,sc=uh&7,SA=oc?0:sc,dh=u6+SA|0,ac=rc-SA|0,e[138268]=dh,e[138265]=ac,hh=ac|1,j=SA+4|0,fh=u6+j|0,e[fh>>2]=hh,u1=x4+-36|0,Ih=u6+u1|0,e[Ih>>2]=40,mh=e[138384]|0,e[138269]=mh}else{for(Go=553496;;){if($c=e[Go>>2]|0,bA=Go+4|0,ea=e[bA>>2]|0,lc=$c+ea|0,ph=(u6|0)==(lc|0),ph){E=$c,Q=bA,B=ea,dp=Go,Xe=204;break}if(cc=Go+8|0,gc=e[cc>>2]|0,Eh=(gc|0)==0,Eh)break;Go=gc}if((Xe|0)==204&&(Ch=dp+12|0,Bh=e[Ch>>2]|0,Qh=Bh&8,yh=(Qh|0)==0,yh&&(wh=K9>>>0>=E>>>0,vh=K9>>>0>>0,su=vh&wh,su))){kh=B+x4|0,e[Q>>2]=kh,Sh=e[138265]|0,dc=Sh+x4|0,bh=K9+8|0,hc=bh,Dh=hc&7,_h=(Dh|0)==0,fc=0-hc|0,xh=fc&7,Eo=_h?0:xh,Ic=K9+Eo|0,DA=dc-Eo|0,e[138268]=Ic,e[138265]=DA,Lh=DA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=Lh,a1=dc+4|0,_A=K9+a1|0,e[_A>>2]=40,Mh=e[138384]|0,e[138269]=Mh;break}for(mc=e[138266]|0,Rh=u6>>>0>>0,Rh?(e[138266]=u6,yo=u6):yo=mc,Fh=u6+x4|0,Uo=553496;;){if(Th=e[Uo>>2]|0,Nh=(Th|0)==(Fh|0),Nh){I=Uo,fr=Uo,Xe=212;break}if(Gh=Uo+8|0,pc=e[Gh>>2]|0,Uh=(pc|0)==0,Uh){No=553496;break}else Uo=pc}if((Xe|0)==212)if(Ph=fr+12|0,Oh=e[Ph>>2]|0,LA=Oh&8,qh=(LA|0)==0,qh){e[I>>2]=u6,MA=fr+4|0,Hh=e[MA>>2]|0,Yh=Hh+x4|0,e[MA>>2]=Yh,Vh=u6+8|0,Ec=Vh,Jh=Ec&7,zh=(Jh|0)==0,Kh=0-Ec|0,Zh=Kh&7,ra=zh?0:Zh,jh=u6+ra|0,B0=x4+8|0,Xh=u6+B0|0,Cc=Xh,ef=Cc&7,tf=(ef|0)==0,rf=0-Cc|0,nf=rf&7,C7=tf?0:nf,_0=C7+x4|0,B7=u6+_0|0,Qc=B7,RA=jh,of=Qc-RA|0,$0=ra+Le|0,r7=u6+$0|0,Bo=of-Le|0,sf=Le|3,p0=ra+4|0,af=u6+p0|0,e[af>>2]=sf,Af=(B7|0)==(K9|0);t:do if(Af)$f=e[138265]|0,yc=$f+Bo|0,e[138265]=yc,e[138268]=r7,cf=yc|1,H1=$0+4|0,gf=u6+H1|0,e[gf>>2]=cf;else{if(wc=e[138267]|0,uf=(B7|0)==(wc|0),uf){df=e[138264]|0,Qo=df+Bo|0,e[138264]=Qo,e[138267]=r7,FA=Qo|1,z1=$0+4|0,hf=u6+z1|0,e[hf>>2]=FA,q1=Qo+$0|0,vc=u6+q1|0,e[vc>>2]=Qo;break}if($1=x4+4|0,W0=$1+C7|0,If=u6+W0|0,na=e[If>>2]|0,mf=na&3,pf=(mf|0)==1,pf){kc=na&-8,Sc=na>>>3,Ef=na>>>0<256;i:do if(Ef){U1=C7|8,K0=U1+x4|0,Cf=u6+K0|0,yn=e[Cf>>2]|0,D1=x4+12|0,z0=D1+C7|0,Bf=u6+z0|0,wn=e[Bf>>2]|0,yf=Sc<<1,bc=553088+(yf<<2)|0,wf=(yn|0)==(bc|0);do if(!wf){if(vf=yn>>>0>>0,vf&&v2(),Dc=yn+12|0,kf=e[Dc>>2]|0,_c=(kf|0)==(B7|0),_c)break;v2()}while(!1);if(Sf=(wn|0)==(yn|0),Sf){TA=1<>>0>>0,_f&&v2(),Mc=wn+8|0,xf=e[Mc>>2]|0,Lf=(xf|0)==(B7|0),Lf){N=Mc;break}v2()}while(!1);Mf=yn+12|0,e[Mf>>2]=wn,e[N>>2]=yn}else{R1=C7|24,M0=R1+x4|0,Rf=u6+M0|0,wo=e[Rf>>2]|0,V1=x4+12|0,v0=V1+C7|0,Ff=u6+v0|0,vn=e[Ff>>2]|0,Tf=(vn|0)==(B7|0);do if(Tf){if(j1=C7|16,L0=$1+j1|0,Gc=u6+L0|0,Uc=e[Gc>>2]|0,Of=(Uc|0)==0,Of)if(G0=j1+x4|0,Pc=u6+G0|0,Oc=e[Pc>>2]|0,qf=(Oc|0)==0,qf){Fi=0;break}else bn=Oc,Qa=Pc;else bn=Uc,Qa=Gc;for(;;){if(qc=bn+20|0,Hc=e[qc>>2]|0,Yf=(Hc|0)==0,!Yf){bn=Hc,Qa=qc;continue}if(Yc=bn+16|0,Vc=e[Yc>>2]|0,Vf=(Vc|0)==0,Vf){Zm=bn,tu=Qa;break}else bn=Vc,Qa=Yc}if(Jf=tu>>>0>>0,Jf)v2();else{e[tu>>2]=0,Fi=Zm;break}}else if(F1=C7|8,T0=F1+x4|0,Nf=u6+T0|0,NA=e[Nf>>2]|0,Gf=NA>>>0>>0,Gf&&v2(),GA=NA+12|0,UA=e[GA>>2]|0,Fc=(UA|0)==(B7|0),Fc||v2(),Tc=vn+8|0,Pf=e[Tc>>2]|0,Nc=(Pf|0)==(B7|0),Nc){e[GA>>2]=vn,e[Tc>>2]=NA,Fi=vn;break}else v2();while(!1);if(Jc=(wo|0)==0,Jc)break;b1=x4+28|0,N0=b1+C7|0,PA=u6+N0|0,zc=e[PA>>2]|0,Zc=553352+(zc<<2)|0,zf=e[Zc>>2]|0,Kf=(B7|0)==(zf|0);do if(Kf){if(e[Zc>>2]=Fi,ip=(Fi|0)==0,!ip)break;Wf=1<>>0>>0,tI&&v2(),jc=wo+16|0,iI=e[jc>>2]|0,rI=(iI|0)==(B7|0),rI?e[jc>>2]=Fi:(nI=wo+20|0,e[nI>>2]=Fi),Xc=(Fi|0)==0,Xc)break i;while(!1);eg=e[138266]|0,oI=Fi>>>0>>0,oI&&v2(),tg=Fi+24|0,e[tg>>2]=wo,_1=C7|16,P0=_1+x4|0,qA=u6+P0|0,oa=e[qA>>2]|0,ig=(oa|0)==0;do if(!ig)if(aI=oa>>>0>>0,aI)v2();else{AI=Fi+16|0,e[AI>>2]=oa,$I=oa+24|0,e[$I>>2]=Fi;break}while(!1);if(J0=$1+_1|0,rg=u6+J0|0,sa=e[rg>>2]|0,lI=(sa|0)==0,lI)break;if(cI=e[138266]|0,gI=sa>>>0>>0,gI)v2();else{uI=Fi+20|0,e[uI>>2]=sa,dI=sa+24|0,e[dI>>2]=Fi;break}}while(!1);a2=kc|C7,F0=a2+x4|0,fI=u6+F0|0,II=kc+Bo|0,ou=fI,o7=II}else ou=B7,o7=Bo;if(ng=ou+4|0,mI=e[ng>>2]|0,pI=mI&-2,e[ng>>2]=pI,EI=o7|1,b0=$0+4|0,CI=u6+b0|0,e[CI>>2]=EI,y0=o7+$0|0,aa=u6+y0|0,e[aa>>2]=o7,og=o7>>>3,BI=o7>>>0<256,BI){kn=og<<1,sg=553088+(kn<<2)|0,ag=e[138262]|0,HA=1<>2]|0,vI=e[138266]|0,SI=lg>>>0>>0,!SI){R=$g,s$=lg;break}v2()}while(!1);e[R>>2]=r7,bI=s$+12|0,e[bI>>2]=r7,w1=$0+8|0,DI=u6+w1|0,e[DI>>2]=s$,v1=$0+12|0,Aa=u6+v1|0,e[Aa>>2]=sg;break}YA=o7>>>8,_I=(YA|0)==0;do if(_I)Gr=0;else{if(xI=o7>>>0>16777215,xI){Gr=31;break}LI=YA+1048320|0,MI=LI>>>16,cg=MI&8,gg=YA<>>16,ug=TI&4,Fr=ug|cg,dg=gg<>>16,fg=NI&2,$a=Fr|fg,UI=14-$a|0,PI=dg<>>15,Ig=UI+la|0,OI=Ig<<1,qI=Ig+7|0,mg=o7>>>qI,HI=mg&1,YI=HI|OI,Gr=YI}while(!1);if(VA=553352+(Gr<<2)|0,k0=$0+28|0,VI=u6+k0|0,e[VI>>2]=Gr,Z0=$0+16|0,JI=u6+Z0|0,O0=$0+20|0,zI=u6+O0|0,e[zI>>2]=0,e[JI>>2]=0,pg=e[138263]|0,Eg=1<>2]=r7,s1=$0+24|0,vo=u6+s1|0,e[vo>>2]=VA,i1=$0+12|0,ZI=u6+i1|0,e[ZI>>2]=r7,o1=$0+8|0,jI=u6+o1|0,e[jI>>2]=r7;break}JA=e[VA>>2]|0,Qg=JA+4|0,XI=e[Qg>>2]|0,em=XI&-8,tm=(em|0)==(o7|0);i:do if(tm)Ur=JA;else{for(im=(Gr|0)==31,yg=Gr>>>1,rm=25-yg|0,nm=im?0:rm,om=o7<>>31,bg=(g$+16|0)+(Sg<<2)|0,ko=e[bg>>2]|0,x7=(ko|0)==0,x7){a=bg,ep=g$;break}if(sm=Lo<<1,am=ko+4|0,vg=e[am>>2]|0,kg=vg&-8,Am=(kg|0)==(o7|0),Am){Ur=ko;break i}else Lo=sm,g$=ko}if(gr=e[138266]|0,$m=a>>>0>>0,$m)v2();else{e[a>>2]=r7,Q1=$0+24|0,lm=u6+Q1|0,e[lm>>2]=ep,p1=$0+12|0,cm=u6+p1|0,e[cm>>2]=r7,B1=$0+8|0,gm=u6+B1|0,e[gm>>2]=r7;break t}}while(!1);if(zA=Ur+8|0,ua=e[zA>>2]|0,_g=e[138266]|0,xg=ua>>>0>=_g>>>0,d$=Ur>>>0>=_g>>>0,um=xg&d$,um){So=ua+12|0,e[So>>2]=r7,e[zA>>2]=r7,j0=$0+8|0,dm=u6+j0|0,e[dm>>2]=ua,E1=$0+12|0,ha=u6+E1|0,e[ha>>2]=Ur,I1=$0+24|0,KA=u6+I1|0,e[KA>>2]=0;break}else v2()}while(!1);return g1=ra|8,hm=u6+g1|0,tt=hm,tt|0}else No=553496;for(;;){if(WA=e[No>>2]|0,fm=WA>>>0>K9>>>0,!fm&&(Im=No+4|0,Lg=e[Im>>2]|0,fa=WA+Lg|0,mm=fa>>>0>K9>>>0,mm)){g=WA,h=Lg,m=fa;break}pm=No+8|0,Em=e[pm>>2]|0,No=Em}if(u0=h+-47|0,h0=h+-39|0,Cm=g+h0|0,Rg=Cm,Bm=Rg&7,ni=(Bm|0)==0,_e=0-Rg|0,n7=_e&7,Qm=ni?0:n7,c1=u0+Qm|0,Tg=g+c1|0,ZA=K9+16|0,ym=Tg>>>0>>0,Tr=ym?K9:Tg,bo=Tr+8|0,wm=x4+-40|0,vm=u6+8|0,Ng=vm,jA=Ng&7,km=(jA|0)==0,Ug=0-Ng|0,Pg=Ug&7,XA=km?0:Pg,e$=u6+XA|0,Og=wm-XA|0,e[138268]=e$,e[138265]=Og,Do=Og|1,t0=XA+4|0,t$=u6+t0|0,e[t$>>2]=Do,A1=x4+-36|0,qg=u6+A1|0,e[qg>>2]=40,Sm=e[138384]|0,e[138269]=Sm,Sn=Tr+4|0,e[Sn>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=u6,e[138375]=x4,e[138377]=0,e[138376]=bo,Hg=Tr+28|0,e[Hg>>2]=7,Ia=Tr+32|0,Dm=Ia>>>0>>0,Dm)for(L7=Hg;Yg=L7+4|0,e[Yg>>2]=7,_m=L7+8|0,xm=_m>>>0>>0,xm;)L7=Yg;if(Lm=(Tr|0)==(K9|0),!Lm){if(Mm=Tr,Rm=K9,M7=Mm-Rm|0,Tm=e[Sn>>2]|0,Nm=Tm&-2,e[Sn>>2]=Nm,Gm=M7|1,Vg=K9+4|0,e[Vg>>2]=Gm,e[Tr>>2]=M7,Q7=M7>>>3,ma=M7>>>0<256,ma){i$=Q7<<1,Jg=553088+(i$<<2)|0,zg=e[138262]|0,Kg=1<>2]|0,qm=e[138266]|0,Hm=jg>>>0>>0,Hm?v2():(L=Zg,n$=jg)),e[L>>2]=K9,Xg=n$+12|0,e[Xg>>2]=K9,Ym=K9+8|0,e[Ym>>2]=n$,pa=K9+12|0,e[pa>>2]=Jg;break}if(Ea=M7>>>8,Vm=(Ea|0)==0,Vm?ur=0:(r$=M7>>>0>16777215,r$?ur=31:(Jm=Ea+1048320|0,zm=Jm>>>16,eu=zm&8,xo=Ea<>>16,c2=Wm&4,r2=c2|eu,$2=xo<>>16,m2=s2&2,t2=r2|m2,k2=14-t2|0,D2=$2<>>15,G2=k2+S2|0,L2=G2<<1,P2=G2+7|0,p2=M7>>>P2,K2=p2&1,O2=K2|L2,ur=O2)),J2=553352+(ur<<2)|0,U2=K9+28|0,e[U2>>2]=ur,H2=K9+20|0,e[H2>>2]=0,e[ZA>>2]=0,W2=e[138263]|0,Y2=1<>2]=K9,t5=K9+24|0,e[t5>>2]=J2,x5=K9+12|0,e[x5>>2]=K9,Z2=K9+8|0,e[Z2>>2]=K9;break}I5=e[J2>>2]|0,b5=I5+4|0,Y5=e[b5>>2]|0,b2=Y5&-8,B5=(b2|0)==(M7|0);t:do if(B5)wa=I5;else{for(o5=(ur|0)==31,R2=ur>>>1,M2=25-R2|0,y2=o5?0:M2,Q5=M7<>>31,u5=(u$+16|0)+($5<<2)|0,L5=e[u5>>2]|0,y5=(L5|0)==0,y5){$=u5,ru=u$;break}if(N5=$$<<1,m5=L5+4|0,M5=e[m5>>2]|0,V2=M5&-8,p5=(V2|0)==(M7|0),p5){wa=L5;break t}else $$=N5,u$=L5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=K9,d5=K9+24|0,e[d5>>2]=ru,l5=K9+12|0,e[l5>>2]=K9,d2=K9+8|0,e[d2>>2]=K9;break e}}while(!1);if(w5=wa+8|0,i5=e[w5>>2]|0,s5=e[138266]|0,h5=i5>>>0>=s5>>>0,np=wa>>>0>=s5>>>0,z2=h5&np,z2){f5=i5+12|0,e[f5>>2]=K9,e[w5>>2]=K9,r5=K9+8|0,e[r5>>2]=i5,R5=K9+12|0,e[R5>>2]=wa,X2=K9+24|0,e[X2>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return J5=F2-Le|0,e[138265]=J5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=J5|1,W=Le+4|0,h3=i3+W|0,e[h3>>2]=I3,W5=Le|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=uQ()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){q=t+-8|0,K2=e[138266]|0,v6=q>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,re=f9&3,Ue=(re|0)==1,Ue&&v2(),Z9=f9&-8,Q=Z9+-8|0,ne=t+Q|0,d0=f9&1,n0=(d0|0)==0;do if(n0){if(_0=e[q>>2]|0,L0=(re|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+Z9|0,b1=x0>>>0>>0,b1&&v2(),q1=e[138267]|0,a2=(x0|0)==(q1|0),a2){if(X=Z9+-4|0,c0=t+X|0,$0=e[c0>>2]|0,l0=$0&3,W=(l0|0)==3,!W){W3=x0,x9=j0;break}e[138264]=j0,m0=$0&-2,e[c0>>2]=m0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[ne>>2]=j0;return}if(s2=_0>>>3,O2=_0>>>0<256,O2){if(z=y+8|0,x5=t+z|0,y2=e[x5>>2]|0,a0=y+12|0,y5=t+a0|0,z2=e[y5>>2]|0,I3=s2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),h6=y2+12|0,M3=e[h6>>2]|0,z6=(M3|0)==(x0|0),z6||v2()),X6=(z2|0)==(y2|0),X6){Y6=1<>>0>>0,F6&&v2(),t9=z2+8|0,P6=e[t9>>2]|0,P3=(P6|0)==(x0|0),P3?g=t9:v2()),O6=y2+12|0,e[O6>>2]=z2,e[g>>2]=y2,W3=x0,x9=j0;break}M=y+24|0,s9=t+M|0,d9=e[s9>>2]|0,L=y+12|0,n9=t+L|0,B9=e[n9>>2]|0,Q9=(B9|0)==(x0|0);do if(Q9){if(F=y+20|0,ue=t+F|0,Ee=e[ue>>2]|0,J9=(Ee|0)==0,J9)if(R=y+16|0,F9=t+R|0,v9=e[F9>>2]|0,K6=(v9|0)==0,K6){S9=0;break}else Oe=v9,k4=F9;else Oe=Ee,k4=ue;for(;;){if(A9=Oe+20|0,ve=e[A9>>2]|0,Me=(ve|0)==0,!Me){Oe=ve,k4=A9;continue}if(de=Oe+16|0,_9=e[de>>2]|0,Re=(_9|0)==0,Re){I4=Oe,be=k4;break}else Oe=_9,k4=de}if(Fe=be>>>0>>0,Fe)v2();else{e[be>>2]=0,S9=I4;break}}else if(Y=y+8|0,y9=t+Y|0,h9=e[y9>>2]|0,Y9=h9>>>0>>0,Y9&&v2(),y6=h9+12|0,q6=e[y6>>2]|0,a9=(q6|0)==(x0|0),a9||v2(),V9=B9+8|0,w9=e[V9>>2]|0,we=(w9|0)==(x0|0),we){e[y6>>2]=B9,e[V9>>2]=h9,S9=B9;break}else v2();while(!1);if(He=(d9|0)==0,He)W3=x0,x9=j0;else{if(T=y+28|0,n4=t+T|0,ke=e[n4>>2]|0,Ye=553352+(ke<<2)|0,z9=e[Ye>>2]|0,Ve=(x0|0)==(z9|0),Ve){if(e[Ye>>2]=S9,pe=(S9|0)==0,pe){he=1<>>0>>0,v4&&v2(),Y4=d9+16|0,nt=e[Y4>>2]|0,Je=(nt|0)==(x0|0),Je?e[Y4>>2]=S9:(V4=d9+20|0,e[V4>>2]=S9),ze=(S9|0)==0,ze){W3=x0,x9=j0;break}o4=e[138266]|0,R4=S9>>>0>>0,R4&&v2(),ot=S9+24|0,e[ot>>2]=d9,N=y+16|0,u4=t+N|0,Be=e[u4>>2]|0,T6=(Be|0)==0;do if(!T6)if(Ke=Be>>>0>>0,Ke)v2();else{O9=S9+16|0,e[O9>>2]=Be,fe=Be+24|0,e[fe>>2]=S9;break}while(!1);if(G=y+20|0,Te=t+G|0,d4=e[Te>>2]|0,oe=(d4|0)==0,oe)W3=x0,x9=j0;else if(h4=e[138266]|0,t0=d4>>>0

>>0,t0)v2();else{j=S9+20|0,e[j>>2]=d4,u0=d4+24|0,e[u0>>2]=S9,W3=x0,x9=j0;break}}}else W3=q,x9=Z9;while(!1);if(h0=W3>>>0>>0,h0||v2(),D=Z9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(ne|0)==(y0|0),w0){if(B0=e[138265]|0,W0=B0+x9|0,e[138265]=W0,e[138268]=W3,M0=W0|1,v0=W3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(W3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(P0=e[138267]|0,q0=(ne|0)==(P0|0),q0){k0=e[138264]|0,J0=k0+x9|0,e[138264]=J0,e[138267]=W3,F0=J0|1,G0=W3+4|0,e[G0>>2]=F0,K0=W3+J0|0,e[K0>>2]=J0;return}z0=C0&-8,H0=z0+x9|0,Z0=C0>>>3,O0=C0>>>0<256;do if(O0){if(Y0=t+Z9|0,s1=e[Y0>>2]|0,w=Z9|4,V0=t+w|0,i1=e[V0>>2]|0,o1=Z0<<1,d1=553088+(o1<<2)|0,g1=(s1|0)==(d1|0),g1||(m1=e[138266]|0,h1=s1>>>0>>0,h1&&v2(),u1=s1+12|0,A1=e[u1>>2]|0,c1=(A1|0)==(ne|0),c1||v2()),a1=(i1|0)==(s1|0),a1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(ne|0),L1?$=v1:v2()),M1=s1+12|0,e[M1>>2]=i1,e[$>>2]=s1}else{K=Z9+16|0,_1=t+K|0,R1=e[_1>>2]|0,r0=Z9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(ne|0);do if(D1){if(V=Z9+12|0,j1=t+V|0,O1=e[j1>>2]|0,u2=(O1|0)==0,u2)if(s0=Z9+8|0,W1=t+s0|0,I2=e[W1>>2]|0,C2=(I2|0)==0,C2){Ie=0;break}else I6=I2,me=W1;else I6=O1,me=j1;for(;;){if(A2=I6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){I6=K1,me=A2;continue}if(l2=I6+16|0,i2=e[l2>>2]|0,c2=(i2|0)==0,c2){J4=I6,J6=me;break}else I6=i2,me=l2}if(r2=e[138266]|0,$2=J6>>>0>>0,$2)v2();else{e[J6>>2]=0,Ie=J4;break}}else if(P1=t+Z9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),z1=Z1+12|0,H1=e[z1>>2]|0,Y1=(H1|0)==(ne|0),Y1||v2(),V1=U1+8|0,X1=e[V1>>2]|0,o2=(X1|0)==(ne|0),o2){e[z1>>2]=U1,e[V1>>2]=Z1,Ie=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=Z9+20|0,m2=t+S|0,t2=e[m2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(ne|0)==(D2|0),S2){if(e[k2>>2]=Ie,xe=(Ie|0)==0,xe){Q2=1<>>0>>0,J2&&v2(),U2=R1+16|0,H2=e[U2>>2]|0,W2=(H2|0)==(ne|0),W2?e[U2>>2]=Ie:(A5=R1+20|0,e[A5>>2]=Ie),Y2=(Ie|0)==0,Y2)break;N1=e[138266]|0,e5=Ie>>>0>>0,e5&&v2(),T5=Ie+24|0,e[T5>>2]=R1,b=Z9+8|0,t5=t+b|0,Z2=e[t5>>2]|0,I5=(Z2|0)==0;do if(!I5)if(b5=Z2>>>0>>0,b5)v2();else{Y5=Ie+16|0,e[Y5>>2]=Z2,g5=Z2+24|0,e[g5>>2]=Ie;break}while(!1);if(v=Z9+12|0,b2=t+v|0,B5=e[b2>>2]|0,o5=(B5|0)==0,!o5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=Ie+20|0,e[Q5>>2]=B5,N5=B5+24|0,e[N5>>2]=Ie;break}}}while(!1);if(m5=H0|1,L5=W3+4|0,e[L5>>2]=m5,q5=W3+H0|0,e[q5>>2]=H0,M5=e[138267]|0,V2=(W3|0)==(M5|0),V2){e[138264]=H0;return}else b9=H0}else p5=C0&-2,e[p0>>2]=p5,$5=x9|1,u5=W3+4|0,e[u5>>2]=$5,T1=W3+x9|0,e[T1>>2]=x9,b9=x9;if(D5=b9>>>3,d5=b9>>>0<256,d5){l5=D5<<1,j2=553088+(l5<<2)|0,d2=e[138262]|0,w5=1<>2]|0,R5=e[138266]|0,X2=r5>>>0>>0,X2?v2():(h=f5,f4=r5)),e[h>>2]=W3,c5=f4+12|0,e[c5>>2]=W3,F2=W3+8|0,e[F2>>2]=f4,v5=W3+12|0,e[v5>>2]=j2;return}J5=b9>>>8,i3=(J5|0)==0,i3?Se=0:(E5=b9>>>0>16777215,E5?Se=31:(h3=J5+1048320|0,W5=h3>>>16,r3=W5&8,a3=J5<>>16,Z5=G5&4,_3=Z5|r3,f3=a3<>>16,X5=q3&2,D3=_3|X5,t3=14-D3|0,s6=f3<>>15,H3=t3+N3|0,c3=H3<<1,g3=H3+7|0,u3=b9>>>g3,z5=u3&1,H5=z5|c3,Se=H5)),V5=553352+(Se<<2)|0,S5=W3+28|0,e[S5>>2]=Se,Y3=W3+16|0,U5=W3+20|0,e[U5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=W3,x3=W3+24|0,e[x3>>2]=V5,b3=W3+12|0,e[b3>>2]=W3,a6=W3+8|0,e[a6>>2]=W3;else{i6=e[V5>>2]|0,V3=i6+4|0,j5=e[V3>>2]|0,L3=j5&-8,d3=(L3|0)==(b9|0);t:do if(d3)F4=i6;else{for(J3=(Se|0)==31,m3=Se>>>1,x6=25-m3|0,L6=J3?0:x6,M6=b9<>>31,o6=(T4+16|0)+(n6<<2)|0,f6=e[o6>>2]|0,C6=(f6|0)==0,C6){o=o6,st=T4;break}if(S6=s4<<1,r6=f6+4|0,b6=e[r6>>2]|0,N6=b6&-8,j6=(N6|0)==(b9|0),j6){F4=f6;break t}else s4=S6,T4=f6}if(z3=e[138266]|0,R3=o>>>0>>0,R3)v2();else{e[o>>2]=W3,K3=W3+24|0,e[K3>>2]=st,e6=W3+12|0,e[e6>>2]=W3,R6=W3+8|0,e[R6>>2]=W3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){F3=o3+12|0,e[F3>>2]=W3,e[l6>>2]=W3,H6=W3+8|0,e[H6>>2]=o3,A6=W3+12|0,e[A6>>2]=F4,D6=W3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)a4=553504;else return;for(;qe=e[a4>>2]|0,U3=(qe|0)==0,r9=qe+8|0,!U3;)a4=r9;e[138270]=-1}}function ce(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=n5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=R9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,h=w&3,m=(h|0)==0,m)||g4(S|0,0,D|0)|0,S|0}function W7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0;return z=C,a=(t|0)==0,a?($=R9(o)|0,Y=$,Y|0):(w=o>>>0>4294967231,w?(M=uQ()|0,e[M>>2]=12,Y=0,Y|0):(L=o>>>0<11,R=o+11|0,F=R&-8,T=L?16:F,N=t+-8|0,G=hD(N,T)|0,g=(G|0)==0,g?(m=R9(o)|0,I=(m|0)==0,I?(Y=0,Y|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ge(m|0,t|0,x|0)|0,E2(t),Y=m,Y|0)):(h=G+8|0,Y=h,Y|0)))}function hD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0;if(Z5=C,N=t+4|0,G=e[N>>2]|0,D1=G&-8,o2=t+D1|0,l2=e[138266]|0,S2=G&3,I3=t>>>0>=l2>>>0,h3=(S2|0)!=1,W5=h3&I3,W2=t>>>0>>0,r3=W5&W2,r3||v2(),x=D1|4,Y5=t+x|0,L5=e[Y5>>2]|0,l5=L5&1,Y=(l5|0)==0,Y&&v2(),t0=(S2|0)==0,t0)return h0=o>>>0<256,h0?(E5=0,E5|0):(W0=o+4|0,G0=D1>>>0>>0,!G0&&(o1=D1-o|0,E1=e[138382]|0,_1=E1<<1,F1=o1>>>0>_1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=G&1,z1=x1|o,q1=z1|2,e[N>>2]=q1,y=o+4|0,H1=t+y|0,Y1=P1|3,e[H1>>2]=Y1,V1=e[Y5>>2]|0,X1=V1|1,e[Y5>>2]=X1,HQ(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(o2|0)==(j1|0),O1)return u2=e[138265]|0,W1=u2+D1|0,I2=W1>>>0>o>>>0,I2?(a2=W1-o|0,C2=t+o|0,A2=G&1,K1=A2|o,h2=K1|2,e[N>>2]=h2,D=o+4|0,i2=t+D|0,c2=a2|1,e[i2>>2]=c2,e[138268]=C2,e[138265]=a2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,$2=(o2|0)==(r2|0),$2)return e2=e[138264]|0,s2=e2+D1|0,m2=s2>>>0>>0,m2?(E5=0,E5|0):(t2=s2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+s2|0,G2=G&1,L2=G2|o,P2=L2|2,e[N>>2]=P2,b=o+4|0,p2=t+b|0,K2=t2|1,e[p2>>2]=K2,e[Q2>>2]=t2,w=s2+4|0,O2=t+w|0,J2=e[O2>>2]|0,U2=J2&-2,e[O2>>2]=U2,a3=D2,B3=t2):(H2=G&1,A5=H2|s2,Y2=A5|2,e[N>>2]=Y2,S=s2+4|0,N1=t+S|0,e5=e[N1>>2]|0,T5=e5|1,e[N1>>2]=T5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(t5=L5&2,x5=(t5|0)==0,!x5||(Z2=L5&-8,I5=Z2+D1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=L5>>>3,B5=L5>>>0<256;do if(B5){if(Q=D1+8|0,o5=t+Q|0,R2=e[o5>>2]|0,B=D1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,N5=553088+(Q5<<2)|0,m5=(R2|0)==(N5|0),m5||(q5=R2>>>0>>0,q5&&v2(),M5=R2+12|0,V2=e[M5>>2]|0,p5=(V2|0)==(o2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0>>0,j2&&v2(),d2=y2+8|0,w5=e[d2>>2]|0,i5=(w5|0)==(o2|0),i5?$=d2:v2()),s5=R2+12|0,e[s5>>2]=y2,e[$>>2]=R2}else{g=D1+24|0,h5=t+g|0,z2=e[h5>>2]|0,v=D1+12|0,f5=t+v|0,r5=e[f5>>2]|0,R5=(r5|0)==(o2|0);do if(R5){if(L=D1+20|0,d0=t+L|0,j=e[d0>>2]|0,u0=(j|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else X2=$0,v5=c0;else X2=j,v5=d0;for(;;){if(W=X2+20|0,m0=e[W>>2]|0,g0=(m0|0)==0,!g0){X2=m0,v5=W;continue}if(f0=X2+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=X2,J5=v5;break}else X2=n0,v5=f0}if(C0=J5>>>0>>0,C0)v2();else{e[J5>>2]=0,F2=c5;break}}else if(E=D1+8|0,X=t+E|0,z=e[X>>2]|0,a0=z>>>0>>0,a0&&v2(),K=z+12|0,r0=e[K>>2]|0,s0=(r0|0)==(o2|0),s0||v2(),V=r5+8|0,o0=e[V>>2]|0,q=(o0|0)==(o2|0),q){e[K>>2]=r5,e[V>>2]=z,F2=r5;break}else v2();while(!1);if(S0=(z2|0)==0,!S0){if(h=D1+28|0,Q0=t+h|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(o2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),P0=z2+16|0,q0=e[P0>>2]|0,k0=(q0|0)==(o2|0),k0?e[P0>>2]=F2:(J0=z2+20|0,e[J0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,K0=F2>>>0>>0,K0&&v2(),z0=F2+24|0,e[z0>>2]=z2,m=D1+16|0,H0=t+m|0,Z0=e[H0>>2]|0,O0=(Z0|0)==0;do if(!O0)if(Y0=Z0>>>0>>0,Y0)v2();else{s1=F2+16|0,e[s1>>2]=Z0,V0=Z0+24|0,e[V0>>2]=F2;break}while(!1);if(I=D1+20|0,i1=t+I|0,x0=e[i1>>2]|0,d1=(x0|0)==0,!d1)if(g1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{h1=F2+20|0,e[h1>>2]=x0,u1=x0+24|0,e[u1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(c1=G&1,a1=I5|c1,$1=a1|2,e[N>>2]=$1,T=I5|4,j0=t+T|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=G&1,w1=B1|o,v1=w1|2,e[N>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,HQ(p1,g5),E5=t,E5|0)}function HQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,z3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ye=0,z9=0,Ve=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0;be=C,j=t+o|0,u0=t+4|0,H2=e[u0>>2]|0,C6=H2&1,X6=(C6|0)==0;do if(X6){if(P6=e[t>>2]|0,Y9=H2&3,F9=(Y9|0)==0,F9)return;if(He=0-P6|0,k9=t+He|0,c0=P6+o|0,S0=e[138266]|0,T0=k9>>>0>>0,T0&&v2(),H0=e[138267]|0,m1=(k9|0)==(H0|0),m1){if(v=o+4|0,ne=t+v|0,$0=e[ne>>2]|0,l0=$0&3,W=(l0|0)==3,!W){a=k9,$=c0;break}e[138264]=c0,m0=$0&-2,e[ne>>2]=m0,g0=c0|1,L=4-P6|0,f0=t+L|0,e[f0>>2]=g0,e[j>>2]=c0;return}if(p1=P6>>>3,U1=P6>>>0<256,U1){if(K=8-P6|0,X1=t+K|0,h2=e[X1>>2]|0,r0=12-P6|0,D2=t+r0|0,W2=e[D2>>2]|0,Y5=p1<<1,L5=553088+(Y5<<2)|0,l5=(h2|0)==(L5|0),l5||(X2=h2>>>0>>0,X2&&v2(),a3=h2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(k9|0),S5||v2()),a6=(W2|0)==(h2|0),a6){M6=1<>>0>>0,H6&&v2(),A6=W2+8|0,D6=e[A6>>2]|0,G6=(D6|0)==(k9|0),G6?E=A6:v2()),e9=h2+12|0,e[e9>>2]=W2,e[E>>2]=h2,a=k9,$=c0;break}R=24-P6|0,Q6=t+R|0,U3=e[Q6>>2]|0,F=12-P6|0,r9=t+F|0,Y6=e[r9>>2]|0,o9=(Y6|0)==(k9|0);do if(o9){if(T=16-P6|0,N=T+4|0,d9=t+N|0,n9=e[d9>>2]|0,B9=(n9|0)==0,B9)if(Q9=t+T|0,y9=e[Q9>>2]|0,h9=(y9|0)==0,h9){fe=0;break}else Ke=y9,h4=Q9;else Ke=n9,h4=d9;for(;;){if(f9=Ke+20|0,y6=e[f9>>2]|0,q6=(y6|0)==0,!q6){Ke=y6,h4=f9;continue}if(a9=Ke+16|0,V9=e[a9>>2]|0,w9=(V9|0)==0,w9){O9=Ke,f4=h4;break}else Ke=V9,h4=a9}if(we=f4>>>0>>0,we)v2();else{e[f4>>2]=0,fe=O9;break}}else if(a0=8-P6|0,g9=t+a0|0,U6=e[g9>>2]|0,V6=U6>>>0>>0,V6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(k9|0),_6||v2(),P3=Y6+8|0,O6=e[P3>>2]|0,s9=(O6|0)==(k9|0),s9){e[F6>>2]=Y6,e[P3>>2]=U6,fe=Y6;break}else v2();while(!1);if(ue=(U3|0)==0,ue)a=k9,$=c0;else{if(Y=28-P6|0,Ee=t+Y|0,J9=e[Ee>>2]|0,re=553352+(J9<<2)|0,v9=e[re>>2]|0,K6=(k9|0)==(v9|0),K6){if(e[re>>2]=fe,I6=(fe|0)==0,I6){A9=1<>>0<_9>>>0,Re&&v2(),Fe=U3+16|0,Ue=e[Fe>>2]|0,n4=(Ue|0)==(k9|0),n4?e[Fe>>2]=fe:(ke=U3+20|0,e[ke>>2]=fe),Ye=(fe|0)==0,Ye){a=k9,$=c0;break}z9=e[138266]|0,Ve=fe>>>0>>0,Ve&&v2(),he=fe+24|0,e[he>>2]=U3,X=16-P6|0,Pe=t+X|0,Ce=e[Pe>>2]|0,w4=(Ce|0)==0;do if(!w4)if(Z9=Ce>>>0>>0,Z9)v2();else{v4=fe+16|0,e[v4>>2]=Ce,Y4=Ce+24|0,e[Y4>>2]=fe;break}while(!1);if(z=X+4|0,nt=t+z|0,Je=e[nt>>2]|0,V4=(Je|0)==0,V4)a=k9,$=c0;else if(ze=e[138266]|0,o4=Je>>>0>>0,o4)v2();else{R4=fe+20|0,e[R4>>2]=Je,ot=Je+24|0,e[ot>>2]=fe,a=k9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,h0=j>>>0>>0,h0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(j|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,W0=a+4|0,e[W0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,P0=(j|0)==(N0|0),P0){q0=e[138264]|0,k0=q0+$|0,e[138264]=k0,e[138267]=a,J0=k0|1,F0=a+4|0,e[F0>>2]=J0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,K0=G0+$|0,z0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,O0=t+x|0,Y0=e[O0>>2]|0,M=o+12|0,s1=t+M|0,V0=e[s1>>2]|0,i1=z0<<1,x0=553088+(i1<<2)|0,o1=(Y0|0)==(x0|0),o1||(d1=Y0>>>0>>0,d1&&v2(),g1=Y0+12|0,h1=e[g1>>2]|0,u1=(h1|0)==(j|0),u1||v2()),A1=(V0|0)==(Y0|0),A1){c1=1<>>0>>0,I1&&v2(),Q1=V0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(j|0),w1?I=Q1:v2()),v1=Y0+12|0,e[v1>>2]=V0,e[I>>2]=Y0}else{G=o+24|0,k1=t+G|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(j|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,Y1=e[H1>>2]|0,V1=(Y1|0)==0,V1)if(V=o+16|0,o2=t+V|0,j1=e[o2>>2]|0,O1=(j1|0)==0,O1){oe=0;break}else Te=j1,Se=o2;else Te=Y1,Se=H1;for(;;){if(u2=Te+20|0,W1=e[u2>>2]|0,I2=(W1|0)==0,!I2){Te=W1,Se=u2;continue}if(a2=Te+16|0,C2=e[a2>>2]|0,A2=(C2|0)==0,A2){d4=Te,s4=Se;break}else Te=C2,Se=a2}if(K1=s4>>>0>>0,K1)v2();else{e[s4>>2]=0,oe=d4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(j|0),G1||v2(),x1=b1+8|0,z1=e[x1>>2]|0,q1=(z1|0)==(j|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(l2=(L1|0)==0,!l2){if(d0=o+28|0,i2=t+d0|0,c2=e[i2>>2]|0,r2=553352+(c2<<2)|0,$2=e[r2>>2]|0,e2=(j|0)==($2|0),e2){if(e[r2>>2]=oe,J4=(oe|0)==0,J4){s2=1<>>0>>0,Q2&&v2(),G2=L1+16|0,L2=e[G2>>2]|0,P2=(L2|0)==(j|0),P2?e[G2>>2]=oe:(p2=L1+20|0,e[p2>>2]=oe),K2=(oe|0)==0,K2)break;O2=e[138266]|0,J2=oe>>>0>>0,J2&&v2(),U2=oe+24|0,e[U2>>2]=L1,t0=o+16|0,A5=t+t0|0,Y2=e[A5>>2]|0,N1=(Y2|0)==0;do if(!N1)if(e5=Y2>>>0>>0,e5)v2();else{T5=oe+16|0,e[T5>>2]=Y2,t5=Y2+24|0,e[t5>>2]=oe;break}while(!1);if(D=o+20|0,x5=t+D|0,Z2=e[x5>>2]|0,I5=(Z2|0)==0,!I5)if(b5=e[138266]|0,g5=Z2>>>0>>0,g5)v2();else{b2=oe+20|0,e[b2>>2]=Z2,B5=Z2+24|0,e[B5>>2]=oe;break}}}while(!1);if(o5=K0|1,R2=a+4|0,e[R2>>2]=o5,M2=a+K0|0,e[M2>>2]=K0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=K0;return}else g=K0}else N5=C0&-2,e[p0>>2]=N5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,M5=a+$|0,e[M5>>2]=$,g=$;if(V2=g>>>3,p5=g>>>0<256,p5){$5=V2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,i5=e[138266]|0,s5=w5>>>0>>0,s5?v2():(Q=d2,u4=w5)),e[Q>>2]=a,h5=u4+12|0,e[h5>>2]=a,z2=a+8|0,e[z2>>2]=u4,f5=a+12|0,e[f5>>2]=u5;return}if(r5=g>>>8,R5=(r5|0)==0,R5?Be=0:(c5=g>>>0>16777215,c5?Be=31:(F2=r5+1048320|0,v5=F2>>>16,J5=v5&8,i3=r5<>>16,h3=I3&4,W5=h3|J5,r3=i3<>>16,Z5=G5&2,_3=W5|Z5,f3=14-_3|0,w3=r3<>>15,q3=f3+X3|0,X5=q3<<1,D3=q3+7|0,s6=g>>>D3,N3=s6&1,H3=N3|X5,Be=H3)),c3=553352+(Be<<2)|0,g3=a+28|0,e[g3>>2]=Be,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,z5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}G3=e[c3>>2]|0,E6=G3+4|0,S3=e[E6>>2]|0,x3=S3&-8,b3=(x3|0)==(g|0);e:do if(b3)Oe=G3;else{for(i6=(Be|0)==31,V3=Be>>>1,j5=25-V3|0,L3=i6?0:j5,d3=g<>>31,f6=(I4+16|0)+(r6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){h=f6,S9=I4;break}if(J3=T6<<1,h6=m3+4|0,x6=e[h6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Oe=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=h>>>0>>0,j6&&v2(),e[h>>2]=a,v6=a+24|0,e[v6>>2]=S9,M3=a+12|0,e[M3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Oe+8|0,R3=e[o6>>2]|0,K3=e[138266]|0,e6=R3>>>0>=K3>>>0,Ie=Oe>>>0>=K3>>>0,R6=e6&Ie,R6||v2(),l6=R3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=R3,z6=a+12|0,e[z6>>2]=Oe,A3=a+24|0,e[A3>>2]=0}function fD(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,h=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(h|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function ol(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function YQ(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(ol(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function VQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,h=o+$+(g>>>0>>0|0)>>>0,Z6=h,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ge(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return vS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function sA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ge(t,o,a)|0;return t|0}function MC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return g=t-a>>>0,h=o-$>>>0,h=o-$-(a>>>0>t>>>0|0)>>>0,Z6=h,g|0|0}function K_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function JQ(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function ID(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=n5($,a)|0,h=t>>>16,m=(g>>>16)+(n5($,h)|0)|0,I=o>>>16,E=n5(I,a)|0,Z6=((m>>>16)+(n5(I,h)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function W_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,h=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,h^o,g,h)|0,Q=Z6,B=ss(m^a,I^$,m,I)|0,S=m^g,b=I^h,v=gE(E,Q,B,Z6,0)|0,w=ss(v^S,Z6^b,S,b)|0,w|0}function Z_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,h=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=ss(h^t,m^o,h,m)|0,B=Z6,S=ss(I^a,E^$,I,E)|0,gE(Q,B,S,Z6,g)|0,b=ss(e[g>>2]^h,e[g+4>>2]^m,h,m)|0,v=Z6,C=w,Z6=v,b|0}function mD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0;return g=t,h=a,m=ID(g,h)|0,I=Z6,E=n5(o,h)|0,Z6=((n5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function j_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=gE(t,o,a,$,0)|0,g|0}function X_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return h=C,C=C+8|0,g=h|0,gE(t,o,a,$,g)|0,C=h,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function gE(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,X=0,z=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0;if(h=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0):(S&&(e[g>>2]=(h>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(h>>>0)/(E>>>0)>>>0,Z6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(z=rs(B|0)|0,a0=z-(rs(I|0)|0)|0,a0>>>0<=31){K=a0+1|0,r0=31-a0|0,s0=a0-31>>31,t0=K,d0=h>>>(K>>>0)&s0|I<>>(K>>>0)&s0,o0=0,V=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(rs(E|0)|0)+33|0,F=R-(rs(I|0)|0)|0,T=64-F|0,N=32-F|0,G=N>>31,Y=F-32|0,X=Y>>31,t0=F,d0=N-1>>31&I>>>(Y>>>0)|(I<>>(F>>>0))&X,q=X&I>>>(F>>>0),o0=h<>>(Y>>>0))&G|h<>31;break}return g|0&&(e[g>>2]=M&h,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,Z6=L0,F0|0):(L=JQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|h>>>(L>>>0)|0,Z6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,Z6=L0,F0|0;if(!(h|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,Z6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((JQ(B|0)|0)>>>0),Z6=L0,F0|0;if(w=rs(B|0)|0,D=w-(rs(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,t0=y,d0=I<>>(y>>>0),q=I>>>(y>>>0),o0=0,V=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}while(!1);if(!(t0|0))P0=V,N0=o0,T0=q,v0=d0,M0=0,W0=0;else{for(j=0|a&-1,u0=Q|$&0,c0=ns(j|0,u0|0,-1,-1)|0,$0=Z6,n0=V,f0=o0,g0=q,m0=d0,W=t0,l0=0;h0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(m0<<1|n0>>>31),S0=m0>>>31|g0<<1|0,ss(c0,$0,C0,S0)|0,Q0=Z6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=ss(C0,S0,b0&j,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=Z6,_0=W-1|0,_0|0;)n0=h0,f0=p0,g0=B0,m0=w0,W=_0,l0=E0;P0=h0,N0=p0,T0=B0,v0=w0,M0=0,W0=E0}return q0=N0,k0=0,J0=P0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|q0)>>>31|J0<<1|(k0<<1|q0>>>31)&0|M0,F0=(q0<<1|0)&-2|W0,Z6=L0,F0|0}function pD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,TC[t&3](o|0,a|0,$|0,g|0)|0}function ED(t,o){t=t|0,o=o|0,as[t&7](o|0)}function CD(t,o,a){t=t|0,o=o|0,a=a|0,NC[t&3](o|0,a|0)}function BD(t,o){return t=t|0,o=o|0,WQ[t&1](o|0)|0}function QD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,ZQ[t&1](o|0,a|0,$|0)}function yD(t,o,a,$,g,h,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,jQ[t&3](o|0,a|0,$|0,g|0,h|0,m|0,I|0,E|0)|0}function wD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function vD(t,o,a,$,g,h){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,GC[t&7](o|0,a|0,$|0,g|0,h|0)|0}function kD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function RC(t){t=t|0,rn(1)}function zQ(t,o){t=t|0,o=o|0,rn(2)}function SD(t){return t=t|0,rn(3),0}function bD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function KQ(t,o,a,$,g,h,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,rn(5),0}function sl(t,o){return t=t|0,o=o|0,rn(6),0}function FC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var TC=[kD,db,jS,XS],as=[RC,cb,gb,yb,Tb,Nb,RC,RC],NC=[zQ,Ab,Gb,zQ],WQ=[SD,wb],ZQ=[bD,Bb],jQ=[KQ,qb,Jb,KQ],pi=[sl,$b,lb,ub,Qb,vb,Ub,Pb,hb,Fb,Xb,sl,sl,sl,sl,sl],GC=[FC,Ob,Hb,Yb,Vb,zb,FC,FC];return{_memmove:sA,_strlen:ol,_strcat:YQ,_free:E2,_i64Add:ns,_encoder_clear:aD,_encoder_transfer_data:cD,_encoder_data_len:lD,_memset:g4,_malloc:R9,_memcpy:ge,_encoder_init:sD,_encoder_process:$D,_bitshift64Lshr:os,_bitshift64Shl:VQ,_strcpy:MC,_encoder_analysis_buffer:AD,runPostSets:fD,stackAlloc:bS,stackSave:DS,stackRestore:_S,establishStackSpace:xS,setThrew:LS,setTempRet0:MS,getTempRet0:RS,dynCall_iiiii:pD,dynCall_vi:ED,dynCall_vii:CD,dynCall_ii:BD,dynCall_viii:QD,dynCall_iiiiiiiii:yD,dynCall_iii:wD,dynCall_iiiiii:vD}}(n.asmGlobalArg,n.asmLibraryArg,q7),y_=n.runPostSets=te.runPostSets,lS=n._strlen=te._strlen,cS=n._strcat=te._strcat,BC=n._free=te._free,w_=n._encoder_init=te._encoder_init,gS=n._i64Add=te._i64Add,uS=n._memmove=te._memmove,v_=n._encoder_transfer_data=te._encoder_transfer_data,k_=n._encoder_process=te._encoder_process,S_=n._encoder_data_len=te._encoder_data_len,dS=n._memset=te._memset,Tu=n._malloc=te._malloc,hS=n._memcpy=te._memcpy,b_=n._encoder_clear=te._encoder_clear,fS=n._bitshift64Lshr=te._bitshift64Lshr,D_=n._encoder_analysis_buffer=te._encoder_analysis_buffer,IS=n._strcpy=te._strcpy,mS=n._bitshift64Shl=te._bitshift64Shl,__=n.dynCall_iiiii=te.dynCall_iiiii,x_=n.dynCall_vi=te.dynCall_vi,L_=n.dynCall_vii=te.dynCall_vii,M_=n.dynCall_ii=te.dynCall_ii,R_=n.dynCall_viii=te.dynCall_viii,F_=n.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,T_=n.dynCall_iii=te.dynCall_iii,N_=n.dynCall_iiiiii=te.dynCall_iiiiii;_.stackAlloc=te.stackAlloc,_.stackSave=te.stackSave,_.stackRestore=te.stackRestore,_.establishStackSpace=te.establishStackSpace,_.setTempRet0=te.setTempRet0,_.getTempRet0=te.getTempRet0;var G_=function(){var r={math:{}};r.math.Long=function(J,D0){this.low_=J|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(J){if(-128<=J&&J<128){var D0=r.math.Long.IntCache_[J];if(D0)return D0}var e1=new r.math.Long(J|0,J<0?-1:0);return-128<=J&&J<128&&(r.math.Long.IntCache_[J]=e1),e1},r.math.Long.fromNumber=function(J){return isNaN(J)||!isFinite(J)?r.math.Long.ZERO:J<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:J+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:J<0?r.math.Long.fromNumber(-J).negate():new r.math.Long(J%r.math.Long.TWO_PWR_32_DBL_|0,J/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(J,D0){return new r.math.Long(J,D0)},r.math.Long.fromString=function(J,D0){if(J.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+J);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var J=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(J&1<0},r.math.Long.prototype.greaterThanOrEqual=function(J){return this.compare(J)>=0},r.math.Long.prototype.compare=function(J){if(this.equals(J))return 0;var D0=this.isNegative(),e1=J.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(J).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(J){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=J.high_>>>16,T3=J.high_&65535,i9=J.low_>>>16,H9=J.low_&65535,P9=0,i4=0,Ai=0,nr=0;return nr+=e3+H9,Ai+=nr>>>16,nr&=65535,Ai+=B2+i9,i4+=Ai>>>16,Ai&=65535,i4+=e1+T3,P9+=i4>>>16,i4&=65535,P9+=D0+O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|i4)},r.math.Long.prototype.subtract=function(J){return this.add(J.negate())},r.math.Long.prototype.multiply=function(J){if(this.isZero())return r.math.Long.ZERO;if(J.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return J.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(J.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return J.isNegative()?this.negate().multiply(J.negate()):this.negate().multiply(J).negate();if(J.isNegative())return this.multiply(J.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&J.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*J.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=J.high_>>>16,T3=J.high_&65535,i9=J.low_>>>16,H9=J.low_&65535,P9=0,i4=0,Ai=0,nr=0;return nr+=e3*H9,Ai+=nr>>>16,nr&=65535,Ai+=B2*H9,i4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,i4+=Ai>>>16,Ai&=65535,i4+=e1*H9,P9+=i4>>>16,i4&=65535,i4+=B2*i9,P9+=i4>>>16,i4&=65535,i4+=e3*T3,P9+=i4>>>16,i4&=65535,P9+=D0*H9+e1*i9+B2*T3+e3*O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|i4)},r.math.Long.prototype.div=function(J){if(J.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(J.equals(r.math.Long.ONE)||J.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(J.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(J).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return J.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(J.multiply(e1)),B2=e1.add(O5.div(J));return B2}else if(J.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return J.isNegative()?this.negate().div(J.negate()):this.negate().div(J).negate();if(J.isNegative())return this.div(J.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(J);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/J.toNumber())),T3=Math.ceil(Math.log(e1)/Math.LN2),i9=T3<=48?1:Math.pow(2,T3-48),H9=r.math.Long.fromNumber(e1),P9=H9.multiply(J);P9.isNegative()||P9.greaterThan(O5);)e1-=i9,H9=r.math.Long.fromNumber(e1),P9=H9.multiply(J);H9.isZero()&&(H9=r.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}return e3},r.math.Long.prototype.modulo=function(J){return this.subtract(this.div(J).multiply(J))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(J){return r.math.Long.fromBits(this.low_&J.low_,this.high_&J.high_)},r.math.Long.prototype.or=function(J){return r.math.Long.fromBits(this.low_|J.low_,this.high_|J.high_)},r.math.Long.prototype.xor=function(J){return r.math.Long.fromBits(this.low_^J.low_,this.high_^J.high_)},r.math.Long.prototype.shiftLeft=function(J){if(J&=63,J==0)return this;var D0=this.low_;if(J<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-J)}else return r.math.Long.fromBits(0,D0<>>J|D0<<32-J,D0>>J)}else return r.math.Long.fromBits(D0>>J-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(J){if(J&=63,J==0)return this;var D0=this.high_;if(J<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>J|D0<<32-J,D0>>>J)}else return J==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>J-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,H=(f&16777215)==15715070;function e(J,D0,e1){J!=null&&(typeof J=="number"?this.fromNumber(J,D0,e1):D0==null&&typeof J!="string"?this.fromString(J,256):this.fromString(J,D0))}function X0(){return new e(null)}function r1(J,D0,e1,B2,e3,O5){for(;--O5>=0;){var T3=D0*this[J++]+e1[B2]+e3;e3=Math.floor(T3/67108864),e1[B2++]=T3&67108863}return e3}function x2(J,D0,e1,B2,e3,O5){for(var T3=D0&32767,i9=D0>>15;--O5>=0;){var H9=this[J]&32767,P9=this[J++]>>15,i4=i9*H9+P9*T3;H9=T3*H9+((i4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(H9>>>30)+(i4>>>15)+i9*P9+(e3>>>30),e1[B2++]=H9&1073741823}return e3}function s(J,D0,e1,B2,e3,O5){for(var T3=D0&16383,i9=D0>>14;--O5>=0;){var H9=this[J]&16383,P9=this[J++]>>14,i4=i9*H9+P9*T3;H9=T3*H9+((i4&16383)<<14)+e1[B2]+e3,e3=(H9>>28)+(i4>>14)+i9*P9,e1[B2++]=H9&268435455}return e3}H&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):H&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)J[D0]=this[D0];J.t=this.t,J.s=this.s}function Dt(J){this.t=1,this.s=J<0?-1:0,J>0?this[0]=J:J<-1?this[0]=J+DV:this.t=0}function ie(J){var D0=X0();return D0.fromInt(J),D0}function It(J,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(J,D0);return}this.t=0,this.s=0;for(var B2=J.length,e3=!1,O5=0;--B2>=0;){var T3=e1==8?J[B2]&255:W9(J,B2);if(T3<0){J.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=T3:O5+e1>this.DB?(this[this.t-1]|=(T3&(1<>this.DB-O5):this[this.t-1]|=T3<=this.DB&&(O5-=this.DB)}e1==8&&J[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==J;)--this.t}function J7(J){if(this.s<0)return"-"+this.negate().toString(J);var D0;if(J==16)D0=4;else if(J==8)D0=3;else if(J==2)D0=1;else if(J==32)D0=5;else if(J==4)D0=2;else return this.toRadix(J);var e1=(1<0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));T3>=0;)i9>(i9+=this.DB-D0)):(B2=this[T3]>>(i9-=D0)&e1,i9<=0&&(i9+=this.DB,--T3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function z7(){var J=X0();return e.ZERO.subTo(this,J),J}function yr(){return this.s<0?this.negate():this}function il(J){var D0=this.s-J.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-J.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-J[e1])!=0)return D0;return 0}function nE(J){var D0=1,e1;return(e1=J>>>16)!=0&&(J=e1,D0+=16),(e1=J>>8)!=0&&(J=e1,D0+=8),(e1=J>>4)!=0&&(J=e1,D0+=4),(e1=J>>2)!=0&&(J=e1,D0+=2),(e1=J>>1)!=0&&(J=e1,D0+=1),D0}function VB(){return this.t<=0?0:this.DB*(this.t-1)+nE(this[this.t-1]^this.s&this.DM)}function JB(J,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+J]=this[e1];for(e1=J-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+J,D0.s=this.s}function zB(J,D0){for(var e1=J;e1=0;--i9)D0[i9+O5+1]=this[i9]>>B2|T3,T3=(this[i9]&e3)<=0;--i9)D0[i9]=0;D0[O5]=T3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function WB(J,D0){D0.s=this.s;var e1=Math.floor(J/this.DB);if(e1>=this.t){D0.t=0;return}var B2=J%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var T3=e1+1;T3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(J.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=J.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function ZB(J,D0){var e1=this.abs(),B2=J.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)J[e1]=0;for(e1=0;e1=D0.DV&&(J[e1+D0.t]-=D0.DV,J[e1+D0.t+1]=1)}J.t>0&&(J[J.t-1]+=D0.am(e1,D0[e1],J,2*e1,0,1)),J.s=0,J.clamp()}function XB(J,D0,e1){var B2=J.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var P9=O5.t,i4=O5[P9-1];if(i4!=0){var Ai=i4*(1<1?O5[P9-2]>>this.F2:0),nr=this.FV/Ai,cQ=(1<=0&&(e1[e1.t++]=1,e1.subTo(Oi,e1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var oE=e1[--oA]==i4?this.DM:Math.floor(e1[oA]*nr+(e1[oA-1]+gQ)*cQ);if((e1[oA]+=O5.am(0,oE,e1,Gu,0,P9))0&&e1.rShiftTo(H9,e1),T3<0&&e.ZERO.subTo(e1,e1)}}}function eQ(J){var D0=X0();return this.abs().divRemTo(J,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&J.subTo(D0,D0),D0}function iA(J){this.m=J}function tQ(J){return J.s<0||J.compareTo(this.m)>=0?J.mod(this.m):J}function iQ(J){return J}function rQ(J){J.divRemTo(this.m,null,J)}function nQ(J,D0,e1){J.multiplyTo(D0,e1),this.reduce(e1)}function rA(J,D0){J.squareTo(D0),this.reduce(D0)}iA.prototype.convert=tQ,iA.prototype.revert=iQ,iA.prototype.reduce=rQ,iA.prototype.mulTo=nQ,iA.prototype.sqrTo=rA;function rr(){if(this.t<1)return 0;var J=this[0];if(!(J&1))return 0;var D0=J&3;return D0=D0*(2-(J&15)*D0)&15,D0=D0*(2-(J&255)*D0)&255,D0=D0*(2-((J&65535)*D0&65535))&65535,D0=D0*(2-J*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function Hn(J){this.m=J,this.mp=J.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function nA(J){var D0=X0();return J.copyTo(D0),this.reduce(D0),D0}function Yn(J){for(;J.t<=this.mt2;)J[J.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&J.DM;for(e1=D0+this.m.t,J[e1]+=this.m.am(0,B2,J,D0,0,this.m.t);J[e1]>=J.DV;)J[e1]-=J.DV,J[++e1]++}J.clamp(),J.drShiftTo(this.m.t,J),J.compareTo(this.m)>=0&&J.subTo(this.m,J)}function oQ(J,D0){J.squareTo(D0),this.reduce(D0)}function sQ(J,D0,e1){J.multiplyTo(D0,e1),this.reduce(e1)}Hn.prototype.convert=Nu,Hn.prototype.revert=nA,Hn.prototype.reduce=Yn,Hn.prototype.mulTo=sQ,Hn.prototype.sqrTo=oQ;function aQ(){return(this.t>0?this[0]&1:this.s)==0}function is(J,D0){if(J>4294967295||J<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=nE(J)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(J&1<0)D0.mulTo(B2,e3,e1);else{var T3=e1;e1=B2,B2=T3}return D0.revert(e1)}function AQ(J,D0){var e1;return J<256||D0.isEven()?e1=new iA(D0):e1=new Hn(D0),this.exp(J,e1)}e.prototype.copyTo=ye,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=JB,e.prototype.drShiftTo=zB,e.prototype.lShiftTo=KB,e.prototype.rShiftTo=WB,e.prototype.subTo=Z6,e.prototype.multiplyTo=ZB,e.prototype.squareTo=jB,e.prototype.divRemTo=XB,e.prototype.invDigit=rr,e.prototype.isEven=aQ,e.prototype.exp=is,e.prototype.toString=J7,e.prototype.negate=z7,e.prototype.abs=yr,e.prototype.compareTo=il,e.prototype.bitLength=VB,e.prototype.mod=eQ,e.prototype.modPowInt=AQ,e.ZERO=ie(0),e.ONE=ie(1);function Vn(J,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,T3=0,i9=0;i9=e1&&(this.dMultiply(B2),this.dAddOffset(T3,0),O5=0,T3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(T3,0)),e3&&e.ZERO.subTo(this,this)}function tn(J){return Math.floor(Math.LN2*this.DB/Math.log(J))}function yC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function n5(J){this[this.t]=this.am(0,J-1,this,0,0,this.t),++this.t,this.clamp()}function $Q(J,D0){if(J!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=J;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function rs(J){if(J==null&&(J=10),this.signum()==0||J<2||J>36)return"0";var D0=this.chunkSize(J),e1=Math.pow(J,D0),B2=ie(e1),e3=X0(),O5=X0(),T3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)T3=(e1+O5.intValue()).toString(J).substr(1)+T3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(J)+T3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(J.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=J.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Vn,e.prototype.chunkSize=tn,e.prototype.signum=yC,e.prototype.dMultiply=n5,e.prototype.dAddOffset=$Q,e.prototype.toRadix=rs,e.prototype.intValue=rn,e.prototype.addTo=lQ;var c7={abs:function(J,D0){var e1=new r.math.Long(J,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,G9[bt>>2]=B2.low_,G9[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(J,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(J.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(J,D0,e1){var B2=new r.math.Long(J,D0).toString();if(e1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(J,D0,e1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(J,D0);var T3=new e;T3.fromString(e1,10);var i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(T3)<0?(O5=T3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var i4=r.math.Long.fromString(O5.toString());if(G9[bt>>2]=i4.low_,G9[bt+4>>2]=i4.high_,P9)throw"range error"}};return c7}();function tA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}tA.prototype=new Error,tA.prototype.constructor=tA;var OB,rE=null,pS=!1;Y7=function r(){n.calledRun||QC(),n.calledRun||(Y7=r)},n.callMain=n.callMain=function(l){Ge(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ge(Zp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)H.push(0)}var H=[C3(en(n.thisProgram),"i8",ja)];f();for(var e=0;e0||(Ru(),k8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!i0&&(Zo(),LB(),c&&rE!==null&&n.printErr("pre-main prep time: "+(Date.now()-rE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&YB&&n.callMain(r),K$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=QC;function qB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(i0=!0,n1=r,k7=OB,jp(),n.onExit&&n.onExit(r)),d?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):U&&typeof quit=="function"&&quit(r),new tA(r)}n.exit=n.exit=qB;var HB=[];function ts(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",i0=!0,n1=1;var l=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+zp()+l;throw HB&&HB.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=ts,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var YB=!0;n.noInitialRun&&(YB=!1),QC();var ES=n._encoder_init,CS=n._encoder_clear,BS=n._encoder_analysis_buffer,QS=n._encoder_process,yS=n._encoder_data_len,wS=n._encoder_transfer_data,S7=n.HEAPU8,X$=n.HEAPU32,el=n.HEAPF32,tl=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=ES(this.numChannels,r,u)};tl.prototype.encode=function(r){for(var l=r[0].length,u=BS(this.encoder,l)>>2,f=0;f>2);this.process(l)},tl.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},tl.prototype.cancel=tl.prototype.cleanup=function(){CS(this.encoder),delete this.encoder,delete this.oggBuffers},tl.prototype.process=function(r){QS(this.encoder,r);var l=yS(this.encoder);if(l>0){var u=wS(this.encoder);this.oggBuffers.push(new Uint8Array(S7.subarray(u,u+l)))}},lC.OggVorbisEncoder=tl}};typeof window<"u"&&window===self&&lC.init();function bk(n,i,A,c){let d=new lC.OggVorbisEncoder(A,i,c);d.encode(n);let p=d.finish(),U=p.reduce((e0,U0)=>e0+U0.length,0),Z=new Uint8Array(U),O=0;for(let e0 of p)Z.set(e0,O),O+=e0.length;return Z}var cC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",d=>{d.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async d=>{d.preventDefault(),c.classList.add("hidden");let p=d.dataTransfer.files[0];if(!p)return;let U=p.name,Z=await p.arrayBuffer(),O=Z.slice(0,4),e0=new TextDecoder;if(e0.decode(O)==="RIFF"){let U0=Z.slice(8,12);if(e0.decode(U0)==="RMID"){i({buf:Z,name:U});return}A(Z);return}i({buf:Z,name:U})})}};async function Dk(){let n="locale.exportAudio.formats.formats.dls.warning.";Ne(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;le(i.id),R7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),d=Yo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&Qu(d,c);let p=d.writeDLS(),U=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(U,`${d.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var c_=!1,Wr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,d=c_){this.localeManager=c,this.context=i,this.enableDebug=d,this.isExporting=!1,this.compressionFunc=bk;let p;this.ready=new Promise(U=>p=U),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),d=document.createElement("a");d.href=c,d.download=A,d.click(),_5(d)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let P of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path"));for(let P of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(P,"title",P.getAttribute("translate-path-title")+".description");this.soundFont=A;let d=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Sk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+d,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let U=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),O=await(await fetch(U)).arrayBuffer();this.impulseResponseRaw=O,this.impulseResponse=await i.decodeAudioData(O.slice(0,O.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new Iu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",P=>{this.sfError&&this.sfError(P.message)}),await this.synth.isReady,this.midHandler=new YE,this.wml=new VE(this.synth),this.keyboard=new xp(this.channelColors,this.synth);let e0=document.getElementById("note_canvas");e0.width=window.innerWidth*window.devicePixelRatio,e0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new N7(this.channelColors,this.synth,e0,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let U0=!1,_=()=>{if(e0.width=window.innerWidth*window.devicePixelRatio,e0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),T7){if(window.innerWidth/window.innerHeight>1){if(!U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!0,P.parentElement.insertBefore(i0,P)}}else if(U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!1,P.parentElement.insertBefore(P,i0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),T7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new zr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new ZE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Oo(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new cC(P=>{this.play([{binary:P.buf,altName:P.name}]),P.name.length>20&&(P.name=P.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P.name},P=>{this.reloadSf(P)}),document.addEventListener("keydown",P=>{switch(P.key.toLowerCase()){case si.cinematicMode:this.seq&&this.seq.pause();let i0=window.prompt(`Cinematic mode activated! +`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(Jo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(Jo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(Jo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Jo(r.output,0)),r.output=[])}}},M9={ops_table:null,mount:function(r){return M9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(N2.EPERM);M9.ops_table||(M9.ops_table={dir:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,lookup:M9.node_ops.lookup,mknod:M9.node_ops.mknod,rename:M9.node_ops.rename,unlink:M9.node_ops.unlink,rmdir:M9.node_ops.rmdir,readdir:M9.node_ops.readdir,symlink:M9.node_ops.symlink},stream:{llseek:M9.stream_ops.llseek}},file:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:{llseek:M9.stream_ops.llseek,read:M9.stream_ops.read,write:M9.stream_ops.write,allocate:M9.stream_ops.allocate,mmap:M9.stream_ops.mmap,msync:M9.stream_ops.msync}},link:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,readlink:M9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:k.chrdev_stream_ops}});var V=k.createNode(r,l,u,f);return k.isDir(V.mode)?(V.node_ops=M9.ops_table.dir.node,V.stream_ops=M9.ops_table.dir.stream,V.contents={}):k.isFile(V.mode)?(V.node_ops=M9.ops_table.file.node,V.stream_ops=M9.ops_table.file.stream,V.usedBytes=0,V.contents=null):k.isLink(V.mode)?(V.node_ops=M9.ops_table.link.node,V.stream_ops=M9.ops_table.link.stream):k.isChrdev(V.mode)&&(V.node_ops=M9.ops_table.chrdev.node,V.stream_ops=M9.ops_table.chrdev.stream),V.timestamp=Date.now(),r&&(r.contents[l]=V),V},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=M9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(V.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-V,f);if(Ge(X0>=0),X0>8&&e.subarray)l.set(e.subarray(V,V+X0),u);else for(var r1=0;r10||V+fP5.timestamp)&&(V.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([S8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(S8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},V.sort().forEach(function(k5){l.type==="local"?S8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);S8.storeLocalEntry(k5,P5,C)}):S8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);S8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?S8.removeLocalEntry(k5,C):S8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return Ge(d),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(N2.EINVAL);var V=k.createNode(r,l,u);return V.node_ops=ft.node_ops,V.stream_ops=ft.stream_ops,V},getMode:function(r){var l;try{l=b8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),m9.join.apply(null,l)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=b8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(b8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);b8.utimesSync(u,f,f)}l.size!==void 0&&b8.truncateSync(u,l.size)}catch(V){throw V.code?new k.ErrnoError(N2[V.code]):V}},lookup:function(r,l){var u=m9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var V=ft.createNode(r,l,u,f),e=ft.realPath(V);try{k.isDir(V.mode)?b8.mkdirSync(e,V.mode):b8.writeFileSync(e,"",{mode:V.mode})}catch(X0){throw X0.code?new k.ErrnoError(N2[X0.code]):X0}return V},rename:function(r,l,u){var f=ft.realPath(r),V=m9.join2(ft.realPath(l),u);try{b8.renameSync(f,V)}catch(e){throw e.code?new k.ErrnoError(N2[e.code]):e}},unlink:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},rmdir:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return b8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},symlink:function(r,l,u){var f=m9.join2(ft.realPath(r),l);try{b8.symlinkSync(u,f)}catch(V){throw V.code?new k.ErrnoError(N2[V.code]):V}},readlink:function(r){var l=ft.realPath(r);try{return l=b8.readlinkSync(l),l=OB.relative(OB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=b8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&b8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(N2[l.code]):l}},read:function(r,l,u,f,V){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=b8.readSync(r.nfd,e,0,f,V)}catch(x2){throw new k.ErrnoError(N2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(N2.ELOOP);for(var V=m9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(N2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),V=k.nameTable[f];V;V=V.name_next){var e=V.name;if(V.parent.id===r.id&&e===l)return V}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var V=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&V)===V},set:function(r1){r1?this.mode|=V:this.mode&=~V}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return N2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var V=k.nodePermissions(r,"wx");if(V)return V;if(u){if(!k.isDir(f.mode))return N2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return N2.EBUSY}else if(k.isDir(f.mode))return N2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?N2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?N2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(N2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var V in r)f[V]=r[V];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function V(e){if(e)return V.errored?void 0:(V.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return V(null);e.type.syncfs(e,r,V)})},mount:function(r,l,u){var f=u==="/",V=!u,e;if(f&&k.root)throw new k.ErrnoError(N2.EBUSY);if(!f&&!V){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(N2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(N2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(N2.EINVAL);var u=l.node,f=u.mounted,V=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;V.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);Ge(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),V=f.node,e=m9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(N2.EINVAL);var X0=k.mayCreate(V,e);if(X0)throw new k.ErrnoError(X0);if(!V.node_ops.mknod)throw new k.ErrnoError(N2.EPERM);return V.node_ops.mknod(V,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!m9.resolve(r))throw new k.ErrnoError(N2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);var V=m9.basename(l),e=k.mayCreate(f,V);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(N2.EPERM);return f.node_ops.symlink(f,V,r)},rename:function(r,l){var u=m9.dirname(r),f=m9.dirname(l),V=m9.basename(r),e=m9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(N2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(N2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(N2.EXDEV);var s=k.lookupNode(r1,V),l1=m9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(N2.EINVAL);if(l1=m9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(N2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,V,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(N2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),V=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(V))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(V);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(N2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),V=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(V))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(V);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(N2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(N2.EINVAL);return m9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(N2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var V=k.lookupPath(r,{follow:!u});f=V.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var V;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});V=e.node}else V=r;if(!V.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);V.node_ops.setattr(V,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(N2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(N2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(N2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(N2.EINVAL);var V=k.nodePermissions(u,"w");if(V)throw new k.ErrnoError(V);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(N2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),V=f.node;V.node_ops.setattr(V,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,V){if(r==="")throw new k.ErrnoError(N2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=m9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(N2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(N2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,V);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,V){if(f<0||V<0)throw new k.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(N2.EINVAL);var e=!0;if(typeof V>"u")V=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,V);return e||(r.position+=X0),X0},write:function(r,l,u,f,V,e){if(f<0||V<0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(N2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof V>"u")V=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,V,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,V,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,l,u,f,V,e,X0)},msync:function(r,l,u,f,V){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,V)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),V=k.stat(r),e=V.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=Jo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var V=new Uint8Array(zo(l)+1),e=Un(l,V,0,V.length);k.write(f,V,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(N2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,V,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),qn.register(k.makedev(5,0),qn.default_tty_ops),qn.register(k.makedev(6,0),qn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else d?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");G9[Nk>>2]=k.getPtrForStream(r),Ge(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");G9[Gk>>2]=k.getPtrForStream(l),Ge(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");G9[Uk>>2]=k.getPtrForStream(u),Ge(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var V in N2)if(N2[V]===f){this.code=V;break}},this.setErrno(l),this.message=Tk[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[N2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(M9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){Ge(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,U9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var ye=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",u,!1),w2!==W9&&t4.setRequestHeader("Range","bytes="+ie+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+u+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):en(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,t4=(ie+1)*W9-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=ye(It,t4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,V);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,U9,W9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);var ye=k5.node.contents;if(W9>=ye.length)return 0;var Dt=Math.min(ye.length-W9,U9);if(Ge(Dt>=0),ye.slice)for(var ie=0;ie=0;f--){var V=r[f];V==="."?r.splice(f,1):V===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=m9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=m9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return m9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return m9.normalize(r.join("/"))},join2:function(r,l){return m9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=m9.normalizeArray(r.split("/").filter(function(V){return!!V}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=m9.resolve(r).substr(1),l=m9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),V=u(l.split("/")),e=Math.min(f.length,V.length),X0=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?rE(0,1e3/l):rE(1,1),J1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,u=J1.mainLoop.func;J1.mainLoop.func=null,UB(u,0,!1,J1.mainLoop.arg,!0),rE(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,u=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){Ge(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var U9=P5.getContext("2d");U9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(U9){s||(s=!0,n.preloadedAudios[X0]=U9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(X0)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function ye(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",J7=0,z7=0,yr=0;yr=6;){var il=J7>>z7-6&63;z7-=6,t4+=ie[il]}return z7==2?(t4+=ie[(J7&3)<<4],t4+=It+It):z7==4&&(t4+=ie[(J7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+ye(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(V){!J1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),V.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var V,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(V=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else V=r.getContext("2d");return V?(u&&(l||Ge(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=V,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),V):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=u,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function V(){J1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",V,!1),document.addEventListener("mozfullscreenchange",V,!1),document.addEventListener("webkitfullscreenchange",V,!1),document.addEventListener("MSFullscreenChange",V,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var u=Math.max(J1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!i0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){i0||J1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,V=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(V+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")J1.lastTouches[X0.identifier]=s,J1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[X0.identifier];l1||(l1=s),J1.lastTouches[X0.identifier]=l1,J1.touches[X0.identifier]=s}return}var C=r.pageX-(V+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){J1.xhrLoad(r,function(V){Ge(V,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(V)),f||Br("al "+r)},function(V){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),u||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=X$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=X$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,V=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/V>2]=l),l}function tS(){n.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=_.staticAlloc(4),G9[Xo>>2]=0,n.requestFullScreen=function(l,u,f){J1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){J1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,u,f,V){return J1.createContext(l,u,f,V)},k.staticInit(),J$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),Lu.push(function(){k.ignorePermissions=!1}),z$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,J$.unshift(function(){qn.init()}),z$.push(function(){qn.shutdown()}),d)var b8=void 0,OB=void 0;xu=k7=_.alignMemory(jr),q$=!0,H$=xu+jp,V$=O7=_.alignMemory(H$),Ge(V$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function K_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function RS(t){t=t|0,Z6=t}function FS(){return Z6|0}function SC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=R9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function TS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,h=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&h,Q=E&255,f[y>>0]=Q)}function q2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0;V0=C,h=a>>>0>32;do if(!h){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)G=g;else{if(T0=(g|0)==0,T0)return;if(z0=(a0|0)>2147483391,z0||(H0=t+8|0,Z0=e[H0>>2]|0,I=a0+256|0,E=W7(Z0,I)|0,Q=(E|0)==0,Q))break;e[H0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,G=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,U=N&255,Y=U|F,X=Y&255,f[G>>0]=X,K=(R|0)>7;do if(K&&(W=e[M>>2]|0,r0=8-W|0,s0=y>>>r0,J=s0&255,o0=e[$>>2]|0,q=o0+1|0,f[q>>0]=J,d0=(R|0)>15,d0&&(t0=e[M>>2]|0,j=16-t0|0,u0=y>>>j,$0=u0&255,l0=e[$>>2]|0,Z=l0+2|0,f[Z>>0]=$0,m0=(R|0)>23,m0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,h0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=h0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,W0=_0+4|0,f[W0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,P0=e[t>>2]|0,q0=P0+N0|0,e[t>>2]=q0,k0=e[$>>2]|0,J0=k0+N0|0,e[$>>2]=J0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,K0=(G0|0)==0,K0||E2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function bC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;h=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||E2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function mi(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,h=e[g>>2]|0,e[o>>2]=h,m=h,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function DC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,X=t+4|0,j=e[X>>2]|0,p0=j+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,h=(S0|0)<(E0|0),!h){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>j,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-j|0,N=R<16,U?(Y=b+2|0,K=f[Y>>0]|0,a0=K&255,W=16-j|0,r0=a0<24,J?(o0=b+3|0,q=f[o0>>0]|0,d0=q&255,t0=24-j|0,u0=d0<>0]|0,g0=m0&255,f0=32-j|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,h=t+12|0,m=e[h>>2]|0,I=m+g|0,e[h>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function r4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,h=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,Z=e[s0>>2]|0,E0=Z+o|0,T0=e[t>>2]|0,N0=t+16|0,P0=e[N0>>2]|0,q0=P0+-4|0,B=(T0|0)<(q0|0),!B){if(S=E0+7|0,b=S>>3,v=P0-b|0,w=(T0|0)>(v|0),w){h=t,m=s0,v0=P0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>Z,N=(E0|0)>8,N?(G=x+1|0,U=f[G>>0]|0,Y=U&255,X=8-Z|0,K=Y<16,W?(r0=x+2|0,J=f[r0>>0]|0,o0=J&255,q=16-Z|0,d0=o0<24,j?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-Z|0,m0=$0<>0]|0,C0=p0&255,S0=32-Z|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,W0=E0&7,e[s0>>2]=W0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[h>>2]=v0,e[m>>2]=1,a=-1,a|0}function D8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,h=(g|0)/8&-1,m=h+o|0,m|0}function fQ(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function NS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0;if(N=C,g=(t|0)==0,g)return a=-1,a|0;g4(t|0,0,360)|0,h=t+4|0,e[h>>2]=16384,b=t+24|0,e[b>>2]=1024,v=R9(16384)|0,e[t>>2]=v,w=R9(4096)|0,D=t+16|0,e[D>>2]=w,y=R9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){E2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||E2(Q),g4(t|0,0,360)|0,a=-1,a|0}function GS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,h=e[g>>2]|0,m=(h|0)==0,m||E2(h),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),g4(t|0,0,360)|0),0}function US(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0;if(P0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,U=e[t>>2]|0,d0=U+23|0,f[d0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(h=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=h+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,N=(F|0)<($|0),N)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(G=M0<<8,Y=M0>>>24,X=B+T0|0,K=f[X>>0]|0,a0=K&255,W=a0^Y,r0=144+(W<<2)|0,s0=e[r0>>2]|0,J=s0^G,o0=T0+1|0,q=(o0|0)<(I|0),q)M0=J,T0=o0;else{W0=J;break}else W0=B0;t0=W0&255,j=e[t>>2]|0,u0=j+22|0,f[u0>>0]=t0,c0=W0>>>8,$0=c0&255,l0=e[t>>2]|0,Z=l0+23|0,f[Z>>0]=$0,m0=W0>>>16,g0=m0&255,f0=e[t>>2]|0,h0=f0+24|0,f[h0>>0]=g0,p0=W0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function PS(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,a2=(q1|0)<0,w=2147483647-q1|0,Y=(m2|0)>(w|0),G2=a2|Y,G2){I=-1;break}if(t0=q1+m2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)m2=t0,k2=c0;else{s2=t0;break e}}return I|0}else s2=0;while(!1);l0=(s2|0)/255&-1,Z=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(h0=e[v>>2]|0,p0=h0-g0|0,e[v>>2]=p0,C0=(h0|0)==(g0|0),C0||(S0=_0+g0|0,sA(_0|0,S0|0,p0|0)|0),e[m0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-s2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-s2|0,W0=(b0|0)>(B0|0),W0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=t+16|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),q0=t+20|0,k0=e[q0>>2]|0,J0=(k0|0)==0,J0||E2(k0),g4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+s2|0,G0=(F0|0)<2147482623,K0=F0+1024|0,m=G0?K0:F0,z0=e[t>>2]|0,H0=W7(z0,m)|0,Z0=(H0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=H0;break}return O0=e[t>>2]|0,V0=(O0|0)==0,V0||E2(O0),s1=t+16|0,Y0=e[s1>>2]|0,i1=(Y0|0)==0,i1||E2(Y0),o1=t+20|0,d1=e[o1>>2]|0,g1=(d1|0)==0,g1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=OS(t,Z)|0,h1=(m1|0)==0,!h1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ge(w1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,D1=D2+1|0,t2=(D1|0)==(a|0),!t2;)v1=U1,D2=D1;if(u1=(s2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,u1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=c1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,z1=e[x1>>2]|0,H1=G1+4|0,V1=H1,Y1=e[V1>>2]|0,X1=Q1+(P1<<3)|0,o2=X1,j1=o2,e[j1>>2]=z1,O1=o2+4|0,u2=O1,e[u2>>2]=Y1,W1=Q2+1|0,I2=(W1|0)<(l0|0),I2;)Q2=W1;L2=p1?l0:1,B=E1,l2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,l2=S,S2=0;return C2=(s2|0)%255&-1,A2=c1+S2|0,K1=$1+(A2<<2)|0,e[K1>>2]=C2,h2=l2+(A2<<3)|0,i2=h2,c2=i2,e[c2>>2]=g,r2=i2+4|0,$2=r2,e[$2>>2]=h,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=h,M=$1+(c1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=c1+Z|0,e[A1>>2]=F,N=t+344|0,G=N,U=G,X=e[U>>2]|0,K=G+4|0,a0=K,W=e[a0>>2]|0,r0=ns(X|0,W|0,1,0)|0,s0=Z6,J=N,o0=J,e[o0>>2]=r0,q=J+4|0,d0=q,e[d0>>2]=s0,j=($|0)==0,j?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function AE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,h=g,m=e[h>>2]|0,I=PS(t,y,1,S,D,m)|0,C=M,I|0}function IQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=pQ(t,o,1,4096)|0,a|0}function mQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,h=(t|0)==0,h||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=pQ(t,o,D,4096)|0,a=w,a|0)}function OS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0;return h0=C,g=t+24|0,h=e[g>>2]|0,y=h-o|0,K=t+28|0,u0=e[K>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(Z=2147483647-o|0,m0=(h|0)>(Z|0),m0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||E2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||E2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(b=h+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=W7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,N=(F|0)==0,N||E2(F),G=e[D>>2]|0,U=(G|0)==0,U||E2(G),Y=t+20|0,X=e[Y>>2]|0,a0=(X|0)==0,a0||E2(X),g4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,W=t+20|0,r0=e[W>>2]|0,s0=a<<3,J=W7(r0,s0)|0,o0=(J|0)==0,o0?(q=e[t>>2]|0,d0=(q|0)==0,d0||E2(q),t0=e[D>>2]|0,j=(t0|0)==0,j||E2(t0),c0=e[W>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[W>>2]=J,e[g>>2]=a,$=0,$|0))))}function pQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,d1=(x|0)>255,g=d1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,V1=(R1|0)==0,A2=(g|0)==0,_3=A2|V1,_3))return h=0,h|0;t2=t+332|0,J2=e[t2>>2]|0,Z2=(J2|0)==0;e:do if(Z2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,z5=g3,Y5=14;break e}if(Z0=e[Q0>>2]|0,Y0=Z0+(g3<<2)|0,i1=e[Y0>>2]|0,x0=i1&255,o1=(x0|0)==255,g1=g3+1|0,o1)g3=g1;else{I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,z5=g1,Y5=14;break}}else if(M=(g|0)>0,M){for(W=t+16|0,$0=t+20|0,Q5=0,D5=-1,d5=-1,l5=-1,j2=-1,d2=-1,w5=-1,i5=-1,s5=-1,t3=0,G3=0,Q3=0;;){if(m1=(Q5|0)>($|0),h1=(t3|0)>3,H3=m1&h1,H3){m=1,q5=D5,M5=d5,Y2=l5,p5=j2,$5=d2,u5=w5,y5=i5,T1=s5,u3=Q3;break}if(u1=e[W>>2]|0,A1=u1+(Q3<<2)|0,c1=e[A1>>2]|0,a1=c1&255,$1=a1+Q5|0,j0=(a1|0)==255,j0?(h5=D5,z2=d5,f5=l5,r5=j2,R5=d2,X2=w5,c5=i5,F2=s5,s6=0,V3=G3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=G3+1|0,b1=w1&255,_1=os(w1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(w1|0,L1|0,16)|0,P1=Z6,Z1=D1&255,G1=os(w1|0,L1|0,24)|0,x1=Z6,z1=G1&255,q1=L1&255,H1=os(w1|0,L1|0,40)|0,Y1=Z6,X1=H1&255,o2=os(w1|0,L1|0,48)|0,j1=Z6,O1=o2&255,u2=os(w1|0,L1|0,56)|0,W1=Z6,I2=u2&255,h5=b1,z2=Z1,f5=z1,r5=q1,R5=X1,X2=O1,c5=I2,F2=U1,s6=M1,V3=M1),a2=Q3+1|0,C2=(a2|0)<(g|0),C2)Q5=$1,D5=h5,d5=z2,l5=f5,j2=r5,d2=R5,w5=X2,i5=c5,s5=F2,t3=s6,G3=V3,Q3=a2;else{m=a,q5=h5,M5=z2,Y2=f5,p5=r5,$5=R5,u5=X2,y5=c5,T1=F2,u3=a2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=M5,G5=Y2,Z5=p5,x3=$5,f3=u5,w3=y5,X3=T1,H5=255):(I=m,v5=q5,J5=M5,i3=Y2,E5=p5,I3=$5,h3=u5,W5=y5,r3=T1,z5=u3,Y5=14)}else I=a,v5=-1,J5=-1,i3=-1,E5=-1,I3=-1,h3=-1,W5=-1,r3=-1,z5=0,Y5=14;while(!1);if((Y5|0)==14){if(h2=(I|0)==0,h2)return h=0,h|0;a3=v5,B3=J5,G5=i3,Z5=E5,x3=I3,f3=h3,w3=W5,X3=r3,H5=z5}if(l2=t+40|0,f[l2>>0]=79,f[l2+1>>0]=103,f[l2+2>>0]=103,f[l2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,c2=t+45|0,f[c2>>0]=0,r2=t+16|0,$2=e[r2>>2]|0,e2=e[$2>>2]|0,s2=e2>>>8,S=s2&1,m2=S^1,k2=m2|2,E=Z2?k2:m2,c3=E&255,f[c2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=Q2&G2,X5&&(Q=Z2?k2:m2,L2=Q|4,P2=L2&255,f[c2>>0]=P2),e[t2>>2]=1,p2=t+46|0,f[p2>>0]=a3,K2=t+47|0,f[K2>>0]=X3,O2=t+48|0,f[O2>>0]=B3,U2=t+49|0,f[U2>>0]=G5,H2=t+50|0,f[H2>>0]=Z5,W2=t+51|0,f[W2>>0]=x3,A5=t+52|0,f[A5>>0]=f3,V2=t+53|0,f[V2>>0]=w3,N1=t+336|0,e5=e[N1>>2]|0,T5=e5&255,t5=t+54|0,f[t5>>0]=T5,x5=e5>>>8,I5=x5&255,b5=t+55|0,f[b5>>0]=I5,V5=e5>>>16,g5=V5&255,b2=t+56|0,f[b2>>0]=g5,B5=e5>>>24,o5=B5&255,R2=t+57|0,f[R2>>0]=o5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,N=F&255,G=t+58|0,f[G>>0]=N,U=F>>>8,Y=U&255,X=t+59|0,f[X>>0]=Y,K=F>>>16,a0=K&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,J=s0&255,o0=t+61|0,f[o0>>0]=J,q=t+62|0,d0=H5&255,t0=t+66|0,f[q>>0]=0,f[q+1>>0]=0,f[q+2>>0]=0,f[q+3>>0]=0,f[t0>>0]=d0,j=(H5|0)>0,j){if(u0=e[$2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,Z=u0&255,L5=(H5|0)==1,L5)B=Z;else for(g0=1,b0=Z;;)if(b=e[r2>>2]|0,m0=b+(g0<<2)|0,f0=e[m0>>2]|0,n0=f0&255,h0=g0+27|0,p0=(t+40|0)+h0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,N5=B}else v0=R1,k0=x,F0=$2,N5=0;return e[o>>2]=l2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,W0=e[_0>>2]|0,M0=v0+W0|0,T0=o+8|0,e[T0>>2]=M0,P0=o+12|0,e[P0>>2]=N5,q0=k0-H5|0,e[y>>2]=q0,J0=F0+(H5<<2)|0,L0=q0<<2,sA(F0|0,J0|0,L0|0)|0,G0=t+20|0,K0=e[G0>>2]|0,z0=K0+(H5<<3)|0,H0=e[y>>2]|0,O0=H0<<3,sA(K0|0,z0|0,O0|0)|0,V0=e[_0>>2]|0,s1=V0+N5|0,e[_0>>2]=s1,US(o),h=1,h|0}function qS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0;return Y0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,X=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,j=e[X>>2]|0,mi(j),p0=g+16|0,M0=e[p0>>2]|0,mi(M0),K0=g+20|0,O0=e[K0>>2]|0,mi(O0),V0=g+24|0,h=e[V0>>2]|0,mi(h),m=g+28|0,I=e[m>>2]|0,mi(I),E=g+32|0,Q=e[E>>2]|0,mi(Q),B=g+36|0,S=e[B>>2]|0,mi(S),b=g+40|0,v=e[b>>2]|0,mi(v),w=g+44|0,y=e[w>>2]|0,mi(y),x=g+48|0,M=e[x>>2]|0,mi(M),L=g+52|0,R=e[L>>2]|0,mi(R),F=g+56|0,N=e[F>>2]|0,mi(N),G=g+60|0,U=e[G>>2]|0,mi(U),Y=g+64|0,K=e[Y>>2]|0,mi(K),a0=g+68|0,W=e[a0>>2]|0,mi(W),r0=e[6416]|0,s0=r0+12|0,J=e[s0>>2]|0,o0=ZQ[J&1](t)|0,q=(o0|0)==0,q?(d0=(o|0)==0,d0?(a=0,a|0):(t0=Pu(t)|0,u0=(t0|0)==0,u0?(c0=t+4|0,$0=fQ(c0)|0,e[o>>2]=$0,l0=D8(c0)|0,Z=o+4|0,e[Z>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,h0=t+48|0,C0=h0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,W0=B0+4|0,v0=W0,e[v0>>2]=y0,T0=t+56|0,N0=T0,P0=N0,q0=e[P0>>2]|0,k0=N0+4|0,J0=k0,F0=e[J0>>2]|0,L0=o+24|0,G0=L0,z0=G0,e[z0>>2]=q0,H0=G0+4|0,Z0=H0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function HS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,Y=e[w>>2]|0,t0=(Y|0)>0,t0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,h0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,h=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=h,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(h0|0),S=Q*B,b=+(f0|0),v=S/b,D=+K7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,N=F/b,G=+K7(N),U=~~G,X=o+16|0,e[X>>2]=U,K=$+3368|0,a0=e[K>>2]|0,W=+(a0|0),r0=W*B,s0=r0/b,J=+K7(s0),o0=~~J,q=o+20|0,e[q>>2]=o0,d0=o+32|0,l1[d0>>3]=7,j=+(Y|0),u0=$+3376|0,c0=+l1[u0>>3],$0=j*c0,l0=~~$0,Z=o+8|0,e[Z>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function VS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Pu(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,h=e[g>>2]|0,m=h+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function YS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0;if(R6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,M5=b2+104|0,d2=e[M5>>2]|0,F2=b2+4|0,G5=e[F2>>2]|0,G3=G5+28|0,U5=e[G3>>2]|0,S=d2+112|0,N=+l1[S>>3],o0=+K7(N),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,J0=e[w0>>2]|0,Y0=D8(J0)|0,a1=Y0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,e2=d2+96|0,p2=e[e2>>2]|0,I2?(T5=d2+100|0,x5=e[T5>>2]|0,q=p2,b0=T5,B0=x5):(Z2=d2+104|0,I5=e[Z2>>2]|0,b5=d2+100|0,V5=e[b5>>2]|0,g5=n5(I5,p2)|0,B5=n5(I5,V5)|0,q=g5,b0=b5,B0=B5),o5=U5+(x1<<2)|0,R2=e[o5>>2]|0,M2=R2>>1,y2=U5+3372|0,Q5=e[y2>>2]|0,N5=+(Q5|0),m5=U5+3376|0,L5=+l1[m5>>3],q5=N5*L5,Y2=~~q5,p5=d2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=d2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,d5=d2+92|0,l5=e[d5>>2]|0,j2=(l5|0)>0,j2){I2?c5=l5:(w5=d2+104|0,i5=e[w5>>2]|0,s5=n5(i5,l5)|0,c5=s5),h5=U5+3384|0,z2=+l1[h5>>3],f5=15/z2,r5=d2+84|0,R5=e[r5>>2]|0,X2=a1-c5|0,v5=R5+X2|0,J5=(v5|0)>(Y2|0);e:do if(J5)if(i3=(g0|0)>0,E5=(a1|0)>(c5|0),M6=E5&i3,M6)if(I3=a1-c5|0,h3=I3+R5|0,W5=(h3|0)>(Y2|0),W5)for(J3=g0;;){if(r3=J3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,Z5=D8(B3)|0,x3=Z5<<3,f3=(J3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(I=e[r5>>2]|0,X3=x3-c5|0,H3=X3+I|0,X5=(H3|0)>(Y2|0),X5)J3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(_3=(v5|0)<(Y2|0),_3)if(t3=g0+1|0,s6=(t3|0)<15,V3=(a1|0)<(c5|0),r6=V3&s6,r6)if(c3=a1-c5|0,g3=c3+R5|0,u3=(g3|0)<(Y2|0),u3)for(z5=t3;;){if(Q3=(B+12|0)+(z5<<2)|0,H5=e[Q3>>2]|0,Y5=D8(H5)|0,S5=Y5<<3,Y3=z5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){j5=z5;break e}if(m=e[r5>>2]|0,l3=S5-c5|0,U3=l3+m|0,E6=(U3|0)<(Y2|0),E6)z5=Y3;else{j5=z5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+l1[S>>3],D3=b3-L3,a6=+K7(D3),i6=+(M2|0),b=a6/i6,v=G5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,R3=L?f5:v6,R=R3/D,F=R*i6,G=F+L3,l1[S>>3]=G,U=+K7(G),Y=~~U,X=(B+12|0)+(Y<<2)|0,K=e[X>>2]|0,a0=D8(K)|0,W=a0<<3,E=e[e2>>2]|0,r0=E,M3=Y,n6=W}else r0=p2,M3=g0,n6=a1;s0=(r0|0)>0,J=(n6|0)<(q|0),f6=J&s0;e:do if(f6)if(d0=d2+88|0,t0=e[d0>>2]|0,j=n6-q|0,u0=j+t0|0,c0=(u0|0)<0,c0)for(d3=M3,o6=n6;;){if($0=d3+1|0,l0=(d3|0)>13,l0){z3=$0,C6=o6;break e}if(Z=(B+12|0)+($0<<2)|0,m0=e[Z>>2]|0,f0=D8(m0)|0,n0=f0<<3,h0=e[d0>>2]|0,p0=n0-q|0,C0=p0+h0|0,S0=(C0|0)<0,S0)d3=$0,o6=n0;else{z3=$0,C6=n0;break}}else z3=M3,C6=n6;else z3=M3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=d2+88|0,W0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+W0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(h6=z3,K3=C6;;){if(P0=h6+-1|0,q0=(h6|0)<1,q0){m3=P0,F3=K3;break e}if(k0=(B+12|0)+(P0<<2)|0,F0=e[k0>>2]|0,L0=D8(F0)|0,G0=L0<<3,K0=e[_0>>2]|0,z0=G0-B0|0,H0=z0+K0|0,Z0=e[y2>>2]|0,O0=(H0|0)>(Z0|0),O0)h6=P0,K3=G0;else{m3=P0,F3=G0;break}}else m3=z3,F3=C6;else m3=z3,F3=C6;while(!1);if(V0=(m3|0)<0,V0)s1=e[y2>>2]|0,i1=d2+88|0,x0=e[i1>>2]|0,o1=s1+B0|0,d1=o1-x0|0,g1=(d1|0)/8&-1,m1=d2+124|0,e[m1>>2]=0,h1=B+12|0,u1=e[h1>>2]|0,A1=D8(u1)|0,c1=(A1|0)>(g1|0),c1?($1=e[h1>>2]|0,j0=g1<<3,TS($1,j0),E1=e[h1>>2]|0,I1=D8(E1)|0,Q1=I1<<3,W3=Q1):W3=F3;else{if(p1=d2+88|0,B1=e[p1>>2]|0,w1=q+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=d2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=D8(R1)|0,U1=k1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(Z1=x6+-1|0,q2(G1,0,8),z1=(x6|0)>1,q1=e[_1>>2]|0,z1)G1=q1,x6=Z1;else{h=q1;break}else h=P1;H1=D8(h)|0,V1=H1<<3,W3=V1}Y1=e[e2>>2]|0,X1=(Y1|0)>0,X1?e6=37:(o2=e[b0>>2]|0,j1=(o2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,u2=(W3|0)>(B0|0),N6=O1&u2,N6){a2=W3-B0|0,C2=d2+88|0,A2=e[C2>>2]|0,K1=a2+A2|0,e[C2>>2]=K1;break}if(h2=(q|0)>0,l2=(W3|0)<(q|0),j6=h2&l2,j6){i2=W3-q|0,c2=d2+88|0,r2=e[c2>>2]|0,$2=i2+r2|0,e[c2>>2]=$2;break}if(s2=d2+88|0,m2=e[s2>>2]|0,t2=(m2|0)>(Y2|0),t2)if(O1){k2=W3-B0|0,D2=m2+k2|0,S2=(D2|0)<(Y2|0),o=S2?Y2:D2,e[s2>>2]=o;break}else{e[s2>>2]=Y2;break}else if(h2){Q2=W3-q|0,G2=m2+Q2|0,L2=(G2|0)>(Y2|0),$=L2?Y2:G2,e[s2>>2]=$;break}else{e[s2>>2]=Y2;break}}while(!1);return P2=e[d5>>2]|0,K2=(P2|0)>0,K2?(O2=e[L1>>2]|0,J2=(O2|0)==0,J2?V2=P2:(U2=d2+104|0,H2=e[U2>>2]|0,W2=n5(H2,P2)|0,V2=W2),A5=W3-V2|0,N1=d2+84|0,e5=e[N1>>2]|0,t5=A5+e5|0,e[N1>>2]=t5,a=0,a|0):(a=0,a|0)}function EQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,X=e[D>>2]|0,j=(X|0)==0,j?(a=0,a|0):(p0=(o|0)==0,p0||(C0=X+104|0,S0=e[C0>>2]|0,Q0=X+64|0,b0=e[Q0>>2]|0,h=b0+104|0,m=e[h>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=fQ(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=D8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=X+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,N=X+48|0,G=N,U=G,Y=e[U>>2]|0,K=G+4|0,a0=K,W=e[a0>>2]|0,r0=o+16|0,s0=r0,J=s0,e[J>>2]=Y,o0=s0+4|0,q=o0,e[q>>2]=W,d0=X+56|0,t0=d0,u0=t0,c0=e[u0>>2]|0,$0=t0+4|0,l0=$0,Z=e[l0>>2]|0,m0=o+24|0,g0=m0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,h0=n0,e[h0>>2]=Z),e[D>>2]=0,a=1,a|0)}function JS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0;F=C,L=o,N=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(N|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=ce(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(h=(M|0)==7,h){e[g>>2]=D,SC(D),M=8;continue}else{if(m=ce(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,SC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function K8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0;return K=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,N=e[F>>2]|0,G=(R|0)>(N|0),U=t+68|0,Y=e[U>>2]|0,G?(g=(Y|0)==0,g||(h=Y,m=R9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=h,e[B>>2]=m),e[F>>2]=$,v=R9($)|0,e[U>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=Y,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function zS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0;if(t0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,U=e[D>>2]|0,Y=(U|0)==0,!Y)for(o0=U;X=o0+4|0,K=e[X>>2]|0,a0=e[o0>>2]|0,E2(a0),E2(o0),W=(K|0)==0,!W;)o0=K;if(r0=t+80|0,h=e[r0>>2]|0,m=(h|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+h|0,B=W7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||E2(y),M=(g|0)==0,M){q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}else J=0;for(;;){if(L=(g+12|0)+(J<<2)|0,R=e[L>>2]|0,bC(R),F=(J|0)==7,F){J=8;continue}if(N=e[L>>2]|0,E2(N),G=J+1|0,s0=(G|0)==15,s0)break;J=G}E2(g),q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}function KS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=ZS(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=bb(o)|0,S=Q+60|0,e[S>>2]=B,b=ce(1,180)|0,e[Q>>2]=b,ib(b,o),v=Q+80|0,HS(o,v),w=t+64|0,D=w,h=D,e[h>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function CQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0;if(O2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,J0=(w0|0)!=0,J0?(Y0=w0+28|0,a1=e[Y0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if($2=e[x1>>2]|0,b=($2|0)==0,b||(rb($2),G=e[x1>>2]|0,E2(G)),q=x1+12|0,f0=e[q>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,RC(S0),Q0=e[q>>2]|0,b0=e[Q0>>2]|0,E2(b0),E0=e[q>>2]|0,E2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(W0=e[B0>>2]|0,RC(W0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,E2(v0),T0=e[y0>>2]|0,E2(T0)),N0=x1+48|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0){if(F0=(k0|0)==0,F0)p1=P0;else if(L0=k0+16|0,G0=e[L0>>2]|0,K0=(G0|0)>0,K0){if(z0=k0+800|0,H0=e[z0>>2]|0,Z0=25640+(H0<<2)|0,O0=e[Z0>>2]|0,V0=O0+16|0,s1=e[V0>>2]|0,i1=e[P0>>2]|0,as[s1&7](i1),x0=e[L0>>2]|0,o1=(x0|0)>1,o1)for(g1=1;o=e[N0>>2]|0,d1=z0+(g1<<2)|0,m1=e[d1>>2]|0,h1=25640+(m1<<2)|0,u1=e[h1>>2]|0,A1=u1+16|0,c1=e[A1>>2]|0,$1=o+(g1<<2)|0,j0=e[$1>>2]|0,as[c1&7](j0),E1=g1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)g1=E1;a=e[N0>>2]|0,p1=a}else p1=P0;E2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,as[Z1&7](G1),z1=e[M1>>2]|0,q1=(z1|0)>1,q1)for(V1=1;$=e[B1>>2]|0,H1=R1+(V1<<2)|0,Y1=e[H1>>2]|0,X1=25648+(Y1<<2)|0,o2=e[X1>>2]|0,j1=o2+16|0,O1=e[j1>>2]|0,u2=$+(V1<<2)|0,I2=e[u2>>2]|0,as[O1&7](I2),a2=V1+1|0,C2=e[M1>>2]|0,A2=(a2|0)<(C2|0),A2;)V1=a2;g=e[B1>>2]|0,K1=g}else K1=w1;E2(K1)}if(h2=x1+56|0,l2=e[h2>>2]|0,i2=(l2|0)==0,!i2){if(c2=(k0|0)==0,c2)L2=l2;else if(r2=k0+28|0,e2=e[r2>>2]|0,s2=(e2|0)>0,s2){if(DQ(l2),m2=e[r2>>2]|0,t2=(m2|0)>1,t2)for(D2=1;h=e[h2>>2]|0,k2=h+(D2*52|0)|0,DQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,G2=(S2|0)<(Q2|0),G2;)D2=S2;m=e[h2>>2]|0,L2=m}else L2=l2;E2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||Db(w),y=x1+80|0,VS(y),x=x1+20|0,UQ(x),M=x1+32|0,UQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(J0)if(N=w0+4|0,U=e[N>>2]|0,Y=(U|0)>0,Y){for(K=R,p0=U,P2=0;X=K+(P2<<2)|0,a0=e[X>>2]|0,W=(a0|0)==0,W?J=p0:(E2(a0),E=e[N>>2]|0,J=E),r0=P2+1|0,s0=(r0|0)<(J|0),!!s0;)I=e[L>>2]|0,K=I,p0=J,P2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;E2(o0),d0=t+12|0,t0=e[d0>>2]|0,j=(t0|0)==0,j||E2(t0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,Z=e[l0>>2]|0,m0=(Z|0)==0,m0||E2(Z),g0=x1+72|0,n0=e[g0>>2]|0,h0=(n0|0)==0,h0||E2(n0),E2(x1)),p2=t,J2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(J2|0))}}function BQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0;if(J0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||E2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,h=e[a>>2]|0,o0=h,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,N=e[F>>2]|0,G=(N|0)>0,G)if(U=t+8|0,Y=e[U>>2]|0,X=e[Y>>2]|0,K=R<<2,a0=W7(X,K)|0,W=e[U>>2]|0,e[W>>2]=a0,s0=e[F>>2]|0,J=(s0|0)>1,J)for($0=1;;)if($=e[D>>2]|0,u0=e[U>>2]|0,c0=u0+($0<<2)|0,Z=e[c0>>2]|0,m0=$<<2,g0=W7(Z,m0)|0,f0=e[U>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,h0=$0+1|0,p0=e[F>>2]|0,C0=(h0|0)<(p0|0),C0)$0=h0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(q=(o0|0)>0,q)){for(d0=t+8|0,t0=e[b>>2]|0,j=t+12|0,q0=0;;)if(S0=e[d0>>2]|0,Q0=S0+(q0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(t0<<2)|0,w0=e[j>>2]|0,B0=w0+(q0<<2)|0,e[B0>>2]=y0,_0=q0+1|0,W0=(_0|0)<(o0|0),W0)q0=_0;else{g=j;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function WS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0;if(H0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=H0,$|0):(e[S0>>2]=E0,_0=t+28|0,W0=e[_0>>2]|0,M0=(W0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,q0=r0+4|0,k0=e[q0>>2]|0,J0=(N0|0)>(k0|0),!J0)?($=0,C=H0,$|0):(yQ(t),$=0,C=H0,$|0));if(b0=C,C=C+128|0,P0=t+28|0,F0=e[P0>>2]|0,L0=(F0|0)==0,L0&&yQ(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,BQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=H0,$|0;for(F=t+8|0,N=b,K0=0;;){if(G=(N|0)>64,G?(U=e[G0>>2]|0,Y=(N|0)>(U|0),a=Y?U:N,X=e[F>>2]|0,K=X+(K0<<2)|0,a0=e[K>>2]|0,h=N-a|0,W=a0+(h<<2)|0,+wQ(W,b0,a,32),s0=e[F>>2]|0,J=s0+(K0<<2)|0,o0=e[J>>2]|0,q=e[v>>2]|0,d0=o0+(q<<2)|0,m=q+-32|0,t0=o0+(m<<2)|0,j=e[S>>2]|0,u0=j-q|0,vQ(b0,t0,32,d0,u0)):(c0=e[F>>2]|0,$0=c0+(K0<<2)|0,Z=e[$0>>2]|0,m0=Z+(N<<2)|0,g0=e[S>>2]|0,f0=g0-N|0,n0=f0<<2,g4(m0|0,0,n0|0)|0),h0=K0+1|0,p0=e[x>>2]|0,C0=(h0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,N=g,K0=h0}return C=H0,$|0}function QQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0;if(ue=C,S=t+4|0,b=e[S>>2]|0,a2=b+28|0,S5=e[a2>>2]|0,a6=t+104|0,M6=e[a6>>2]|0,C6=M6+60|0,B6=e[C6>>2]|0,V6=t+48|0,s9=e[V6>>2]|0,v=t+40|0,U=e[v>>2]|0,d0=S5+(U<<2)|0,n0=e[d0>>2]|0,_0=(n0|0)/2&-1,L0=s9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,O2=e[m2>>2]|0,x5=(O2|0)==-1,x5))return $=0,$|0;y2=nb(t)|0,y5=(y2|0)==-1;do if(y5){if(z2=e[m2>>2]|0,I3=(z2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,h=X3,J3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,U5=e[Y3>>2]|0,$6=(Q3|0)==(U5|0),n3=t+44|0,$6){e[n3>>2]=0,h=n3,J3=0;break}else{e[n3>>2]=y2,h=n3,J3=y2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[v>>2]|0,E6=S5+(U3<<2)|0,b3=e[E6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,i6=S5+(J3<<2)|0,j5=e[i6>>2]|0,M3=(j5|0)/4&-1,d3=D3+M3|0,z3=(j5|0)/2&-1,h6=d3+z3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(h6|0),L6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,f6=(r6|0)==0,!f6)for(w9=r6;b6=w9+4|0,N6=e[b6>>2]|0,j6=e[w9>>2]|0,E2(j6),E2(w9),v6=(N6|0)==0,!v6;)w9=N6;R3=o+80|0,n6=e[R3>>2]|0,o6=(n6|0)==0,o6||(K3=o+68|0,F3=e[K3>>2]|0,W3=o+76|0,e6=e[W3>>2]|0,R6=e6+n6|0,l6=W7(F3,R6)|0,e[K3>>2]=l6,o3=e[R3>>2]|0,z6=e[W3>>2]|0,A3=z6+o3|0,e[W3>>2]=A3,e[R3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,A6=o+24|0,e[A6>>2]=H6,D6=e[v>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[h>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=ob(t)|0,U6=(g9|0)==0,Y6=j0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,r9=(e9|0)==0,Y9=P3|r9,o9=j0+8|0,Y9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,d9=O6,n9=e[d9>>2]|0,B9=ns(O3|0,n9|0,1,0)|0,Q9=Z6,y9=t9,h9=y9,e[h9>>2]=B9,f9=y9+4|0,V9=f9,e[V9>>2]=Q9,y6=o+56|0,q6=y6,w=q6,e[w>>2]=O3,D=q6+4|0,y=D,e[y>>2]=n9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,N=F,G=e[N>>2]|0,Y=o+48|0,X=Y,K=X,e[K>>2]=R,a0=X+4|0,W=a0,e[W>>2]=G,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,J=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=J,q=j0+4|0,t0=+s[q>>2],j=+s[B6>>2],u0=t0>j,u0?(s[B6>>2]=t0,c0=t0):c0=j,$0=+Lb(c0,t),s[B6>>2]=$0,s[q>>2]=$0,l0=b+4|0,Z=e[l0>>2]|0,m0=Z<<2,g0=m0+7|0,f0=g0&-8,h0=e[c6>>2]|0,p0=f0+h0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=R9(8)|0,W0=e[R3>>2]|0,M0=W0+h0|0,e[R3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=R9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,q0=N0,k0=0,G0=g,O0=f0):(q0=E0,k0=h0,G0=Z,O0=S0),P0=q0+k0|0,J0=k0+f0|0,e[c6>>2]=J0,e[o>>2]=P0,F0=G0<<2,K0=F0+7|0,z0=K0&-8,H0=z0+J0|0,Z0=(H0|0)>(O0|0),Z0?(V0=(q0|0)==0,V0||(s1=q0,Y0=R9(8)|0,i1=e[R3>>2]|0,o1=i1+J0|0,e[R3>>2]=o1,d1=e[S6>>2]|0,g1=Y0+4|0,e[g1>>2]=d1,e[Y0>>2]=s1,e[S6>>2]=Y0),e[C0>>2]=z0,m1=R9(z0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,u1=m1,A1=0,a1=m,Y5=z0):(u1=q0,A1=J0,a1=G0,Y5=O0),h1=u1+A1|0,c1=A1+z0|0,e[c6>>2]=c1,e[j0>>2]=h1,$1=(a1|0)>0;e:do if($1)for(E1=t+8|0,k1=c1,M1=Y5,_1=u1,a9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,U1=R9(8)|0,D1=e[R3>>2]|0,P1=D1+k1|0,e[R3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=R9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,V1=0):(H1=_1,V1=k1),z1=H1+V1|0,Y1=V1+w1|0,e[c6>>2]=Y1,X1=e[j0>>2]|0,o2=X1+(a9<<2)|0,e[o2>>2]=z1,j1=e[j0>>2]|0,O1=j1+(a9<<2)|0,u2=e[O1>>2]|0,W1=e[E1>>2]|0,I2=W1+(a9<<2)|0,A2=e[I2>>2]|0,ge(u2|0,A2|0,p1|0)|0,K1=e[j0>>2]|0,h2=K1+(a9<<2)|0,l2=e[h2>>2]|0,i2=l2+(L0<<2)|0,c2=e[o>>2]|0,r2=c2+(a9<<2)|0,e[r2>>2]=i2,$2=a9+1|0,e2=e[l0>>2]|0,s2=($2|0)<(e2|0),!s2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,_1=Q,a9=$2}while(!1);if(t2=e[m2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[m2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(G2=S5+4|0,L2=e[G2>>2]|0,P2=(L2|0)/2&-1,p2=d3-P2|0,K2=(p2|0)>0,!K2)return $=1,$|0;if(J2=e[M6>>2]|0,sb(J2,p2),U2=e[m3>>2]|0,H2=U2-p2|0,e[m3>>2]=H2,W2=e[l0>>2]|0,A5=(W2|0)>0,A5&&(V2=t+8|0,N1=e[V2>>2]|0,e5=e[N1>>2]|0,T5=e5+(p2<<2)|0,t5=H2<<2,sA(e5|0,T5|0,t5|0)|0,Z2=e[l0>>2]|0,I5=(Z2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[V2>>2]|0,V5=b5+(g5<<2)|0,b2=e[V5>>2]|0,B5=b2+(p2<<2)|0,o5=B<<2,sA(b2|0,B5|0,o5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return N5=e[v>>2]|0,e[T3>>2]=N5,m5=e[h>>2]|0,e[v>>2]=m5,e[V6>>2]=P2,L5=e[m2>>2]|0,q5=(L5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,H3=x,X5=H3,_3=e[X5>>2]|0,t3=H3+4|0,s6=t3,G3=e[s6>>2]|0,V3=ns(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=V3,z5=g3+4|0,H5=z5,e[H5>>2]=c3,$=1,$|0):(M5=L5-p2|0,Y2=(M5|0)<1,a=Y2?-1:M5,e[m2>>2]=a,p5=(a|0)>(P2|0),p5?(c5=(p2|0)<0,F2=c5<<31>>31,v5=x,J5=v5,i3=e[J5>>2]|0,E5=v5+4|0,h3=E5,W5=e[h3>>2]|0,r3=ns(i3|0,W5|0,p2|0,F2|0)|0,a3=Z6,B3=x,G5=B3,e[G5>>2]=r3,Z5=B3+4|0,x3=Z5,e[x3>>2]=a3,$=1,$|0):($5=a+p2|0,u5=$5-P2|0,T1=(u5|0)<0,D5=T1<<31>>31,d5=x,l5=d5,j2=e[l5>>2]|0,d2=d5+4|0,w5=d2,i5=e[w5>>2]|0,s5=ns(j2|0,i5|0,u5|0,D5|0)|0,h5=Z6,f5=x,r5=f5,e[r5>>2]=s5,R5=f5+4|0,X2=R5,e[X2>>2]=h5,$=1,$|0))}function ZS(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0;if(r5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,c2=(O1|0)<1,c2)||(G2=e[B>>2]|0,V2=(G2|0)<64,V2)||(b2=B+4|0,M5=e[b2>>2]|0,S=(M5|0)<(G2|0),S))return $=1,$|0;N=B+3656|0,o0=e[N>>2]|0,z2=t,R5=z2+112|0;do e[z2>>2]=0,z2=z2+4|0;while((z2|0)<(R5|0));g0=ce(1,136)|0,w0=t+104|0,e[w0>>2]=g0,J0=t+4|0,e[J0>>2]=o,Y0=e[Z1>>2]|0,a1=Y0+-1|0,B1=H8(a1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=ce(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=ce(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=ce(1,20)|0,e[k1>>2]=_1,R1=ce(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,MC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,MC(P1,x1),z1=e[B>>2]|0,q1=H8(z1)|0,H1=q1+-7|0,V1=g0+4|0,e[V1>>2]=H1,Y1=e[b2>>2]|0,X1=H8(Y1)|0,o2=X1+-7|0,j1=g0+8|0,e[j1>>2]=o2,u2=(a|0)==0;e:do if(u2){if(y2=B+2848|0,Q5=e[y2>>2]|0,N5=(Q5|0)==0,N5&&(m5=B+24|0,L5=e[m5>>2]|0,q5=ce(L5,56)|0,e[y2>>2]=q5,Y2=e[m5>>2]|0,p5=(Y2|0)>0,p5)){for(Q1=Y2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(d5=e[y2>>2]|0,l5=d5+(w5*56|0)|0,j2=Xb(l5,u5)|0,b=(j2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,FC(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,h5=0;A1=(B+1824|0)+(h5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?I1=p1:(FC(c1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=h5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,h5=j0;return CQ(t),$=-1,$|0}}else{if(W1=g0+20|0,I2=e[B>>2]|0,GQ(W1,I2),a2=g0+32|0,C2=e[b2>>2]|0,GQ(a2,C2),A2=B+2848|0,K1=e[A2>>2]|0,h2=(K1|0)==0,h2&&(l2=B+24|0,i2=e[l2>>2]|0,r2=ce(i2,56)|0,e[A2>>2]=r2,$2=e[l2>>2]|0,e2=($2|0)>0,e2&&(s2=B+1824|0,m2=e[s2>>2]|0,NQ(r2,m2)|0,t2=e[l2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[A2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,NQ(D2,L2)|0,P2=S2+1|0,p2=e[l2>>2]|0,K2=(P2|0)<(p2|0),K2;)S2=P2;O2=B+28|0,J2=e[O2>>2]|0,U2=ce(J2,52)|0,H2=g0+56|0,e[H2>>2]=U2,W2=e[O2>>2]|0,A5=(W2|0)>0;t:do if(A5)for(N1=B+2868|0,e5=o+8|0,t5=U2,d2=0;;){if(T5=t5+(d2*52|0)|0,x5=(B+2852|0)+(d2<<2)|0,Z2=e[x5>>2]|0,I5=e[Z2>>2]|0,b5=B+(I5<<2)|0,V5=e[b5>>2]|0,g5=(V5|0)/2&-1,B5=e[e5>>2]|0,xb(T5,Z2,N1,g5,B5),o5=d2+1|0,R2=e[O2>>2]|0,M2=(o5|0)<(R2|0),!M2)break t;h=e[H2>>2]|0,t5=h,d2=o5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,G=R9(F)|0,U=t+8|0,e[U>>2]=G,Y=R9(F)|0,X=t+12|0,e[X>>2]=Y,K=(R|0)>0,K&&(a0=ce(x,4)|0,e[G>>2]=a0,W=(R|0)>1,W))for(J=1;m=e[U>>2]|0,r0=ce(x,4)|0,s0=m+(J<<2)|0,e[s0>>2]=r0,q=J+1|0,d0=(q|0)<(R|0),d0;)J=q;if(t0=t+36|0,e[t0>>2]=0,j=t+40|0,e[j>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,Z=B+16|0,m0=e[Z>>2]|0,f0=ce(m0,4)|0,n0=g0+48|0,e[n0>>2]=f0,h0=B+20|0,p0=e[h0>>2]|0,C0=ce(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[Z>>2]|0,b0=(Q0|0)>0,b0)for(i5=0;B0=(B+800|0)+(i5<<2)|0,_0=e[B0>>2]|0,W0=25640+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(i5<<2)|0,P0=e[N0>>2]|0,q0=pi[T0&15](t,P0)|0,k0=e[n0>>2]|0,F0=k0+(i5<<2)|0,e[F0>>2]=q0,L0=i5+1|0,G0=e[Z>>2]|0,K0=(L0|0)<(G0|0),K0;)i5=L0;if(E0=e[h0>>2]|0,y0=(E0|0)>0,y0)s5=0;else return $=0,$|0;for(;;)if(z0=(B+1312|0)+(s5<<2)|0,H0=e[z0>>2]|0,Z0=25648+(H0<<2)|0,O0=e[Z0>>2]|0,V0=O0+8|0,s1=e[V0>>2]|0,i1=(B+1568|0)+(s5<<2)|0,x0=e[i1>>2]|0,o1=pi[s1&15](t,x0)|0,d1=e[S0>>2]|0,g1=d1+(s5<<2)|0,e[g1>>2]=o1,m1=s5+1|0,h1=e[h0>>2]|0,u1=(m1|0)<(h1|0),u1)s5=m1;else{$=0;break}return $|0}function yQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,C=C+64|0,g=M0,h=t+20|0,y=e[h>>2]|0,K=y<<2,o=K,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,N=u0+(B0<<2)|0,e[N>>2]=F,G=B0+1|0,U=(b|0)>(G|0),U;)B0=G;if(Y=e[Q0>>2]|0,X=b-Y|0,+wQ(u0,g,X,16),a0=e[h>>2]|0,W=e[Q0>>2]|0,a=a0-W|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,vQ(g,s0,16,r0,W),J=e[h>>2]|0,o0=(J|0)>0,o0)for(q=e[S>>2]|0,d0=q+(w0<<2)|0,t0=e[d0>>2]|0,_0=0;j=u0+(_0<<2)|0,c0=e[j>>2]|0,$0=_0^-1,l0=J+$0|0,Z=t0+(l0<<2)|0,e[Z>>2]=c0,m0=_0+1|0,g0=(J|0)>(m0|0),g0;)_0=m0;if(f0=w0+1|0,n0=e[m>>2]|0,h0=n0+4|0,p0=e[h0>>2]|0,S0=(f0|0)<(p0|0),S0)b=J,w0=f0;else break}C=M0}function jS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0;$2=C,q2(o,5653314,24),m=e[t>>2]|0,q2(o,m,16),I=t+4|0,U=e[I>>2]|0,q2(o,U,24),d0=e[I>>2]|0,n0=(d0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(b1=L0+O1|0,E=f[b1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(d0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(d0|0);e:do if(M){if(q2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,N=F<<24>>24,G=N+-1|0,q2(o,G,5),Y=e[I>>2]|0,X=(Y|0)>1,X)for(w=Y,H1=0,W1=1;;){if(K=e[L>>2]|0,a0=K+W1|0,W=f[a0>>0]|0,r0=W1+-1|0,s0=K+r0|0,J=f[s0>>0]|0,o0=W<<24>>24>J<<24>>24,o0)for(q=J<<24>>24,t0=W<<24>>24,c0=w,V1=H1,l2=q;;)if(j=W1-V1|0,u0=c0-V1|0,$0=H8(u0)|0,q2(o,j,$0),l0=l2+1|0,o2=(l0|0)==(t0|0),h=e[I>>2]|0,o2){g0=h,Y1=W1;break}else c0=h,V1=W1,l2=l0;else g0=w,Y1=H1;if(Z=W1+1|0,m0=(Z|0)<(g0|0),m0)w=g0,H1=Y1,W1=Z;else{$=g0,q1=Y1,u2=Z;break}}else $=Y,q1=0,u2=1;f0=u2-q1|0,h0=$-q1|0,p0=H8(h0)|0,q2(o,f0,p0)}else{q2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,a2=0;;){if(E0=b0+a2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){I2=a2;break t}if(B0=a2+1|0,W0=(B0|0)<(C0|0),W0)a2=B0;else{I2=B0;break}}else I2=0;while(!1);if(M0=(I2|0)==(C0|0),M0){if(q2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,C2=0;;)if(P0=e[N0>>2]|0,q0=P0+C2|0,k0=f[q0>>0]|0,J0=k0<<24>>24,F0=J0+-1|0,q2(o,F0,5),G0=C2+1|0,K0=e[I>>2]|0,z0=(G0|0)<(K0|0),z0)C2=G0;else break e}if(q2(o,1,1),H0=e[I>>2]|0,Z0=(H0|0)>0,Z0)for(O0=t+8|0,A2=0;V0=e[O0>>2]|0,s1=V0+A2|0,Y0=f[s1>>0]|0,i1=Y0<<24>>24==0,i1?q2(o,0,1):(q2(o,1,1),o1=e[O0>>2]|0,d1=o1+A2|0,g1=f[d1>>0]|0,m1=g1<<24>>24,h1=m1+-1|0,q2(o,h1,5)),u1=A2+1|0,A1=e[I>>2]|0,c1=(u1|0)<(A1|0),c1;)A2=u1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,q2(o,$1,4),E1=e[a1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,q2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,q2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,q2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,q2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=Wb(t)|0,c2=D1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=n5(Z1,P1)|0,c2=G1;else break;if(x1=(c2|0)>0,x1)for(K1=0;z1=e[I1>>2]|0,Q=z1+(K1<<2)|0,B=e[Q>>2]|0,h2=(B|0)>-1,i2=0-B|0,S=h2?B:i2,b=e[L1>>2]|0,q2(o,S,b),v=K1+1|0,X1=(v|0)==(c2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Ou(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0;return X=C,g=(o|0)<0,g||(h=t+12|0,y=e[h>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,N=e[F>>2]|0,G=N+(o<<2)|0,U=e[G>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,q2(a,U,B),S=e[h>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function $E(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,h=(g|0)>0,!h||(m=qu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function XS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,q=o0<<2,h=q,d0=C,C=C+((1*h|0)+15&-16)|0,t0=(o0|0)>0;e:do if(t0){for(j=t+16|0,l0=0;;){if(G=qu(t,a)|0,U=(G|0)==-1,U){g=-1;break}if(Y=e[j>>2]|0,X=e[t>>2]|0,K=n5(X,G)|0,a0=Y+(K<<2)|0,W=d0+(l0<<2)|0,e[W>>2]=a0,r0=l0+1|0,J=(r0|0)<(o0|0),J)l0=r0;else{u0=X;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=t0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(Z=0,g0=0;;){for(m0=0;v=d0+(m0<<2)|0,w=e[v>>2]|0,D=w+(Z<<2)|0,y=+s[D>>2],x=m0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,N=m0+1|0,$0=(N|0)==(o0|0),!$0;)m0=N;if(B=Z+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)Z=B,g0=S;else{g=0;break}}return C=n0,g|0}function eb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0;if(e5=C,K=t+8|0,a0=e[K>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(z1=t+16|0,e2=0;;){if(t0=qu(t,a)|0,j=(t0|0)==-1,j){g=-1,N1=29;break}if(u0=e[z1>>2]|0,c0=e[t>>2]|0,$0=n5(c0,t0)|0,l0=(c0|0)>0,l0){for(Z=(c0|0)>1,V2=Z?c0:1,m2=e2,p2=0;m0=p2+1|0,X=p2+$0|0,g0=u0+(X<<2)|0,n0=+s[g0>>2],h0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(m0|0)<(c0|0),Q0;)m2=h0,p2=m0;I2=e2+V2|0,s2=I2}else s2=e2;if(W=(s2|0)<($|0),W)e2=s2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=qu(t,a)|0,o0=(J|0)==-1,o0){g=-1,N1=29;break e}switch(q=e[i1>>2]|0,d0=e[t>>2]|0,d0|0){case 4:{B=J,y=q,N1=19;break t}case 3:{S=J,x=q,N1=21;break t}case 7:{I=J,v=q,N1=13;break t}case 6:{E=J,w=q,N1=15;break t}case 8:{h=q,m=J,N1=12;break t}case 5:{Q=J,D=q,N1=17;break t}case 1:{K1=J,l2=q,P2=t2,A5=0;break t}case 2:{b=J,M=q,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=h+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,W0=+s[_0>>2],M0=W0+y0,s[_0>>2]=M0,N0=b0,q0=h,k2=w0,K2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,q0=v,k2=t2,K2=0,N1=14):(N1|0)==15?(N1=0,z0=E*6|0,Z0=z0,V0=w,D2=t2,O2=0,N1=16):(N1|0)==17?(N1=0,g1=Q*5|0,h1=g1,A1=D,S2=t2,J2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,D1=F1,Z1=x,G2=t2,H2=0,N1=22):(N1|0)==23&&(N1=0,Y1=b<<1,o2=Y1,O1=M,L2=t2,W2=0,N1=24),(N1|0)==14&&(N1=0,T0=K2+1|0,Y=K2+N0|0,P0=q0+(Y<<2)|0,k0=+s[P0>>2],J0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],K0=G0+k0,s[L0>>2]=K0,Z0=N0,V0=q0,D2=J0,O2=T0,N1=16),(N1|0)==16&&(N1=0,H0=O2+1|0,U=O2+Z0|0,O0=V0+(U<<2)|0,s1=+s[O0>>2],Y0=D2+1|0,x0=o+(D2<<2)|0,o1=+s[x0>>2],d1=o1+s1,s[x0>>2]=d1,h1=Z0,A1=V0,S2=Y0,J2=H0,N1=18),(N1|0)==18&&(N1=0,m1=J2+1|0,G=J2+h1|0,u1=A1+(G<<2)|0,c1=+s[u1>>2],a1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+c1,s[j0>>2]=I1,B1=h1,v1=A1,Q2=a1,U2=m1,N1=20),(N1|0)==20&&(N1=0,p1=U2+1|0,N=U2+B1|0,w1=v1+(N<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,b1=o+(Q2<<2)|0,_1=+s[b1>>2],R1=_1+k1,s[b1>>2]=R1,D1=B1,Z1=v1,G2=L1,H2=p1,N1=22),(N1|0)==22&&(N1=0,U1=H2+1|0,F=H2+D1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],V1=H1+G1,s[q1>>2]=V1,o2=D1,O1=Z1,L2=x1,W2=U1,N1=24),(N1|0)==24&&(N1=0,X1=W2+1|0,R=W2+o2|0,j1=O1+(R<<2)|0,u2=+s[j1>>2],W1=L2+1|0,a2=o+(L2<<2)|0,C2=+s[a2>>2],A2=C2+u2,s[a2>>2]=A2,K1=o2,l2=O1,P2=W1,A5=X1),L=A5+K1|0,h2=l2+(L<<2)|0,i2=+s[h2>>2],c2=P2+1|0,r2=o+(P2<<2)|0,$2=+s[r2>>2],r0=$2+i2,s[r2>>2]=r0,s0=(c2|0)<($|0),s0)t2=c2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function tb(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,N=(S|0)>0,!N||(r0=(a|0)/($|0)&-1,s0=h+a|0,J=(s0|0)/($|0)&-1,o0=(r0|0)<(J|0),!o0))return I=0,I|0;for(q=t+16|0,j=0,$0=r0;;){if(t0=qu(t,g)|0,b=(t0|0)==-1,b){I=-1,g0=8;break}if(v=e[q>>2]|0,w=e[t>>2]|0,D=n5(w,t0)|0,y=(w|0)>0,y)for(c0=j,Z=$0,m0=0;;)if(Q=m0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,G=F+(Z<<2)|0,U=+s[G>>2],Y=U+M,s[G>>2]=Y,X=(L|0)==($|0),K=X&1,E=K+Z|0,m=X?0:L,a0=m0+1|0,W=(a0|0)<(w|0),W)c0=m,Z=E,m0=a0;else{u0=m,l0=E;break}else u0=j,l0=$0;if(d0=(l0|0)<(J|0),d0)j=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function qu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,h=e[g>>2]|0,y=t+36|0,K=e[y>>2]|0,u0=DC(o,K)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,z0=e[v0>>2]|0,d1=z0+(u0<<2)|0,g1=e[d1>>2]|0,m=(g1|0)<0,m){I=g1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=g1&32767,b=B-S|0,m1=b,u1=E;break}return v=g1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,_C(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,u1=0;while(!1);if(N=DC(o,h)|0,G=(N|0)<0,U=(h|0)>1,Y=G&U,Y)for(j0=h;;)if(X=j0+-1|0,a0=DC(o,X)|0,W=(a0|0)<0,r0=(X|0)>1,s0=W&r0,s0)j0=X;else{$=W,a1=a0,$1=X;break}else $=G,a1=N,$1=h;if($)return a=-1,a|0;if(J=a1>>>16,o0=a1<<16,q=J|o0,d0=q>>>8,t0=d0&16711935,j=q<<8,c0=j&-16711936,$0=t0|c0,l0=$0>>>4,Z=l0&252645135,m0=$0<<4,g0=m0&-252645136,f0=Z|g0,n0=f0>>>2,h0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=h0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-u1|0,W0=(_0|0)>1,W0)for(M0=t+20|0,T0=e[M0>>2]|0,P0=_0,h1=m1,c1=u1;;)if(N0=P0>>1,q0=N0+c1|0,k0=T0+(q0<<2)|0,J0=e[k0>>2]|0,F0=J0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+c1|0,K0=F0?N0:0,H0=h1-K0|0,Z0=H0-G0|0,O0=(Z0|0)>1,O0)P0=Z0,h1=H0,c1=G0;else{A1=G0;break}else A1=u1;return V0=t+28|0,s1=e[V0>>2]|0,Y0=s1+A1|0,i1=f[Y0>>0]|0,x0=i1<<24>>24,o1=(x0|0)>($1|0),o1?(_C(o,$1),a=-1,a|0):(_C(o,x0),a=A1,a|0)}function ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0;for(d1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,J=e[F>>2]|0,m0=t+4|0,e[m0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,z0=e[k0>>2]|0,H0=t+12|0,e[H0>>2]=z0,e[t>>2]=J,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=ce(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,MC(x,128),M=e[y>>2]|0,Y0=0;L=+(Y0|0),R=L*.024736950028266088,N=+Vn(+R),G=N,U=M+(Y0<<2)|0,Y=G*G,s[U>>2]=Y,X=Y0+1|0,s1=(X|0)==128,!s1;)Y0=X;for(K=t+40|0,e[K>>2]=2,a0=t+44|0,e[a0>>2]=4,W=t+56|0,e[W>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,q=t+88|0,e[q>>2]=9,d0=t+92|0,e[d0>>2]=8,t0=t+104|0,e[t0>>2]=13,j=t+108|0,e[j>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(Z=g0<<2,f0=R9(Z)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,h0=(g0|0)>0,h0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Vn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,W0=M0+B0,v0=i1+1|0,O0=(v0|0)==(g0|0),O0){a=W0;break}else M0=W0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,P0=x0+1|0,V0=(P0|0)==7,V0)break;$=((t+40|0)+(P0<<4)|0)+4|0,h=e[$>>2]|0,g0=h,x0=P0}q0=J*7|0,J0=ce(q0,144)|0,F0=t+152|0,e[F0>>2]=J0,L0=e[Z0>>2]|0,G0=ce(L0,4)|0,K0=t+160|0,e[K0>>2]=G0}function rb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0;G=C,o=t+16|0,RC(o),a=t+48|0,v=e[a>>2]|0,E2(v),D=t+64|0,y=e[D>>2]|0,E2(y),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,R=e[L>>2]|0,E2(R),F=t+112|0,$=e[F>>2]|0,E2($),g=t+128|0,h=e[g>>2]|0,E2(h),m=t+144|0,I=e[m>>2]|0,E2(I),E=t+36|0,Q=e[E>>2]|0,E2(Q),B=t+152|0,S=e[B>>2]|0,E2(S),b=t+160|0,w=e[b>>2]|0,E2(w),g4(t|0,0,180)|0}function nb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0;if(X1=C,h=t+4|0,m=e[h>>2]|0,R=m+28|0,s0=e[R>>2]|0,Z=s0+2868|0,E0=t+104|0,q0=e[E0>>2]|0,V0=e[q0>>2]|0,A1=V0+168|0,v1=e[A1>>2]|0,I=V0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=V0+164|0,F=e[L>>2]|0,N=(M|0)>(F|0),N&&(e[L>>2]=M,G=V0+160|0,U=e[G>>2]|0,Y=M<<2,X=W7(U,Y)|0,e[G>>2]=X),K=(o|0)<(y|0),K)for(a0=V0+156|0,W=V0+160|0,r0=t+8|0,J=V0+40|0,o0=V0+152|0,x1=o;;){if(q=e[a0>>2]|0,d0=q+1|0,t0=(q|0)>23,$=t0?24:d0,e[a0>>2]=$,j=e[V0>>2]|0,u0=(j|0)>0,u0){for(G1=0,V1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,h0=n5(n0,x1)|0,p0=f0+(h0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=ab(V0,Z,p0,J,Q0)|0,y0=b0|V1,w0=G1+1|0,B0=e[V0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,V1=y0;else{g=y0;break}W0=x1+2|0,M0=e[W>>2]|0,v0=M0+(W0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(P0=M0+(x1<<2)|0,e[P0>>2]=1,k0=x1+1|0,J0=M0+(k0<<2)|0,e[J0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,K0=(x1|0)>0,K0&&(z0=x1+-1|0,H0=M0+(z0<<2)|0,e[H0>>2]=1)),Z0=g&4,O0=(Z0|0)==0,O0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[W>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(s1=x1+1|0,Z1=(s1|0)==(y|0),Z1)break;x1=s1}if(Y0=e[I>>2]|0,i1=n5(Y0,y)|0,e[A1>>2]=i1,x0=t+48|0,o1=e[x0>>2]|0,d1=t+40|0,g1=e[d1>>2]|0,m1=s0+(g1<<2)|0,h1=e[m1>>2]|0,u1=(h1|0)/4&-1,c1=u1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,j0=($1|0)/2&-1,E1=c1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=V0+176|0,w1=e[B1>>2]|0,k1=i1-Y0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=V0+160|0,z1=w1;;){if(R1=(z1|0)<(p1|0),!R1){a=1,Y1=22;break}if(e[B1>>2]=z1,F1=(z1|0)/(Y0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,Q=(z1|0)>(o1|0),H1=Q&E,b1=Y0+z1|0,H1){q1=z1,Y1=21;break}if(_1=(b1|0)<(k1|0),_1)z1=b1;else{a=-1,Y1=22;break}}return(Y1|0)==21?(B=V0+172|0,e[B>>2]=q1,a=0,a|0):(Y1|0)==22?a|0:0}function ob(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,h=e[g>>2]|0,y=e[h>>2]|0,K=t+4|0,u0=e[K>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,h0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=h0-Q|0,S=Q+h0|0,b=(m|0)==0,b?(U=e[f0>>2]|0,Y=(U|0)/4&-1,a=Y,$=Y):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,N=e[F>>2]|0,G=(N|0)/4&-1,a=G,$=M),C0=B-$|0,S0=S+a|0,X=y+172|0,a0=e[X>>2]|0,W=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=W&r0,b0)return o=1,o|0;if(s0=y+8|0,J=e[s0>>2]|0,o0=(C0|0)/(J|0)&-1,q=(S0|0)/(J|0)&-1,d0=(o0|0)<(q|0),!d0)return o=0,o|0;for(t0=y+160|0,j=e[t0>>2]|0,Q0=o0;;){if(l0=j+(Q0<<2)|0,Z=e[l0>>2]|0,m0=(Z|0)==0,c0=Q0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(q|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0;if(U=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,N=F+(L<<2)|0,g=M-L|0,h=g<<2,sA(F|0,N|0,h|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function ab(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0;if(m3=C,K=t+4|0,a0=e[K>>2]|0,c2=t+12|0,G2=+s[c2>>2],V2=a0<<2,x=V2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,d2=e[M5>>2]|0,F2=(d2|0)>5,G5=(d2|0)/2&-1,h=F2?G5:2,W=o+60|0,$0=+s[W>>2],Q0=G5+-2|0,N0=+(Q0|0),Z0=$0-N0,h1=Z0<0,E6=h1?0:Z0,B1=E6>$0,b3=B1?$0:E6,D1=(a0|0)>0,D1)for(o2=t+36|0,l2=e[o2>>2]|0,Y5=0;r2=a+(Y5<<2)|0,$2=+s[r2>>2],e2=l2+(Y5<<2)|0,s2=+s[e2>>2],m2=s2*$2,t2=b2+(Y5<<2)|0,s[t2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(a0|0),!Q3;)Y5=k2;D2=t+16|0,kQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,P2=b2+4|0,p2=+s[P2>>2],K2=p2,O2=K2*K2,J2=O2*.7,U2=J2+L2,H2=b2+8|0,W2=+s[H2>>2],A5=W2,N1=A5*A5,e5=N1*.2,T5=U2+e5,t5=T5,x5=g+140|0,Z2=e[x5>>2]|0,I5=(Z2|0)==0,I5?(b5=g+136|0,V5=+s[b5>>2],g5=V5+t5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=t5,N=B5,Y2=g5):(o5=g+132|0,R2=+s[o5>>2],M2=R2+t5,s[o5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],N5=Q5+t5,s[y2>>2]=N5,N=o5,Y2=M2),m5=(g+72|0)+(Z2<<2)|0,L5=+s[m5>>2],q5=Y2-L5,s[N>>2]=q5,s[m5>>2]=t5,p5=e[x5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[x5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=Y2*.0625,d5=(s[w2>>2]=D5,e[w2>>2]|0),l5=d5&2147483647,j2=+(l5>>>0),w5=j2*7177114298428933e-22,i5=w5+-764.6162109375,s5=i5,h5=s5*.5,z2=h5+-15,f5=z2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,P0=S5|1,q0=b2+(P0<<2)|0,k0=+s[q0>>2],J0=k0*k0,F0=J0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,K0=+(G0>>>0),z0=K0*35885571492144663e-23,H0=z0+-382.30810546875,O0=H0>1,Y0=b2+(s1<<2)|0,s[Y0>>2]=X,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;o1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=o1,T0=F,S5=i1}while(!1);if(r5=(h|0)>0,r5)l3=0,J3=0;else{for(n3=0,i6=0;;){if(d1=($+(n3<<4)|0)+4|0,g1=e[d1>>2]|0,m1=(g1|0)>0,m1)for(u1=$+(n3<<4)|0,A1=e[u1>>2]|0,c1=($+(n3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=a1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(g1|0),k1)c3=w1,Y3=v1;else{G3=w1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*G3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=b1P1,S=x1?P1:b1,z1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,V1=e[_1>>2]|0,Y1=V1+1|0,X1=(V1|0)>15,D=X1?0:Y1,e[_1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],u2=O1+b3,W1=q1>u2,I2=i6|5,j5=W1?I2:i6,a2=(o+32|0)+(n3<<2)|0,C2=+s[a2>>2],A2=C2-b3,K1=z1>2]|0,c5=(X2|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,U5=0;;)if(u0=c0+U5|0,l0=b2+(u0<<2)|0,Z=+s[l0>>2],m0=g0+(U5<<2)|0,f0=+s[m0>>2],n0=f0*Z,h0=n0+g3,p0=U5+1|0,C0=(p0|0)<(X2|0),C0)g3=h0,U5=p0;else{V3=h0;break}else V3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],h3=y0*V3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],W0=h3<_0,i3=W0?_0:h3,M0=h3>_0,b=M0?_0:h3,$6=0,U3=E,L3=-99999,D3=99999;;)if(s0=(U3|0)<1,w=s0?16:-1,v=w+U3|0,J=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[J>>2],q=L3o0,G=t0?o0:D3,j=$6+1|0,z5=(j|0)==(h|0),z5){L=d0,U=G;break}else $6=j,U3=v,L3=d0,D3=G;if(v5=b-U,J5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=h3,W5=e[r3>>2]|0,a3=W5+1|0,B3=(W5|0)>15,y=B3?0:a3,e[r3>>2]=y,Z5=(o+4|0)+(l3<<2)|0,x3=+s[Z5>>2],f3=x3+b3,w3=J5>f3,X3=J3|5,M3=w3?X3:J3,H3=(o+32|0)+(l3<<2)|0,X5=+s[H3>>2],_3=X5-b3,t3=v5<_3,s6=M3|2,z3=t3?s6:M3,r0=l3+1|0,H5=(r0|0)==7,H5){a6=z3;break}else l3=r0,J3=z3}return C=m3,a6|0}function rl(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,V8=0,W8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0;if(Ae=C,C=C+4912|0,J6=Ae+1328|0,be=Ae+1064|0,me=Ae+804|0,Pt=Ae+544|0,F4=Ae+284|0,t8=Ae+24|0,$8=Ae+20|0,Zt=Ae+16|0,Ot=Ae+12|0,qt=Ae+8|0,T4=Ae+4|0,st=Ae,a0=o+1296|0,W=e[a0>>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,O3=o+1284|0,y6=e[O3>>2]|0,v9=(y6|0)>0,v9){for(mt=0;n4=be+(mt<<2)|0,e[n4>>2]=-200,v4=mt+1|0,k4=(v4|0)==(y6|0),!k4;)mt=v4;if(v9){for(Z3=0;Be=me+(Z3<<2)|0,e[Be>>2]=-200,r0=Z3+1|0,Ie=(r0|0)==(y6|0),!Ie;)Z3=r0;if(v9){for(l0=y6<<2,g4(Pt|0,0,l0|0)|0,x9=0;b0=F4+(x9<<2)|0,e[b0>>2]=1,P0=x9+1|0,J4=(P0|0)==(y6|0),!J4;)x9=P0;if(v9){if(u1=y6<<2,g4(t8|0,-1,u1|0)|0,w1=(y6|0)>1,!w1)return A4=0,C=Ae,A4|0;for(P1=r6+-1|0,j1=W+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ke=F,b9=0,S4=0;;){Re=b9+1|0,Fe=o+(Re<<2)|0,Ue=e[Fe>>2]|0,He=J6+(b9*56|0)|0,O4=He,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[He>>2]=ke,Ve=(J6+(b9*56|0)|0)+4|0,e[Ve>>2]=Ue,z9=(Ue|0)<(r6|0),s8=z9?Ue:P1,Ye=(s8|0)<(ke|0),Ye)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,W8=0,Z8=0;else for(xe=ke,pt=0,z4=0,We=0,se=0,b4=0,gt=0,E3=0,T9=0,dt=0,D9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,Y=+s[he>>2],Pe=Y*7.314285755157471,Ce=Pe+1023.5,w4=~~Ce,Z9=(w4|0)>1023,k9=(w4|0)<0,m=k9?0:w4,S=Z9?1023:m,V4=(S|0)==0;do if(V4)zt=pt,at=z4,$t=We,Bt=se,W4=b4,De=gt,wt=E3,Wt=T9,je=dt,et=D9,c4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Je=+s[nt>>2],Y4=+s[j1>>2],ze=Y4+Je,o4=!(ze>=Y),o4){d4=xe+gt|0,oe=S+Nt|0,h4=n5(xe,xe)|0,f4=h4+se|0,Se=n5(S,S)|0,s0=Se+D9|0,J=n5(S,xe)|0,o0=J+T9|0,q=z4+1|0,zt=pt,at=q,$t=We,Bt=f4,W4=b4,De=d4,wt=E3,Wt=o0,je=dt,et=s0,c4=u8,Xt=oe;break}else{R4=xe+b4|0,ot=S+u8|0,ne=n5(xe,xe)|0,u4=ne+We|0,T6=n5(S,S)|0,Ke=T6+dt|0,O9=n5(S,xe)|0,fe=O9+E3|0,Te=pt+1|0,zt=Te,at=z4,$t=u4,Bt=se,W4=R4,De=gt,wt=fe,Wt=T9,je=Ke,et=D9,c4=ot,Xt=Nt;break}while(!1);if(d0=xe+1|0,t0=(xe|0)<(s8|0),t0)xe=d0,pt=zt,z4=at,We=$t,se=Bt,b4=W4,gt=De,E3=wt,T9=Wt,dt=je,D9=et,u8=c4,Nt=Xt;else{_t=zt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=De,a8=wt,j9=Wt,jt=je,Tt=et,W8=c4,Z8=Xt;break}}if(j=(J6+(b9*56|0)|0)+8|0,e[j>>2]=Qt,u0=(J6+(b9*56|0)|0)+12|0,e[u0>>2]=W8,c0=(J6+(b9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(J6+(b9*56|0)|0)+20|0,e[$0>>2]=jt,Z=(J6+(b9*56|0)|0)+24|0,e[Z>>2]=a8,m0=(J6+(b9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(J6+(b9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(J6+(b9*56|0)|0)+36|0,e[f0>>2]=Z8,n0=(J6+(b9*56|0)|0)+40|0,e[n0>>2]=Rt,h0=(J6+(b9*56|0)|0)+44|0,e[h0>>2]=Tt,p0=(J6+(b9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(J6+(b9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+S4|0,I6=(Re|0)==(i2|0),I6){E8=S0;break}else ke=Ue,b9=Re,S4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(O0=(y6|0)==0,!O0)return A4=0,C=Ae,A4|0;G2=J6+4|0,O4=J6,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[G2>>2]=r6,V2=(r6|0)<1,V2)Yt=0,r8=0,Kt=0,Ct=0,ct=0,ae=0,yt=0,$4=0,l8=0,c8=0,V8=0,Y8=0;else for(b2=W+1112|0,pe=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,Ze=0,l4=0,ut=0,X4=0,R8=0,ht=0;;){M5=$+(pe<<2)|0,U=+s[M5>>2],d2=U*7.314285755157471,F2=d2+1023.5,G5=~~F2,G3=(G5|0)>1023,U5=(G5|0)<0,h=U5?0:G5,B=G3?1023:h,J3=(B|0)==0;do if(J3)Jt=xt,G4=Et,U4=At,lt=m4,K4=p4,D4=E4,Z4=Ze,j4=l4,Ft=ut,g8=X4,F8=R8,T8=ht;else if(f6=a+(pe<<2)|0,W3=+s[f6>>2],A6=+s[b2>>2],g9=A6+W3,U6=!(g9>=U),U6){B9=pe+E4|0,Q9=B+ht|0,y9=n5(pe,pe)|0,h9=y9+m4|0,f9=n5(B,B)|0,V9=f9+X4|0,q6=n5(B,pe)|0,a9=q6+l4|0,Y9=Et+1|0,Jt=xt,G4=Y9,U4=At,lt=h9,K4=p4,D4=B9,Z4=Ze,j4=a9,Ft=ut,g8=V9,F8=R8,T8=Q9;break}else{Y6=pe+p4|0,F6=B+R8|0,t9=n5(pe,pe)|0,_6=t9+At|0,P6=n5(B,B)|0,O6=P6+ut|0,s9=n5(B,pe)|0,d9=s9+Ze|0,n9=xt+1|0,Jt=n9,G4=Et,U4=_6,lt=m4,K4=Y6,D4=E4,Z4=d9,j4=l4,Ft=O6,g8=X4,F8=F6,T8=ht;break}while(!1);if(w9=pe+1|0,S9=(w9|0)==(r6|0),S9){Yt=Jt,r8=G4,Kt=U4,Ct=lt,ct=K4,ae=D4,yt=Z4,$4=j4,l8=Ft,c8=g8,V8=F8,Y8=T8;break}else pe=w9,xt=Jt,Et=G4,At=U4,m4=lt,p4=K4,E4=D4,Ze=Z4,l4=j4,ut=Ft,X4=g8,R8=F8,ht=T8}we=J6+8|0,e[we>>2]=ct,ue=J6+12|0,e[ue>>2]=V8,Ee=J6+16|0,e[Ee>>2]=Kt,J9=J6+20|0,e[J9>>2]=l8,re=J6+24|0,e[re>>2]=yt,F9=J6+28|0,e[F9>>2]=Yt,K6=J6+32|0,e[K6>>2]=ae,A9=J6+36|0,e[A9>>2]=Y8,ve=J6+40|0,e[ve>>2]=Ct,Me=J6+44|0,e[Me>>2]=c8,de=J6+48|0,e[de>>2]=$4,_9=J6+52|0,e[_9>>2]=r8,E8=Yt}if(Q0=(E8|0)==0,Q0)return A4=0,C=Ae,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,xC(J6,E0,$8,Zt,W)|0,y0=e[$8>>2]|0,e[be>>2]=y0,e[me>>2]=y0,w0=e[Zt>>2]|0,B0=me+4|0,e[B0>>2]=w0,_0=be+4|0,e[_0>>2]=w0,W0=(y6|0)>2;do if(W0){M0=W+1112|0,v0=W+1096|0,T0=W+1100|0,N0=W+1104|0,qe=2;e:for(;;){q0=(o+520|0)+(qe<<2)|0,k0=e[q0>>2]|0,J0=Pt+(k0<<2)|0,F0=e[J0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,K0=t8+(F0<<2)|0,z0=e[K0>>2]|0,H0=(z0|0)==(G0|0);t:do if(!H0){if(Z0=(o+520|0)+(F0<<2)|0,V0=e[Z0>>2]|0,s1=(o+520|0)+(G0<<2)|0,Y0=e[s1>>2]|0,e[K0>>2]=G0,i1=(W+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,o1=(W+836|0)+(G0<<2)|0,d1=e[o1>>2]|0,g1=be+(F0<<2)|0,m1=e[g1>>2]|0,h1=(m1|0)<0,A1=me+(F0<<2)|0,c1=e[A1>>2]|0,h1?w=c1:(a1=(c1|0)<0,a1?w=m1:($1=c1+m1|0,j0=$1>>1,w=j0)),E1=be+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=me+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,b1=(y|0)==-1,L8=M1|b1,L8){C4=38;break e}_1=y-w|0,R1=d1-x0|0,N4=(_1|0)>-1,L9=0-_1|0,F1=N4?_1:L9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,Z1=D1|1,G1=$+(x0<<2)|0,K=+s[G1>>2],x1=K*7.314285755157471,z1=x1+1023.5,q1=~~z1,H1=(q1|0)>1023,V1=(q1|0)<0,I=V1?0:q1,b=H1?1023:I,Y1=n5(U1,R1)|0,f8=(Y1|0)>-1,p8=0-Y1|0,X1=f8?Y1:p8,o2=F1-X1|0,O1=w-b|0,u2=n5(O1,O1)|0,W1=a+(x0<<2)|0,I2=+s[W1>>2],a2=+s[M0>>2],C2=a2+I2,A2=!(C2>=K),A2?C4=42:(K1=+(w|0),h2=+s[v0>>2],l2=h2+K1,c2=+(b|0),r2=l2>2],e2=K1-$2,s2=e2>c2,s2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=x0+1|0,t2=(m2|0)<(d1|0),t2)for(p2=m2,s4=0,x8=u2,Vt=1,C8=w;;){if(k2=s4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Oe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,P2=$+(p2<<2)|0,X=+s[P2>>2],K2=X*7.314285755157471,O2=K2+1023.5,J2=~~O2,U2=(J2|0)>1023,H2=(J2|0)<0,E=H2?0:J2,D=U2?1023:E,W2=A8-D|0,A5=n5(W2,W2)|0,N1=A5+x8|0,e5=Vt+1|0,T5=a+(p2<<2)|0,t5=+s[T5>>2],x5=t5+a2,Z2=x5>=X,I5=(D|0)!=0,o8=Z2&I5,o8&&(b5=+(A8|0),V5=+s[v0>>2],g5=V5+b5,B5=+(D|0),o5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=p2+1|0,N5=(Q5|0)<(d1|0),N5)p2=Q5,s4=Oe,x8=N1,Vt=e5,C8=A8;else{i8=N1,Ht=e5;break}}else i8=u2,Ht=1;if(m5=+s[v0>>2],L5=m5*m5,q5=+(Ht|0),Y2=L5/q5,p5=+s[N0>>2],$5=Y2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),j2=l5>p5,j2)))break;g3=be+(qe<<2)|0,e[g3>>2]=-200,u3=me+(qe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=J6+(V0*56|0)|0,i5=k0-V0|0,s5=xC(w5,i5,Ot,qt,W)|0,h5=J6+(k0*56|0)|0,z2=Y0-k0|0,f5=xC(h5,z2,T4,st,W)|0,r5=(s5|0)!=0,r5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),X2=(f5|0)==0,!X2&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,r5)){v5=be+(qe<<2)|0,e[v5>>2]=-200,J5=me+(qe<<2)|0,e[J5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[be>>2]=i3),I3=e[qt>>2]|0,h3=be+(qe<<2)|0,e[h3>>2]=I3,W5=e[T4>>2]|0,r3=me+(qe<<2)|0,e[r3>>2]=W5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(_8=e8+-1|0,X3=F4+(_8<<2)|0,H3=e[X3>>2]|0,X5=(H3|0)==(G0|0),!X5)break i;if(e[X3>>2]=qe,_3=(e8|0)>1,_3)e8=_8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(y6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,V3=(s6|0)==(F0|0),!V3)break t;if(e[t3>>2]=qe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=qe+1|0,z5=(Q3|0)<(y6|0),z5)qe=Q3;else{C4=68;break}}if((C4|0)==38)bS(1);else if((C4|0)==68){N=e[be>>2]|0,G=e[me>>2]|0,S5=N,$6=G;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,Y5=K8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,U3=l3>>1,v=U3)),e[Y5>>2]=v,E6=e[_0>>2]|0,b3=(E6|0)<0,L3=e[B0>>2]|0,b3?M=L3:(D3=(L3|0)<0,D3?M=E6:(a6=L3+E6|0,i6=a6>>1,M=i6)),j5=Y5+4|0,e[j5>>2]=M,W0)a4=2;else return A4=Y5,C=Ae,A4|0;for(;;)if(M3=a4+-2|0,d3=(o+1032|0)+(M3<<2)|0,z3=e[d3>>2]|0,h6=(o+780|0)+(M3<<2)|0,m3=e[h6>>2]|0,x6=(W+836|0)+(z3<<2)|0,L6=e[x6>>2]|0,M6=(W+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=Y5+(z3<<2)|0,N6=e[b6>>2]|0,j6=Y5+(m3<<2)|0,v6=e[j6>>2]|0,R3=(W+836|0)+(a4<<2)|0,n6=e[R3>>2]|0,o6=N6&32767,C6=v6&32767,K3=C6-o6|0,F3=S6-L6|0,h8=(K3|0)>-1,Lt=0-K3|0,e6=h8?K3:Lt,R6=n6-L6|0,l6=n5(e6,R6)|0,o3=(l6|0)/(F3|0)&-1,z6=(K3|0)<0,A3=0-o3|0,L=z6?A3:o3,x=L+o6|0,c6=be+(a4<<2)|0,B6=e[c6>>2]|0,T3=(B6|0)<0,H6=me+(a4<<2)|0,D6=e[H6>>2]|0,T3?Q=D6:(G6=(D6|0)<0,G6?Q=B6:(e9=D6+B6|0,Q6=e9>>1,Q=Q6)),X6=(Q|0)<0,P3=(x|0)==(Q|0),M8=X6|P3,r9=x|32768,g=M8?r9:Q,V6=Y5+(a4<<2)|0,e[V6>>2]=g,o9=a4+1|0,I4=(o9|0)==(y6|0),I4){A4=Y5;break}else a4=o9;return C=Ae,A4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0;if(u0=C,h=o+1284|0,m=e[h>>2]|0,x=(a|0)!=0,X=($|0)!=0,d0=x&X,!d0)return t0=0,t0|0;if(K=m<<2,a0=K8(t,K)|0,W=(m|0)>0,!W)return t0=a0,t0|0;for(r0=65536-g|0,q=0;;)if(s0=a+(q<<2)|0,J=e[s0>>2]|0,I=J&32767,E=n5(I,r0)|0,Q=$+(q<<2)|0,B=e[Q>>2]|0,S=B&32767,b=n5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(q<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,N=F&32768,G=(N|0)==0,G||(U=D|32768,e[y>>2]=U)),Y=q+1|0,o0=(Y|0)==(m|0),o0){t0=a0;break}else q=Y;return t0|0}function Ab(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,d3=O6+32|0,P3=O6,D=a+1296|0,y=e[D>>2]|0,h2=a+1284|0,R2=e[h2>>2]|0,$5=o+64|0,s5=e[$5>>2]|0,i3=s5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return q2(t,0,1),T5=o+36|0,t5=e[T5>>2]|0,x5=(t5|0)/2&-1,Z2=x5<<2,g4(g|0,0,Z2|0)|0,m=0,C=O6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;H0=$+(C6<<2)|0,m1=e[H0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(W2=p1>>>4,Y6=W2):(U1|0)==1?(X1=p1>>>2,Y6=X1):(U1|0)==2?(l2=p1>>>3,Y6=l2):(U1|0)==3?(S2=(p1>>>0)/12&-1,Y6=S2):Y6=p1,I5=m1&32768,b5=I5|Y6,e[H0>>2]=b5,V5=C6+1|0,v6=(V5|0)==(R2|0),!v6;)C6=V5;if(g5=e[$>>2]|0,e[U6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(K3=2;;){if(Q5=K3+-2|0,N5=(a+1032|0)+(Q5<<2)|0,m5=e[N5>>2]|0,L5=(a+780|0)+(Q5<<2)|0,q5=e[L5>>2]|0,M5=(y+836|0)+(m5<<2)|0,Y2=e[M5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,d5=e[D5>>2]|0,l5=(y+836|0)+(K3<<2)|0,j2=e[l5>>2]|0,d2=T1&32767,w5=d5&32767,i5=w5-d2|0,h5=u5-Y2|0,W3=(i5|0)>-1,r9=0-i5|0,z2=W3?i5:r9,f5=j2-Y2|0,r5=n5(z2,f5)|0,R5=(r5|0)/(h5|0)&-1,X2=(i5|0)<0,c5=0-R5|0,E=X2?c5:R5,I=E+d2|0,F2=$+(K3<<2)|0,v5=e[F2>>2]|0,J5=v5&32768,E5=(J5|0)!=0,I3=(v5|0)==(I|0),g9=E5|I3,g9)h3=I|32768,e[F2>>2]=h3,W5=U6+(K3<<2)|0,e[W5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),h=B3?a3:I,G5=v5-I|0,Z5=(G5|0)<0;do if(Z5)if(x3=0-h|0,w3=(G5|0)<(x3|0),w3){X3=G5^-1,H3=h+X3|0,F6=H3;break}else{X5=G5<<1,_3=X5^-1,F6=_3;break}else if(t3=(h|0)>(G5|0),t3){G3=G5<<1,F6=G3;break}else{s6=h+G5|0,F6=s6;break}while(!1);V3=U6+(K3<<2)|0,e[V3>>2]=F6,e[y5>>2]=d2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=K3+1|0,j6=(Q3|0)==(R2|0),j6)break;K3=Q3}S=e[U6>>2]|0,b=e[o5>>2]|0,a6=S,M3=b}else a6=g5,M3=B5;if(q2(t,1,1),z5=a+1308|0,H5=e[z5>>2]|0,Y5=H5+1|0,e[z5>>2]=Y5,S5=e[y2>>2]|0,Y3=S5+-1|0,U5=H8(Y3)|0,$6=U5<<1,n3=a+1304|0,U3=e[n3>>2]|0,E6=U3+$6|0,e[n3>>2]=E6,b3=e[y2>>2]|0,L3=b3+-1|0,D3=H8(L3)|0,q2(t,a6,D3),i6=e[y2>>2]|0,J3=i6+-1|0,j5=H8(J3)|0,q2(t,M3,j5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,F3=0,l6=2;;){if(F=(y+4|0)+(F3<<2)|0,N=e[F>>2]|0,G=(y+128|0)+(N<<2)|0,U=e[G>>2]|0,Y=(y+192|0)+(N<<2)|0,X=e[Y>>2]|0,K=1<>2]=0,e[d3+4>>2]=0,e[d3+8>>2]=0,e[d3+12>>2]=0,e[d3+16>>2]=0,e[d3+20>>2]=0,e[d3+24>>2]=0,e[d3+28>>2]=0,W=(X|0)==0,!W){if(e[P3>>2]=0,e[P3+4>>2]=0,e[P3+8>>2]=0,e[P3+12>>2]=0,e[P3+16>>2]=0,e[P3+20>>2]=0,e[P3+24>>2]=0,e[P3+28>>2]=0,r0=(X|0)==31,!r0)for(A3=0;h0=((y+320|0)+(N<<5)|0)+(A3<<2)|0,p0=e[h0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=P3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(K|0),_0;)A3=B0;s0=(U|0)>0;e:do if(s0){if(r0)for(z3=0,x6=0,c6=0;;)if(W0=d3+(c6<<2)|0,M0=e[W0>>2]|0,v0=M0<>2]|0,H6=0;;){if(J=P3+(H6<<2)|0,o0=e[J>>2]|0,d0=(q|0)<(o0|0),d0){A6=H6,O3=31;break}if(t0=H6+1|0,j=(t0|0)<(K|0),j)H6=t0;else{O3=33;break}}if((O3|0)==31?(O3=0,u0=d3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(O3|0)==33&&(O3=0,Q=d3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(J0*56|0)|0,L0=Ou(F0,m3,t)|0,G0=e[R>>2]|0,K0=G0+L0|0,e[R>>2]=K0}if(z0=(U|0)>0,z0)for(T3=0;Z0=d3+(T3<<2)|0,O0=e[Z0>>2]|0,V0=((y+320|0)+(N<<5)|0)+(O0<<2)|0,s1=e[V0>>2]|0,Y0=(s1|0)>-1,Y0&&(i1=T3+l6|0,x0=U6+(i1<<2)|0,o1=e[x0>>2]|0,d1=(a0+(s1*56|0)|0)+4|0,g1=e[d1>>2]|0,h1=(o1|0)<(g1|0),h1&&(u1=a0+(s1*56|0)|0,A1=Ou(u1,o1,t)|0,c1=e[n3>>2]|0,a1=c1+A1|0,e[n3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(U|0),!b6;)T3=$1;if(j0=U+l6|0,E1=F3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)F3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=n5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[h2>>2]|0,D1=(F1|0)>1,D1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(z1=(a+260|0)+(o3<<2)|0,q1=e[z1>>2]|0,H1=$+(q1<<2)|0,V1=e[H1>>2]|0,Y1=V1&32767,o2=(Y1|0)==(V1|0),o2)if(j1=e[w1>>2]|0,O1=n5(j1,V1)|0,u2=(y+836|0)+(q1<<2)|0,W1=e[u2>>2]|0,I2=O1-Q6|0,a2=W1-D6|0,e6=(I2|0)>-1,V6=0-I2|0,C2=e6?I2:V6,A2=(I2|0)/(a2|0)&-1,K1=I2>>31,i2=K1|1,c2=n5(A2,a2)|0,R6=(c2|0)>-1,o9=0-c2|0,r2=R6?c2:o9,$2=C2-r2|0,e2=(R1|0)>(W1|0),t9=e2?W1:R1,s2=(t9|0)>(D6|0),s2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(t9|0),k2)for(p2=t2,M6=0,_6=Q6;;)if(D2=M6+$2|0,Q2=(D2|0)<(a2|0),G2=Q2?0:i2,L2=Q2?0:a2,S6=D2-L2|0,B=_6+A2|0,P6=B+G2|0,P2=g+(p2<<2)|0,e[P2>>2]=P6,K2=p2+1|0,f6=(K2|0)==(t9|0),f6){o6=W1,G6=W1,X6=O1;break}else p2=K2,M6=S6,_6=P6;else o6=W1,G6=W1,X6=O1;else o6=n6,G6=D6,X6=Q6;if(O2=o3+1|0,J2=e[h2>>2]|0,U2=(O2|0)<(J2|0),U2)n6=o6,o3=O2,D6=G6,Q6=X6;else{R3=o6,e9=X6;break}}else R3=0,e9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(R3|0)<(G1|0),x1)z6=R3;else return m=1,C=O6,m|0;for(;;)if(H2=g+(z6<<2)|0,e[H2>>2]=e9,A5=z6+1|0,V2=e[P1>>2]|0,N1=(V2|0)/2&-1,e5=(A5|0)<(N1|0),e5)z6=A5;else{m=1;break}return C=O6,m|0}function xC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,h1=+s[Z0>>2],i2=0,e2=0,m2=0,S2=0,P2=0,J2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,D1=e[B1>>2]|0,o2=(t+(e2*56|0)|0)+28|0,S=e[o2>>2]|0,N=S+D1|0,J=+(N|0),o0=J*h1,q=S+1|0,d0=+(q|0),t0=o0/d0,j=t0,u0=j+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,Z=+(l0|0),m0=(t+(e2*56|0)|0)+8|0,g0=e[m0>>2]|0,f0=+(g0|0),n0=f0*u0,h0=Z+S2,p0=h0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+J2,W0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),P0=(t+(e2*56|0)|0)+16|0,q0=e[P0>>2]|0,k0=+(q0|0),J0=k0*u0,F0=T0+m2,L0=F0+J0,G0=(t+(e2*56|0)|0)+48|0,K0=e[G0>>2]|0,z0=+(K0|0),H0=(t+(e2*56|0)|0)+24|0,O0=e[H0>>2]|0,V0=+(O0|0),s1=V0*u0,Y0=z0+P2,i1=Y0+s1,x0=+(D1|0),o1=+(S|0),d1=u0*o1,g1=x0+i2,m1=g1+d1,u1=e2+1|0,$2=(u1|0)==(o|0),$2){l2=m1,s2=L0,D2=p0,L2=i1,O2=W0;break}else i2=m1,e2=u1,m2=L0,S2=p0,P2=i1,J2=W0;else l2=0,s2=0,D2=0,L2=0,O2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(Q|0),$1=D2+a1,j0=+(A1|0),E1=j0+O2,I1=n5(Q,Q)|0,Q1=+(I1|0),p1=s2+Q1,w1=n5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=l2+1,c2=L1,t2=p1,Q2=$1,p2=k1,U2=E1):(c2=l2,t2=s2,Q2=D2,p2=L2,U2=O2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(Q0|0),R1=Q2+_1,F1=+(M1|0),U1=F1+U2,P1=n5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=n5(M1,Q0)|0,z1=+(x1|0),q1=z1+p2,H1=c2+1,r2=H1,k2=G1,G2=R1,K2=q1,H2=U1):(r2=c2,k2=t2,G2=Q2,K2=p2,H2=U2),V1=k2*r2,Y1=G2*G2,X1=V1-Y1,j1=X1>0,j1?(O1=H2*k2,u2=G2*K2,W1=O1-u2,I2=W1/X1,a2=K2*r2,C2=G2*H2,A2=a2-C2,K1=A2/X1,h2=+(Q|0),b=K1*h2,v=b+I2,w=+K7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+I2,L=+K7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,G=(F|0)>1023,G?(e[a>>2]=1023,m=e[$>>2]|0,U=m,r0=1023):(U=R,r0=F),Y=(U|0)>1023,Y?(e[$>>2]=1023,I=e[a>>2]|0,X=I,s0=1023):(X=r0,s0=U),K=(X|0)<0,K?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,W=(a0|0)<0,W?(e[$>>2]=0,h=0,h|0):(h=0,h|0)):(e[a>>2]=0,e[$>>2]=0,h=1,h|0)}function $b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,W=e[t>>2]|0,q2(o,W,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,K0=0,Y0=-1;;)if(B=N0+(K0<<2)|0,S=e[B>>2]|0,q2(o,S,4),b=e[B>>2]|0,v=(Y0|0)<(b|0),a=v?b:Y0,w=K0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)K0=w,Y0=a;else{$=a;break}if(q0=($|0)>-1,q0)for(k0=t+128|0,J0=t+192|0,E=t+256|0,Q=t+320|0,z0=0;;){if(x=k0+(z0<<2)|0,L=e[x>>2]|0,R=L+-1|0,q2(o,R,3),F=J0+(z0<<2)|0,N=e[F>>2]|0,q2(o,N,2),G=e[F>>2]|0,U=(G|0)==0,U?(Z0=0,i1=8):(Y=E+(z0<<2)|0,X=e[Y>>2]|0,q2(o,X,8),g=e[F>>2]|0,K=(g|0)==31,K||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(z0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,q2(o,s0,8),J=Z0+1|0,o0=e[F>>2]|0,q=1<>2]|0,c0=u0+-1|0,q2(o,c0,2),l0=M+-1|0,Z=H8(l0)|0,q2(o,Z,4),m0=H8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,h0=t+128|0,P0=g0,F0=0,H0=0,O0=0;;){if(p0=n0+(H0<<2)|0,C0=e[p0>>2]|0,S0=h0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(O0|0)<(E0|0),y0){for(s1=O0;w0=s1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,q2(o,_0,m0),W0=s1+1|0,L0=(W0|0)==(E0|0),!L0;)s1=W0;h=e[t>>2]|0,T0=h,V0=E0}else T0=P0,V0=O0;if(M0=H0+1|0,v0=(M0|0)<(T0|0),v0)P0=T0,F0=E0,H0=M0,O0=V0;else break}}function lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,K=ce(1,1120)|0,u0=r4(o,5)|0,e[K>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=K+4|0,Z1=0,o2=-1;;){if(L=r4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(N=(o2|0)<(L|0),g=N?L:o2,G=Z1+1|0,U=e[K>>2]|0,Y=(G|0)<(U|0),Y)Z1=G,o2=g;else{h=g;break}}if(z0=(h|0)>-1,z0)for(g1=K+128|0,Q1=K+192|0,F1=K+256|0,x=y+24|0,M=K+320|0,G1=0;;){if(X=r4(o,3)|0,a0=X+1|0,W=g1+(G1<<2)|0,e[W>>2]=a0,r0=r4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,J=(r0|0)<0,J||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,t0=I):(q=r4(o,8)|0,d0=F1+(G1<<2)|0,e[d0>>2]=q,t0=q),j=(t0|0)<0,j)||(c0=e[x>>2]|0,$0=(t0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,Z=(l0|0)==31,!Z)for(H1=0;;){if(h0=r4(o,8)|0,p0=h0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(h0|0)<0,Q0||(b0=e[x>>2]|0,E0=(h0|0)>(b0|0),f0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=_0,M0=r4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[K>>2]|0,P0=(N0|0)>0,P0)for(q0=K+4|0,k0=K+128|0,J0=K+836|0,F0=1<>2]|0,K0=k0+(G0<<2)|0,H0=e[K0>>2]|0,Z0=H0+P1|0,O0=(Z0|0)>63,O0)break e;if(V0=(V1|0)<(Z0|0),V0){for(X1=V1;;){if(s1=r4(o,M0)|0,Y0=X1+2|0,i1=J0+(Y0<<2)|0,e[i1>>2]=s1,x0=(s1|0)>-1,o1=(s1|0)<(F0|0),j1=x0&o1,!j1)break e;if(d1=X1+1|0,m1=(d1|0)<(Z0|0),m1)X1=d1;else{$=d1;break}}B=e[K>>2]|0,A1=B,Y1=$}else A1=U1,Y1=V1;if(h1=x1+1|0,u1=(h1|0)<(A1|0),u1)U1=A1,P1=Z0,x1=h1,V1=Y1;else{E=J0,Q=F0,D1=Z0;break}}else v=K+836|0,w=1<>2]=0,c1=K+840|0,e[c1>>2]=Q,a1=D1+2|0,$1=(D1|0)>-2,$1)for(z1=0;j0=E+(z1<<2)|0,E1=O1+(z1<<2)|0,e[E1>>2]=j0,I1=z1+1|0,p1=(I1|0)<(a1|0),p1;)z1=I1;Hu(O1,a1,4,8),B1=(a1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,b1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),w1=q1+1|0,!_1;)if(v1=(w1|0)<(a1|0),v1)b1=M1,q1=w1;else break t;if(R1=(K|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=K,C=W1,a|0}while(!1);return E2(K),a=0,C=W1,a|0}function cb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=ce(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,X=o+840|0,j=e[X>>2]|0,p0=$+1288|0,e[p0>>2]=j,M0=e[o>>2]|0,K0=(M0|0)>0,K0){for(Y0=o+4|0,h=o+128|0,h1=0,k1=0;;)if(m=Y0+(h1<<2)|0,I=e[m>>2]|0,E=h+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=h1+1|0,b=(S|0)<(M0|0),b)h1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,_1=7):(Hu(b1,v,4,8),w1=a)}else s1=$+1284|0,e[s1>>2]=2,F=2,v1=0,_1=7;if((_1|0)==7){for(u1=0;x=D+(u1<<2)|0,M=b1+(u1<<2)|0,e[M>>2]=x,L=u1+1|0,R=(L|0)<(F|0),R;)u1=L;for(Hu(b1,F,4,8),N=D,G=$+260|0,A1=0;K=b1+(A1<<2)|0,a0=e[K>>2]|0,W=a0,r0=W-N|0,s0=r0>>2,J=G+(A1<<2)|0,e[J>>2]=s0,o0=A1+1|0,q=(o0|0)<(F|0),q;)A1=o0;for(U=$+260|0,Y=$+520|0,c1=0;t0=U+(c1<<2)|0,u0=e[t0>>2]|0,c0=Y+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(F|0),l0;)c1=$0;for(d0=$+260|0,a1=0;;)if(Z=d0+(a1<<2)|0,m0=e[Z>>2]|0,g0=D+(m0<<2)|0,f0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=f0,h0=a1+1|0,C0=(h0|0)<(F|0),C0)a1=h0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,W0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,P0=e[p0>>2]|0,x0=1,g1=P0,j0=0,E1=0,p1=0;;)if(q0=D+(j0<<2)|0,k0=e[q0>>2]|0,J0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=J0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(g1|0),G0=(k0|0)>(N0|0),M1=L0&G0,o1=M1?j0:x0,m1=M1?k0:g1,z0=j0+1|0,H0=(z0|0)<(v0|0),H0)x0=o1,g1=m1,j0=z0,E1=I1,p1=B1;else{d1=o1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,O0=W0+($1<<2)|0,e[O0>>2]=d1,V0=$1+1|0,i1=(V0|0)==(w1|0),i1)break;$1=V0}return C=R1,$|0}function gb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function ub(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function db(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,h=o+1296|0,m=e[h>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,P0=b0+4|0,O0=e[P0>>2]|0,u1=O0+28|0,w1=e[u1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=r4(I,1)|0,W=(M|0)==1,!W)return a=0,a|0;q=o+1284|0,d0=e[q>>2]|0,t0=d0<<2,j=K8(t,t0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,Z=H8($0)|0,m0=r4(I,Z)|0,e[j>>2]=m0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=H8(f0)|0,h0=r4(I,n0)|0,p0=j+4|0,e[p0>>2]=h0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,s2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,W0=(m+128|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(J0*56|0)|0,L0=$E(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(K0=(M0|0)>0,K0)for(z0=N0+-1|0,c2=i2,m2=0;;){if(H0=c2&z0,Z0=((m+320|0)+(_0<<5)|0)+(H0<<2)|0,V0=e[Z0>>2]|0,s1=c2>>T0,Y0=(V0|0)>-1,Y0){if(i1=j1+(V0*56|0)|0,x0=$E(i1,I)|0,o1=m2+s2|0,d1=j+(o1<<2)|0,e[d1>>2]=x0,g1=(x0|0)==-1,g1){a=0,D2=25;break t}}else m1=m2+s2|0,h1=j+(m1<<2)|0,e[h1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(M0|0),c1)c2=s1,m2=A1;else break}if(a1=M0+s2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,s2=a1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[q>>2]|0,E0=(Q0|0)>2,!E0)return a=j,a|0;for(y0=o+1032|0,w0=o+780|0,$2=2;;){if(I1=$2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=j+(p1<<2)|0,R1=e[_1>>2]|0,F1=j+(L1<<2)|0,U1=e[F1>>2]|0,D1=(m+836|0)+($2<<2)|0,Z1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,z1=x1-G1|0,q1=b1-v1|0,e2=(z1|0)>-1,t2=0-z1|0,H1=e2?z1:t2,V1=Z1-v1|0,Y1=n5(H1,V1)|0,X1=(Y1|0)/(q1|0)&-1,o2=(z1|0)<0,O1=0-X1|0,g=o2?O1:X1,$=g+G1|0,u2=e[u0>>2]|0,W1=u2-$|0,I2=j+($2<<2)|0,a2=e[I2>>2]|0,C2=(a2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{A2=(W1|0)<($|0),K1=A2?W1:$,h2=K1<<1,l2=(a2|0)<(h2|0);do if(l2)if(b=a2&1,v=(b|0)==0,v){x=a2>>1,k2=x;break}else{w=a2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=a2-$|0,k2=Q;break}else{B=a2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[I2>>2]=R,F=e[Q1>>2]|0,N=j+(F<<2)|0,G=e[N>>2]|0,U=G&32767,e[N>>2]=U,Y=e[k1>>2]|0,X=j+(Y<<2)|0,K=e[X>>2]|0,a0=K&32767,e[X>>2]=a0}if(s0=$2+1|0,J=e[q>>2]|0,o0=(s0|0)<(J|0),o0)$2=s0;else{a=j;break}}return a|0}function hb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,W=e[M>>2]|0,$0=W+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,g1=t+28|0,m1=e[g1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return d1=B<<2,g4($|0,0,d1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=n5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,N=e[F>>2]|0,G=(N|0)>1,G)for(U=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=U+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,J=e[s0>>2]|0,o0=J&32767,q=(o0|0)==(J|0),q)if(d0=(I+836|0)+(r0<<2)|0,t0=e[d0>>2]|0,j=n5(w,J)|0,u0=(j|0)<0,c0=(j|0)>255,l0=c0?255:j,Z=u0?0:l0,m0=Z-k1|0,g0=t0-B1|0,E1=(m0|0)>-1,M1=0-m0|0,f0=E1?m0:M1,n0=(m0|0)/(g0|0)&-1,h0=m0>>31,p0=h0|1,C0=n5(n0,g0)|0,I1=(C0|0)>-1,b1=0-C0|0,S0=I1?C0:b1,b0=f0-S0|0,E0=(B|0)>(t0|0),_1=E0?t0:B,y0=(_1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,W0=+s[_0>>2],M0=W0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(_1|0),T0)for(K0=v0,h1=0,R1=k1;;)if(P0=h1+b0|0,q0=(P0|0)<(g0|0),k0=q0?0:p0,J0=q0?0:g0,u1=P0-J0|0,h=R1+n0|0,F1=h+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(K0<<2)|0,z0=+s[G0>>2],H0=z0*L0,s[G0>>2]=H0,O0=K0+1|0,c1=(O0|0)==(_1|0),c1){j0=t0,w1=t0,L1=Z;break}else K0=O0,h1=u1,R1=F1;else j0=t0,w1=t0,L1=Z;else j0=$1,w1=B1,L1=k1;if(V0=Q1+1|0,s1=(V0|0)<(N|0),s1)$1=j0,Q1=V0,B1=w1,k1=L1;else{a1=j0,v1=L1;break}}else a1=0,v1=R;if(Y=(a1|0)<(B|0),!Y)return g=1,g|0;for(X=1768+(v1<<2)|0,K=+s[X>>2],p1=a1;;)if(Y0=$+(p1<<2)|0,i1=+s[Y0>>2],x0=i1*K,s[Y0>>2]=x0,o1=p1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else p1=o1;return g|0}function fb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$-h|0,m|0}function Ib(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function mb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0;u0=C,g=ol(o|0)|0,h=ol(a|0)|0,y=g+2|0,K=y+h|0,$=K,W=C,C=C+((1*$|0)+15&-16)|0,TC(W|0,o|0)|0,t0=ol(W|0)|0,d0=W+t0|0,f[d0>>0]=61,f[d0+1>>0]=0,YQ(W|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,J=e[s0>>2]|0,o0=J<<2,q=o0+8|0,m=W7(r0,q)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=W7(E,S)|0,e[I>>2]=b,v=ol(W|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=R9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,N=F+(w<<2)|0,G=e[N>>2]|0,TC(G|0,W|0)|0,U=e[s0>>2]|0,Y=U+1|0,e[s0>>2]=Y,X=e[t>>2]|0,a0=X+(Y<<2)|0,e[a0>>2]=0,C=u0}function pb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0;if(K=C,g=(t|0)==0,!g){if(h=e[t>>2]|0,y=(h|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,N=h,Y=0;F=N+(Y<<2)|0,G=e[F>>2]|0,U=(G|0)==0,U?E=x:(E2(G),a=e[M>>2]|0,E=a),m=Y+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,N=o,Y=m;$=e[t>>2]|0,Q=$}else Q=h;E2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||E2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function Eb(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=ce(1,3664)|0,a=t+28|0,e[a>>2]=o}function LC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,h=t+28|0,m=e[h>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(h1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?S=h1:(E2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)h1=S,$1=Q;if(T0=m+12|0,H0=e[T0>>2]|0,m1=(H0|0)>0,m1)for(u1=H0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?K=u1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,N=e[F>>2]|0,G=N+8|0,U=e[G>>2]|0,as[U&7](y),a=e[T0>>2]|0,K=a),Y=j0+1|0,X=(Y|0)<(K|0),X;)u1=K,j0=Y;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;J=(m+1056|0)+(E1<<2)|0,o0=e[J>>2]|0,q=(o0|0)==0,q?g0=A1:(d0=(m+800|0)+(E1<<2)|0,t0=e[d0>>2]|0,j=25640+(t0<<2)|0,u0=e[j>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[b>>2]|0,g0=$),Z=E1+1|0,m0=(Z|0)<(g0|0),m0;)A1=g0,E1=Z;if(W=m+20|0,r0=e[W>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=c1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,W0=e[_0>>2]|0,as[W0&7](Q0),g=e[W>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)c1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,h0=(n0|0)>0,p0=m+2848|0,h0)for(Q1=0;P0=(m+1824|0)+(Q1<<2)|0,q0=e[P0>>2]|0,k0=(q0|0)==0,k0||FC(q0),J0=e[p0>>2]|0,F0=(J0|0)==0,F0||(L0=J0+(Q1*56|0)|0,jb(L0)),G0=Q1+1|0,K0=e[f0>>2]|0,z0=(G0|0)<(K0|0),z0;)Q1=G0;if(Z0=e[p0>>2]|0,O0=(Z0|0)==0,O0||E2(Z0),V0=m+28|0,s1=e[V0>>2]|0,Y0=(s1|0)>0,Y0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,_b(x0),o1=p1+1|0,d1=e[V0>>2]|0,g1=(o1|0)<(d1|0),g1;)p1=o1;E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function Cb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0;if(j2=C,C=C+32|0,T1=j2,E=t+4|0,Q=e[E>>2]|0,c1=t+104|0,k1=e[c1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,h=-129,C=j2,h|0;if(u2=Q+4|0,r2=e[u2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(SC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,J=(F|0)<64,J)D5=-130,l5=27;else if(m0=B5+4|0,y0=e[m0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{q2(T1,1,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),q2(T1,0,32),s1=e[u2>>2]|0,q2(T1,s1,8),h1=Q+8|0,u1=e[h1>>2]|0,q2(T1,u1,32),A1=Q+12|0,a1=e[A1>>2]|0,q2(T1,a1,32),$1=Q+16|0,j0=e[$1>>2]|0,q2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,q2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=H8(p1)|0,q2(T1,B1,4),w1=e[m0>>2]|0,v1=w1+-1|0,L1=H8(v1)|0,q2(T1,L1,4),q2(T1,1,1),M1=k1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=D8(T1)|0,F1=R9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=D8(T1)|0,ge(F1|0,D1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=D8(T1)|0,z1=a+4|0,e[z1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),Bb(T1,o),V1=k1+68|0,Y1=e[V1>>2]|0,X1=(Y1|0)==0,X1||E2(Y1),o2=D8(T1)|0,j1=R9(o2)|0,e[V1>>2]=j1,O1=e[U1>>2]|0,W1=D8(T1)|0,ge(j1|0,O1|0,W1|0)|0,I2=e[V1>>2]|0,e[$>>2]=I2,a2=D8(T1)|0,C2=$+4|0,e[C2>>2]=a2,A2=$+8|0,K1=$+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,h2=K1,l2=h2,e[l2>>2]=1,i2=h2+4|0,c2=i2,e[c2>>2]=0,mi(T1),$2=e[N1>>2]|0,e2=($2|0)==0;e:do if(!e2){if(q2(T1,5,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),s2=$2+24|0,m2=e[s2>>2]|0,t2=m2+-1|0,q2(T1,t2,8),k2=e[s2>>2]|0,D2=(k2|0)>0,D2)for(Y2=0;;){if(P2=($2+1824|0)+(Y2<<2)|0,p2=e[P2>>2]|0,K2=jS(p2,T1)|0,O2=(K2|0)==0,Q2=Y2+1|0,!O2)break e;if(S2=e[s2>>2]|0,G2=(Q2|0)<(S2|0),G2)Y2=Q2;else break}if(q2(T1,0,6),q2(T1,0,16),J2=$2+16|0,U2=e[J2>>2]|0,H2=U2+-1|0,q2(T1,H2,6),W2=e[J2>>2]|0,A5=(W2|0)>0,A5)for(p5=0;;){if(V2=($2+800|0)+(p5<<2)|0,e5=e[V2>>2]|0,q2(T1,e5,16),T5=e[V2>>2]|0,t5=25640+(T5<<2)|0,x5=e[t5>>2]|0,Z2=e[x5>>2]|0,I5=(Z2|0)==0,I5)break e;if(b5=($2+1056|0)+(p5<<2)|0,V5=e[b5>>2]|0,PC[Z2&3](V5,T1),g5=p5+1|0,b2=e[J2>>2]|0,o5=(g5|0)<(b2|0),o5)p5=g5;else break}if(R2=$2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,q2(T1,y2,6),Q5=e[R2>>2]|0,N5=(Q5|0)>0,N5)for($5=0;m5=($2+1312|0)+($5<<2)|0,L5=e[m5>>2]|0,q2(T1,L5,16),q5=e[m5>>2]|0,M5=25648+(q5<<2)|0,S=e[M5>>2]|0,b=e[S>>2]|0,v=($2+1568|0)+($5<<2)|0,w=e[v>>2]|0,PC[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=$2+12|0,L=e[M>>2]|0,R=L+-1|0,q2(T1,R,6),N=e[M>>2]|0,G=(N|0)>0,G)for(u5=0;U=($2+288|0)+(u5<<2)|0,Y=e[U>>2]|0,q2(T1,Y,16),X=e[U>>2]|0,K=25664+(X<<2)|0,a0=e[K>>2]|0,W=e[a0>>2]|0,r0=($2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,jQ[W&1](Q,s0,T1),o0=u5+1|0,q=e[M>>2]|0,d0=(o0|0)<(q|0),d0;)u5=o0;if(t0=$2+8|0,j=e[t0>>2]|0,u0=j+-1|0,q2(T1,u0,6),c0=e[t0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=($2+32|0)+(y5<<2)|0,Z=e[l0>>2]|0,g0=e[Z>>2]|0,q2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,h0=e[n0>>2]|0,q2(T1,h0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,q2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,q2(T1,E0,8),w0=y5+1|0,B0=e[t0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return q2(T1,1,1),W0=k1+72|0,M0=e[W0>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=D8(T1)|0,N0=R9(T0)|0,e[W0>>2]=N0,P0=e[U1>>2]|0,q0=D8(T1)|0,ge(N0|0,P0|0,q0|0)|0,J0=e[W0>>2]|0,e[g>>2]=J0,F0=D8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,K0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,z0=K0,H0=z0,e[H0>>2]=2,Z0=z0+4|0,O0=Z0,e[O0>>2]=0,bC(T1),h=0,C=j2,h|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,d5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,d5=D5),bC(T1),V0=e[I>>2]|0,Y0=(V0|0)==0,Y0||E2(V0),i1=k1+68|0,x0=e[i1>>2]|0,o1=(x0|0)==0,o1||E2(x0),d1=k1+72|0,g1=e[d1>>2]|0,m1=(g1|0)==0,m1||E2(g1),e[I>>2]=0,e[i1>>2]=0,e[d1>>2]=0,h=d5,C=j2,h|0}function Bb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0;for($0=C,q2(t,3,8),q2(t,118,8),q2(t,111,8),q2(t,114,8),q2(t,98,8),q2(t,105,8),q2(t,115,8),q2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,W=M<<24>>24,q2(t,W,8),J=(m|0)==0,!J;)a=I,g=m;if(o0=o+8|0,q=e[o0>>2]|0,q2(t,q,32),d0=e[o0>>2]|0,t0=(d0|0)>0,!t0){q2(t,1,1);return}for(j=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)q2(t,0,32);else if(b=e[j>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,q2(t,w,32),D=e[j>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,N=e[F>>2]|0,$=N,h=x;G=h+-1|0,U=$+1|0,Y=f[$>>0]|0,X=Y<<24>>24,q2(t,X,8),K=(G|0)==0,!K;)$=U,h=G;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}q2(t,1,1)}function wQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0;if(Y1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,h=s0,Z=C,C=C+((1*h|0)+15&-16)|0,E0=(E|0)==0,E0)G=0;else{for(q0=$;;){if(V0=(q0|0)<(a|0),V0)for(Q1=0,R1=q0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-q0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(q0<<3)|0,l1[M>>3]=I1,L=q0+-1|0,F=(q0|0)==0,F)break;q0=L}I=+l1[R>>3],G=I}if(N=G*1.0000000001,U=G*1e-9,Y=U+1e-10,X=($|0)>0,X)B1=N,F1=0;else return k1=N,j0=k1,C=Y1,+j0;for(;;){if(D1=F1+1|0,K=B1>3],q=-o0,d0=(F1|0)>0,d0){for(P1=0,q1=q;;)if(u0=Z+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,f0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=f0;break}else P1=n0,q1=f0;if(h0=m/B1,p0=Z+(F1<<3)|0,l1[p0>>3]=h0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=Z+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=Z+(B0<<3)|0,W0=+l1[_0>>3],M0=W0*h0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*h0,N0=+l1[_0>>3],P0=N0+T0,l1[_0>>3]=P0,k0=G1+1|0,J0=(k0|0)<(C0|0),J0;)G1=k0;H1=b0?C0:1,H0=h0,Z1=H1}else H0=h0,Z1=0}else t0=q/B1,j=Z+(F1<<3)|0,l1[j>>3]=t0,H0=t0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=Z+(Z1<<3)|0,K0=+l1[G0>>3],z0=K0*H0,Z0=z0+K0,l1[G0>>3]=Z0),O0=H0*H0,s1=1-O0,Y0=s1*B1,i1=(D1|0)<($|0),i1)B1=Y0,F1=D1;else{v1=Y0;break}}if((V1|0)==8&&(a0=Z+(U1<<3)|0,W=$-U1|0,r0=W<<3,g4(a0|0,0,r0|0)|0,v1=w1),X)p1=.99,x1=0;else return k1=v1,j0=k1,C=Y1,+j0;for(;x0=Z+(x1<<3)|0,o1=+l1[x0>>3],d1=o1*p1,l1[x0>>3]=d1,g1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=g1,x1=m1;if(X)z1=0;else return k1=v1,j0=k1,C=Y1,+j0;for(;;)if(h1=Z+(z1<<3)|0,u1=+l1[h1>>3],c1=u1,a1=o+(z1<<2)|0,s[a1>>2]=c1,$1=z1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else z1=$1;return j0=k1,C=Y1,+j0}function vQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0;if(j=C,I=g+a|0,E=I<<2,h=E,L=C,C=C+((1*h|0)+15&-16)|0,F=(o|0)==0,N=(a|0)>0,F?N&&(U=a<<2,g4(L|0,0,U|0)|0):N&&(G=a<<2,ge(L|0,o|0,G|0)|0),Y=(g|0)>0,!Y){C=j;return}if(X=(a|0)>0,X)r0=0,s0=a;else{K=g<<2,g4(L|0,0,K|0)|0,g4($|0,0,K|0)|0,C=j;return}for(;;){for(o0=r0,q=a,d0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=q+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=d0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,q=D,d0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,J=s0+1|0,W=(S|0)==(g|0),W)break;r0=S,s0=J}C=j}function Qb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,h=(g|0)>1,h?(q2(a,1,1),y=e[o>>2]|0,K=y+-1|0,q2(a,K,4)):q2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(q2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,q2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=H8(v)|0,q2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=H8(L)|0,q2(a,x,R),F=E0+1|0,N=e[u0>>2]|0,G=(F|0)<(N|0),G;)E0=F}else q2(a,0,1);if(q2(a,0,2),U=e[o>>2]|0,Y=(U|0)>1,Y){if(X=t+4|0,a0=e[X>>2]|0,W=(a0|0)>0,W){for(r0=o+4|0,y0=0;d0=r0+(y0<<2)|0,t0=e[d0>>2]|0,q2(a,t0,4),j=y0+1|0,c0=e[X>>2]|0,$0=(j|0)<(c0|0),$0;)y0=j;$=e[o>>2]|0,s0=$,B0=13}}else s0=U,B0=13;if(!((B0|0)==13&&(J=(s0|0)>0,!J)))for(o0=o+1028|0,q=o+1092|0,w0=0;q2(a,0,8),l0=o0+(w0<<2)|0,Z=e[l0>>2]|0,q2(a,Z,8),m0=q+(w0<<2)|0,g0=e[m0>>2]|0,q2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,h0=(f0|0)<(n0|0),h0;)w0=f0}function yb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0;a1=C,g=ce(1,3208)|0,h=t+28|0,y=e[h>>2]|0,g4(g|0,0,3208)|0,K=t+4|0,u0=e[K>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=r4(o,1)|0,z0=(v0|0)<0,z0)c1=24;else{if(Y0=(v0|0)==0,Y0)e[g>>2]=1;else if(i1=r4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=r4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=r4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[K>>2]|0,N=$,x0=0;;){if(F=N+-1|0,G=H8(F)|0,U=r4(o,G)|0,Y=D+(x0<<2)|0,e[Y>>2]=U,X=e[K>>2]|0,a0=X+-1|0,W=H8(a0)|0,r0=r4(o,W)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,J=r0|U,o0=(J|0)<0,q=(U|0)==(r0|0),g1=q|o0,g1||(d0=e[K>>2]|0,t0=(U|0)<(d0|0),j=(r0|0)<(d0|0),m1=t0&j,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)N=d0,x0=L;else break}}if(c0=r4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,Z=(l0|0)>1,Z){if(m0=e[K>>2]|0,g0=(m0|0)>0,g0)for(f0=g+4|0,o1=0;;){if(B0=r4(o,4)|0,_0=f0+(o1<<2)|0,e[_0>>2]=B0,W0=e[g>>2]|0,M0=(B0|0)>=(W0|0),T0=(B0|0)<0,h1=T0|M0,y0=o1+1|0,h1)break e;if(E0=e[K>>2]|0,w0=(y0|0)<(E0|0),w0)o1=y0;else{n0=W0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(h0=(n0|0)>0,!h0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,d1=0;;){if(r4(o,8)|0,k0=r4(o,8)|0,J0=p0+(d1<<2)|0,e[J0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,u1=G0|L0,u1||(K0=r4(o,8)|0,H0=Q0+(d1<<2)|0,e[H0>>2]=K0,Z0=e[b0>>2]|0,O0=(K0|0)>=(Z0|0),V0=(K0|0)<0,A1=V0|O0,P0=d1+1|0,A1))break e;if(N0=e[g>>2]|0,q0=(P0|0)<(N0|0),q0)d1=P0;else{a=g;break}}return a|0}}}while(!1);return(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function wb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function vb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,V8=0,W8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0,As=0,Jn=0,$s=0,zn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,ds=0,hs=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,or=0,Ns=0,lo=0,dn=0,co=0,hn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,sr=0,Dr=0,Z7=0,_r=0,mo=0,j7=0,b7=0,D7=0,i7=0,_7=0,xr=0,ar=0,Ar=0,Lr=0,E7=0,Os=0,fi=0,al=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,J3=e[i2>>2]|0,Te=J3+28|0,je=e[Te>>2]|0,Bs=M+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,dn=e[Ms>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=J3+4|0,b0=e[l0>>2]|0,P0=b0<<2,$=P0,O0=C,C=C+((1*$|0)+15&-16)|0,u1=K8(t,P0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=K8(t,P1)|0,c2=e[l0>>2]|0,G2=c2<<2,V2=K8(t,G2)|0,b2=dn+4|0,M5=+s[b2>>2],d2=e[l0>>2]|0,F2=d2<<2,g=F2,G5=C,C=C+((1*g|0)+15&-16)|0,G3=dn+8|0,U5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,W3=(je+544|0)+(f6<<2)|0,A6=e[W3>>2]|0,U6=m7+56|0,B9=e[U6>>2]|0,we=(f6|0)!=0,de=we?2:0,D=de+U5|0,he=B9+(D*52|0)|0,ze=t+40|0,e[ze>>2]=f6,d4=(d2|0)>0,d4)for(Ie=+(r0|0),Z3=4/Ie,m8=(s[w2>>2]=Z3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),De=ct*7177114298428933e-22,j4=De+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,z8=$i+-764.6162109375,nn=r0+-1|0,us=(nn|0)>1,eo=$i+-382.30810546875,_r=M5,j7=0;;){if(Qs=e[t>>2]|0,ln=Qs+(j7<<2)|0,I7=e[ln>>2]|0,ro=K8(t,Lt)|0,ys=j1+(j7<<2)|0,e[ys>>2]=ro,ws=K8(t,Lt)|0,no=u1+(j7<<2)|0,e[no>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,sD(I7,li,je,oo,so,vs),cn=e[j5>>2]|0,ks=(m7+12|0)+(cn<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[no>>2]|0,kQ(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,tD(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=z8+$o,Fs=Rs,gn=Fs+.345,kr=gn,s[I7>>2]=kr,un=G5+(j7<<2)|0,s[un>>2]=kr,us)for(Y=kr,xr=1;;)if(Ts=I7+(xr<<2)|0,or=+s[Ts>>2],Ns=or*or,lo=xr+1|0,co=I7+(lo<<2)|0,hn=+s[co>>2],Gs=hn*hn,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,Sr=Ps,R=Sr+.345,F=R,N=lo>>1,G=I7+(N<<2)|0,s[G>>2]=F,U=F>Y,U?(s[un>>2]=F,vr=F):vr=Y,X=xr+2|0,K=(X|0)<(nn|0),K)Y=vr,xr=X;else{W=vr;break}else W=kr;if(a0=W>0,a0?(s[un>>2]=0,J=0):J=W,s0=J>_r,mo=s0?J:_r,o0=j7+1|0,q=e[l0>>2]|0,d0=(o0|0)<(q|0),d0)_r=mo,j7=o0;else{Q=Lt,S=_t,Z7=mo;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,Z7=M5;t0=K8(t,Q)|0,j=K8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,Z=m7+48|0,$0)D7=0;else{for(b7=0;;){o6=(A6+4|0)+(b7<<2)|0,C6=e[o6>>2]|0,K3=u1+(b7<<2)|0,F3=e[K3>>2]|0,e6=e[t>>2]|0,R6=e6+(b7<<2)|0,l6=e[R6>>2]|0,o3=l6+(S<<2)|0,e[ze>>2]=f6,z6=K8(t,60)|0,A3=V2+(b7<<2)|0,e[A3>>2]=z6,fi=z6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));if(_Q(he,o3,t0),c6=G5+(b7<<2)|0,B6=+s[c6>>2],xQ(he,l6,j,Z7,B6),nl(he,t0,j,1,l6,F3,o3),T3=(A6+1028|0)+(C6<<2)|0,H6=e[T3>>2]|0,D6=(je+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[Z>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,r9=rl(t,P3,o3,l6)|0,V6=e[A3>>2]|0,o9=V6+28|0,e[o9>>2]=r9,g9=Pu(t)|0,Y6=(g9|0)==0,Y6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(nl(he,t0,j,2,l6,F3,o3),O3=e[T3>>2]|0,O6=e[Z>>2]|0,s9=O6+(O3<<2)|0,d9=e[s9>>2]|0,n9=rl(t,d9,o3,l6)|0,Q9=e[A3>>2]|0,y9=Q9+56|0,e[y9>>2]=n9,nl(he,t0,j,0,l6,F3,o3),h9=e[T3>>2]|0,f9=e[Z>>2]|0,V9=f9+(h9<<2)|0,y6=e[V9>>2]|0,q6=rl(t,y6,o3,l6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,Y9=e[T3>>2]|0,w9=e[Z>>2]|0,ue=w9+(Y9<<2)|0,Ee=e[ue>>2]|0,J9=e[A3>>2]|0,re=e[J9>>2]|0,F9=J9+28|0,v9=e[F9>>2]|0,K6=Gt(t,Ee,re,v9,9362)|0,A9=e[A3>>2]|0,ve=A9+4|0,e[ve>>2]=K6,Me=e[T3>>2]|0,_9=e[Z>>2]|0,Re=_9+(Me<<2)|0,Fe=e[Re>>2]|0,Ue=e[A3>>2]|0,He=e[Ue>>2]|0,n4=Ue+28|0,ke=e[n4>>2]|0,Ve=Gt(t,Fe,He,ke,18724)|0,z9=e[A3>>2]|0,Ye=z9+8|0,e[Ye>>2]=Ve,Pe=e[T3>>2]|0,Ce=e[Z>>2]|0,w4=Ce+(Pe<<2)|0,Z9=e[w4>>2]|0,k9=e[A3>>2]|0,v4=e[k9>>2]|0,V4=k9+28|0,nt=e[V4>>2]|0,Je=Gt(t,Z9,v4,nt,28086)|0,Y4=e[A3>>2]|0,o4=Y4+12|0,e[o4>>2]=Je,R4=e[T3>>2]|0,ot=e[Z>>2]|0,ne=ot+(R4<<2)|0,u4=e[ne>>2]|0,Be=e[A3>>2]|0,T6=e[Be>>2]|0,Ke=Be+28|0,O9=e[Ke>>2]|0,fe=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,h4=oe+16|0,e[h4>>2]=fe,f4=e[T3>>2]|0,Se=e[Z>>2]|0,s4=Se+(f4<<2)|0,Oe=e[s4>>2]|0,I4=e[A3>>2]|0,S9=e[I4>>2]|0,I6=I4+28|0,J4=e[I6>>2]|0,k4=Gt(t,Oe,S9,J4,46811)|0,be=e[A3>>2]|0,me=be+20|0,e[me>>2]=k4,J6=e[T3>>2]|0,F4=e[Z>>2]|0,T4=F4+(J6<<2)|0,st=e[T4>>2]|0,pe=e[A3>>2]|0,xe=e[pe>>2]|0,mt=pe+28|0,x9=e[mt>>2]|0,b9=Gt(t,st,xe,x9,56173)|0,qe=e[A3>>2]|0,a4=qe+24|0,e[a4>>2]=b9,h8=e[T3>>2]|0,N4=e[Z>>2]|0,f8=N4+(h8<<2)|0,_8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,_8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,x8=e[T3>>2]|0,Ht=e[Z>>2]|0,Vt=Ht+(x8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,Jt=e[pt>>2]|0,zt=xt+56|0,r8=e[zt>>2]|0,n8=Gt(t,Yt,Jt,r8,18724)|0,Et=e[A3>>2]|0,z4=Et+36|0,e[z4>>2]=n8,G4=e[T3>>2]|0,at=e[Z>>2]|0,L9=at+(G4<<2)|0,p8=e[L9>>2]|0,S4=e[A3>>2]|0,E8=S4+28|0,L8=e[E8>>2]|0,o8=S4+56|0,M8=e[o8>>2]|0,A4=Gt(t,p8,L8,M8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=A4,At=e[T3>>2]|0,We=e[Z>>2]|0,U4=We+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,Qt=e[A3>>2]|0,p4=Qt+44|0,e[p4>>2]=Bt,b4=e[T3>>2]|0,K4=e[Z>>2]|0,W4=K4+(b4<<2)|0,ae=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,D4=P4+56|0,yt=e[D4>>2]|0,a8=Gt(t,ae,gt,yt,46811)|0,Ze=e[A3>>2]|0,E3=Ze+48|0,e[E3>>2]=a8,Z4=e[T3>>2]|0,wt=e[Z>>2]|0,$4=wt+(Z4<<2)|0,j9=e[$4>>2]|0,l4=e[A3>>2]|0,T9=l4+28|0,Wt=e[T9>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=b7+1|0,ut=e[l0>>2]|0,dt=(jt|0)<(ut|0),dt)b7=jt;else{B=Z,Tt=ut;break e}}return C=In,a|0}for(;;){N6=(A6+4|0)+(D7<<2)|0,C0=e[N6>>2]|0,j6=u1+(D7<<2)|0,h0=e[j6>>2]|0,v6=e[t>>2]|0,R3=v6+(D7<<2)|0,n0=e[R3>>2]|0,m0=n0+(S<<2)|0,e[ze>>2]=f6,n6=K8(t,60)|0,v0=V2+(D7<<2)|0,e[v0>>2]=n6,fi=n6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));for(ar=0;i6=h0+(ar<<2)|0,M3=e[i6>>2]|0,d3=M3&2147483647,z3=+(d3>>>0),h6=z3*7177114298428933e-22,m3=h6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,y=ar+S|0,S6=n0+(y<<2)|0,s[S6>>2]=M6,r6=ar+1|0,b6=(r6|0)<(S|0),b6;)ar=r6;if(_Q(he,m0,t0),g0=G5+(D7<<2)|0,f0=+s[g0>>2],xQ(he,n0,j,Z7,f0),nl(he,t0,j,1,n0,h0,m0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(je+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[Z>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,W0=rl(t,_0,m0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=W0,N0=Pu(t)|0,q0=(N0|0)==0,q0||(k0=e[v0>>2]|0,J0=k0+28|0,F0=e[J0>>2]|0,L0=(F0|0)==0,L0||(nl(he,t0,j,2,n0,h0,m0),G0=e[p0>>2]|0,K0=e[Z>>2]|0,z0=K0+(G0<<2)|0,H0=e[z0>>2]|0,Z0=rl(t,H0,m0,n0)|0,V0=e[v0>>2]|0,s1=V0+56|0,e[s1>>2]=Z0,nl(he,t0,j,0,n0,h0,m0),Y0=e[p0>>2]|0,i1=e[Z>>2]|0,x0=i1+(Y0<<2)|0,o1=e[x0>>2]|0,d1=rl(t,o1,m0,n0)|0,g1=e[v0>>2]|0,e[g1>>2]=d1,m1=e[p0>>2]|0,h1=e[Z>>2]|0,A1=h1+(m1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,j0=a1+28|0,E1=e[j0>>2]|0,I1=Gt(t,c1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[Z>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,Z1=e[p0>>2]|0,G1=e[Z>>2]|0,x1=G1+(Z1<<2)|0,z1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,V1=q1+28|0,Y1=e[V1>>2]|0,X1=Gt(t,z1,H1,Y1,28086)|0,o2=e[v0>>2]|0,O1=o2+12|0,e[O1>>2]=X1,u2=e[p0>>2]|0,W1=e[Z>>2]|0,I2=W1+(u2<<2)|0,a2=e[I2>>2]|0,C2=e[v0>>2]|0,A2=e[C2>>2]|0,K1=C2+28|0,h2=e[K1>>2]|0,l2=Gt(t,a2,A2,h2,37449)|0,r2=e[v0>>2]|0,$2=r2+16|0,e[$2>>2]=l2,e2=e[p0>>2]|0,s2=e[Z>>2]|0,m2=s2+(e2<<2)|0,t2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,P2=e[v0>>2]|0,p2=P2+20|0,e[p2>>2]=L2,K2=e[p0>>2]|0,O2=e[Z>>2]|0,J2=O2+(K2<<2)|0,U2=e[J2>>2]|0,H2=e[v0>>2]|0,W2=e[H2>>2]|0,A5=H2+28|0,N1=e[A5>>2]|0,e5=Gt(t,U2,W2,N1,56173)|0,T5=e[v0>>2]|0,t5=T5+24|0,e[t5>>2]=e5,x5=e[p0>>2]|0,Z2=e[Z>>2]|0,I5=Z2+(x5<<2)|0,b5=e[I5>>2]|0,V5=e[v0>>2]|0,g5=V5+28|0,B5=e[g5>>2]|0,o5=V5+56|0,R2=e[o5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,N5=e[p0>>2]|0,m5=e[Z>>2]|0,L5=m5+(N5<<2)|0,q5=e[L5>>2]|0,Y2=e[v0>>2]|0,p5=Y2+28|0,$5=e[p5>>2]|0,u5=Y2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,d5=D5+36|0,e[d5>>2]=T1,l5=e[p0>>2]|0,j2=e[Z>>2]|0,w5=j2+(l5<<2)|0,i5=e[w5>>2]|0,s5=e[v0>>2]|0,h5=s5+28|0,z2=e[h5>>2]|0,f5=s5+56|0,r5=e[f5>>2]|0,R5=Gt(t,i5,z2,r5,28086)|0,X2=e[v0>>2]|0,c5=X2+40|0,e[c5>>2]=R5,v5=e[p0>>2]|0,J5=e[Z>>2]|0,i3=J5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,h3=I3+28|0,W5=e[h3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,W5,a3,37449)|0,Z5=e[v0>>2]|0,x3=Z5+44|0,e[x3>>2]=B3,f3=e[p0>>2]|0,w3=e[Z>>2]|0,X3=w3+(f3<<2)|0,H3=e[X3>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,s6=X5+56|0,V3=e[s6>>2]|0,c3=Gt(t,H3,t3,V3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,z5=e[Z>>2]|0,H5=z5+(Q3<<2)|0,Y5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,U3=Gt(t,Y5,$6,l3,56173)|0,E6=e[v0>>2]|0,b3=E6+52|0,e[b3>>2]=U3)),L3=D7+1|0,D3=e[l0>>2]|0,a6=(L3|0)<(D3|0),a6)D7=L3;else{B=Z,Tt=D3;break e}}return C=In,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=Z7,Ft=Tt<<2,h=Ft,X4=C,C=C+((1*h|0)+15&-16)|0,m=Ft,D9=C,C=C+((1*m|0)+15&-16)|0,g8=Pu(t)|0,et=(g8|0)!=0,V8=et?0:7,W8=m7+44|0,R8=t+24|0,u8=t+32|0,F8=je+2868|0,Y8=m7+52|0,E7=V8;;){if(Z8=(dn+12|0)+(E7<<2)|0,ht=e[Z8>>2]|0,q2(ht,0,1),Nt=e[W8>>2]|0,q2(ht,f6,Nt),T8=e[j5>>2]|0,Xt=(T8|0)==0,Xt||(O4=e[R8>>2]|0,q2(ht,O4,1),C4=e[u8>>2]|0,q2(ht,C4,1)),Ae=e[l0>>2]|0,N8=(Ae|0)>0,N8)for(i7=0;;)if(qi=(A6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Vi=j1+(i7<<2)|0,Ei=e[Vi>>2]|0,j8=(A6+1028|0)+(Hi<<2)|0,Ci=e[j8>>2]|0,X8=e[B>>2]|0,Bi=X8+(Ci<<2)|0,ei=e[Bi>>2]|0,Qi=V2+(i7<<2)|0,g7=e[Qi>>2]|0,Yi=g7+(E7<<2)|0,yi=e[Yi>>2]|0,wi=Ab(ht,t,ei,yi,Ei)|0,u7=O0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,d7=(vi|0)<(ci|0),d7)i7=vi;else{I=ci;break}else I=Ae;if(Ji=e[j5>>2]|0,zi=((je+3240|0)+(Ji*60|0)|0)+(E7<<2)|0,Wi=e[zi>>2]|0,Mb(E7,F8,he,A6,u1,j1,O0,Wi,I),gi=e[A6>>2]|0,ki=(gi|0)>0,ki)for(_7=0;;){if(Zi=(A6+1092|0)+(_7<<2)|0,ti=e[Zi>>2]|0,ui=e[l0>>2]|0,J8=(ui|0)>0,J8)for($n=ui,p7=0,Ar=0;;)if(ii=(A6+4|0)+(Ar<<2)|0,h7=e[ii>>2]|0,ji=(h7|0)==(_7|0),ji?(Si=D9+(p7<<2)|0,Xi=O0+(Ar<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,Di=j1+(Ar<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ri=X4+(p7<<2)|0,e[ri>>2]=e7,E=e[l0>>2]|0,di=E,fn=_i):(di=$n,fn=p7),xi=Ar+1|0,t7=(xi|0)<(di|0),t7)$n=di,p7=fn,Ar=xi;else{Io=fn;break}else Io=0;if(Li=(je+1312|0)+(ti<<2)|0,_4=e[Li>>2]|0,Mi=25648+(_4<<2)|0,G8=e[Mi>>2]|0,hi=G8+20|0,$9=e[hi>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ti<<2)|0,Q8=e[vt>>2]|0,U8=OC[$9&7](t,Q8,X4,D9,Io)|0,wr=e[l0>>2]|0,As=(wr|0)>0,As)for(sr=0,Lr=0;;)if(Jn=(A6+4|0)+(Lr<<2)|0,$s=e[Jn>>2]|0,zn=($s|0)==(_7|0),zn?(ls=j1+(Lr<<2)|0,cs=e[ls>>2]|0,Kn=sr+1|0,gs=X4+(sr<<2)|0,e[gs>>2]=cs,Dr=Kn):Dr=sr,on=Lr+1|0,ds=(on|0)<(wr|0),ds)sr=Dr,Lr=on;else{br=Dr;break}else br=0;if(hs=e[Li>>2]|0,Wn=25648+(hs<<2)|0,fs=e[Wn>>2]|0,Zn=fs+24|0,jn=e[Zn>>2]|0,Is=e[Y8>>2]|0,sn=Is+(ti<<2)|0,Xn=e[sn>>2]|0,XQ[jn&3](ht,t,Xn,X4,D9,br,U8,_7)|0,an=_7+1|0,to=e[A6>>2]|0,ms=(an|0)<(to|0),ms)_7=an;else break}if(ps=E7+1|0,Es=Pu(t)|0,An=(Es|0)!=0,io=An?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=In,a|0}function kb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,k2=v+104|0,U2=e[k2>>2]|0,I5=t+28|0,N5=e[I5>>2]|0,w=K1+(N5<<2)|0,Y=e[w>>2]|0,t0=t+36|0,e[t0>>2]=Y,h0=F1+4|0,W0=e[h0>>2]|0,G0=W0<<2,g=G0,o1=C,C=C+((1*g|0)+15&-16)|0,h=G0,j0=C,C=C+((1*h|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[h0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=U2+48|0,L1=Y<<1,M1=L1&2147483646,j2=0;;)if(P1=w1+(j2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,z1=(K1+800|0)+(x1<<2)|0,q1=e[z1>>2]|0,H1=25640+(q1<<2)|0,V1=e[H1>>2]|0,X1=V1+20|0,o2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,u2=e[O1>>2]|0,W1=pi[o2&15](t,u2)|0,I2=I1+(j2<<2)|0,e[I2>>2]=W1,a2=E1+(j2<<2)|0,X2=(W1|0)!=0,a=X2&1,e[a2>>2]=a,C2=e[t>>2]|0,A2=C2+(j2<<2)|0,h2=e[A2>>2]|0,g4(h2|0,0,M1|0)|0,l2=j2+1|0,i2=e[h0>>2]|0,c2=(l2|0)<(i2|0),c2)j2=l2;else{a1=i2;break}else a1=p1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,d2=0;t2=U1+(d2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,G2=(Q2|0)==0,L2=D1+(d2<<2)|0,P2=e[L2>>2]|0,G2?(p2=E1+(P2<<2)|0,K2=e[p2>>2]|0,O2=(K2|0)==0,O2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,J2=E1+(P2<<2)|0,e[J2>>2]=1),H2=d2+1|0,W2=(H2|0)<(_1|0),W2;)d2=H2;if(r2=e[o>>2]|0,$2=(r2|0)>0,$2){for(e2=o+1092|0,s2=U2+52|0,m2=o+4|0,A5=a1,w5=0;;){if(V2=(A5|0)>0,V2)for($1=A5,d5=0,f5=0;;)if(N1=m2+(f5<<2)|0,e5=e[N1>>2]|0,T5=(e5|0)==(w5|0),T5?(t5=E1+(f5<<2)|0,x5=e[t5>>2]|0,Z2=j0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[Z2>>2]=$,b5=e[t>>2]|0,V5=b5+(f5<<2)|0,g5=e[V5>>2]|0,b2=d5+1|0,B5=o1+(d5<<2)|0,e[B5>>2]=g5,B=e[h0>>2]|0,M2=B,l5=b2):(M2=$1,l5=d5),o5=f5+1|0,R2=(o5|0)<(M2|0),R2)$1=M2,d5=l5,f5=o5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,L5=e[m5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,Y2=M5+28|0,p5=e[Y2>>2]|0,$5=e[s2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,OC[p5&7](t,y5,o1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[h0>>2]|0,A5=Q,w5=T1}S=e[b1>>2]|0,x=S}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,N=(Y|0)/2&-1,G=(Y|0)>1,s5=x;;){if(i5=s5+-1|0,s0=L+(i5<<2)|0,J=e[s0>>2]|0,o0=R+(J<<2)|0,q=e[o0>>2]|0,d0=F+(i5<<2)|0,j=e[d0>>2]|0,u0=R+(j<<2)|0,c0=e[u0>>2]|0,G)for(r5=0;;){$0=q+(r5<<2)|0,l0=+s[$0>>2],Z=c0+(r5<<2)|0,m0=+s[Z>>2],g0=l0>0,f0=m0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-m0,s[Z>>2]=n0;break}else{s[Z>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=m0+l0,s[Z>>2]=C0;break}else{s[Z>>2]=l0,S0=l0-m0,s[$0>>2]=S0;break}while(!1);if(Q0=r5+1|0,b0=(Q0|0)<(N|0),b0)r5=Q0;else break}if(U=(s5|0)>1,U)s5=i5;else break}if(X=e[h0>>2]|0,K=(X|0)>0,!K)return C=F2,0;for(a0=o+4|0,W=o+1028|0,r0=U2+48|0,h5=0;;)if(y0=e[t>>2]|0,w0=y0+(h5<<2)|0,B0=e[w0>>2]|0,_0=a0+(h5<<2)|0,M0=e[_0>>2]|0,v0=W+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,P0=e[N0>>2]|0,q0=25640+(P0<<2)|0,k0=e[q0>>2]|0,J0=k0+24|0,F0=e[J0>>2]|0,L0=e[r0>>2]|0,K0=L0+(T0<<2)|0,z0=e[K0>>2]|0,H0=I1+(h5<<2)|0,Z0=e[H0>>2]|0,UC[F0&3](t,z0,Z0,B0)|0,O0=h5+1|0,V0=e[h0>>2]|0,s1=(O0|0)<(V0|0),s1)h5=O0;else{E=V0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(z2=0;Y0=e[t>>2]|0,i1=Y0+(z2<<2)|0,x0=e[i1>>2]|0,d1=e[I5>>2]|0,g1=(U2+12|0)+(d1<<2)|0,m1=e[g1>>2]|0,h1=e[m1>>2]|0,Sb(h1,x0,x0),u1=z2+1|0,A1=e[h0>>2]|0,c1=(u1|0)<(A1|0),c1;)z2=u1;return C=F2,0}function MC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=R9($)|0,Y=a+o|0,t0=Y<<2,h0=R9(t0)|0,W0=o>>1,G0=+(o|0),o1=G0,E1=+tn(+o1),g=E1*1.4426950408889634,h=+K7(g),m=~~h,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=h0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,N=+(F|0),G=b*N,U=+nA(+G),X=U,K=w1<<1,a0=h0+(K<<2)|0,s[a0>>2]=X,W=+Vn(+G),r0=W,s0=-r0,J=K|1,o0=h0+(J<<2)|0,s[o0>>2]=s0,q=+(J|0),d0=y*q,j=+nA(+d0),u0=j,c0=K+W0|0,$0=h0+(c0<<2)|0,s[$0>>2]=u0,l0=+Vn(+d0),Z=l0,m0=c0+1|0,g0=h0+(m0<<2)|0,s[g0>>2]=Z,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+nA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=h0+(B0<<2)|0,s[_0>>2]=y0,M0=+Vn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,P0=h0+(N0<<2)|0,s[P0>>2]=T0,q0=v1+1|0,k0=(q0|0)<(x|0),k0;)v1=q0;if(J0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=z0,Q1=0,L1=0;;)if(H0=Z0&k1,O0=(H0|0)==0,V0=1<>Y0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=Y0;if(d1=B1^-1,g1=L0&d1,m1=g1+-1|0,h1=k1<<1,u1=w+(h1<<2)|0,e[u1>>2]=m1,A1=h1|1,c1=w+(A1<<2)|0,e[c1>>2]=B1,a1=k1+1|0,$1=(a1|0)<(x|0),$1)k1=a1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function RC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),h=t+12|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function Sb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0;for(z3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,K2=o+($<<2)|0,g=I+j1|0,t5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,h5=u5+(j1<<2)|0,u3=h5,H5=K2,L3=t5;E5=L3+-16|0,w3=H5+8|0,E=+s[w3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,P0=+s[H5>>2],O0=u3+8|0,u1=+s[O0>>2],w1=u1*P0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],c2=+s[L>>2],k2=c2*O1,D2=+s[w3>>2],S2=+s[O0>>2],Q2=S2*D2,G2=k2-Q2,L2=L3+-12|0,s[L2>>2]=G2,P2=H5+24|0,p2=+s[P2>>2],O2=u3+4|0,J2=+s[O2>>2],U2=p2*J2,H2=-U2,W2=H5+16|0,A5=+s[W2>>2],V2=+s[u3>>2],N1=V2*A5,e5=H2-N1,T5=L3+-8|0,s[T5>>2]=e5,x5=+s[W2>>2],Z2=+s[O2>>2],I5=Z2*x5,b5=+s[P2>>2],V5=+s[u3>>2],g5=V5*b5,b2=I5-g5,B5=L3+-4|0,s[B5>>2]=b2,o5=H5+-32|0,R2=u3+16|0,y2=o5>>>0>>0,!y2;)u3=R2,H5=o5,L3=E5;for(Q5=a+(I<<2)|0,h=I+-8|0,N5=o+(h<<2)|0,Q3=h5,Y5=N5,D3=t5;m5=Q3+-16|0,L5=Y5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,Y2=+s[M5>>2],p5=Y2*q5,$5=Y5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],d5=D5*y5,l5=d5+p5,s[D3>>2]=l5,j2=+s[L5>>2],d2=+s[T1>>2],w5=d2*j2,i5=+s[$5>>2],s5=+s[M5>>2],z2=s5*i5,f5=w5-z2,r5=D3+4|0,s[r5>>2]=f5,R5=+s[Y5>>2],X2=Q3+-12|0,c5=+s[X2>>2],F2=c5*R5,v5=Y5+8|0,J5=+s[v5>>2],i3=+s[m5>>2],I3=i3*J5,h3=I3+F2,W5=D3+8|0,s[W5>>2]=h3,r3=+s[Y5>>2],a3=+s[m5>>2],B3=a3*r3,G5=+s[v5>>2],Z5=+s[X2>>2],x3=Z5*G5,f3=B3-x3,X3=D3+12|0,s[X3>>2]=f3,H3=Y5+-32|0,X5=D3+16|0,_3=H3>>>0>>0,!_3;)Q3=m5,Y5=H3,D3=X5;for($6=t+4|0,n3=e[$6>>2]|0,SQ(n3,u5,Q5,I),l3=e[t>>2]|0,U3=e[M2>>2]|0,E6=t+12|0,b3=e[E6>>2]|0,bQ(l3,U3,b3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,z5=s6,S5=a,a6=t5,j5=t5;G3=a6+-16|0,V3=+s[S5>>2],c3=z5+4|0,g3=+s[c3>>2],Q=g3*V3,B=S5+4|0,S=+s[B>>2],b=+s[z5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[z5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],N=F*R,G=M+N,U=-G,s[j5>>2]=U,Y=S5+8|0,X=+s[Y>>2],K=z5+12|0,a0=+s[K>>2],W=a0*X,s0=S5+12|0,J=+s[s0>>2],o0=z5+8|0,q=+s[o0>>2],d0=q*J,t0=W-d0,j=a6+-8|0,s[j>>2]=t0,u0=+s[Y>>2],c0=+s[o0>>2],$0=c0*u0,Z=+s[s0>>2],m0=+s[K>>2],g0=m0*Z,f0=$0+g0,n0=-f0,h0=j5+4|0,s[h0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=z5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=z5+16|0,_0=+s[B0>>2],W0=_0*w0,M0=E0-W0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],q0=N0*T0,k0=+s[y0>>2],J0=+s[S0>>2],F0=J0*k0,L0=q0+F0,G0=-L0,K0=j5+8|0,s[K0>>2]=G0,z0=S5+24|0,H0=+s[z0>>2],Z0=z5+28|0,V0=+s[Z0>>2],s1=V0*H0,Y0=S5+28|0,i1=+s[Y0>>2],x0=z5+24|0,o1=+s[x0>>2],d1=o1*i1,g1=s1-d1,s[G3>>2]=g1,m1=+s[z0>>2],h1=+s[x0>>2],A1=h1*m1,c1=+s[Y0>>2],a1=+s[Z0>>2],$1=a1*c1,j0=A1+$1,E1=-j0,I1=j5+12|0,s[I1>>2]=E1,Q1=j5+16|0,p1=S5+32|0,B1=z5+32|0,v1=p1>>>0>>0,v1;)z5=B1,S5=p1,a6=G3,j5=Q1;for(k1=a+(j1<<2)|0,Y3=t5,i6=k1,M3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=i6+-4|0,s[R1>>2]=_1,F1=-_1,s[M3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=D1,G1=-D1,x1=M3+4|0,s[x1>>2]=G1,z1=Y3+-12|0,q1=+s[z1>>2],H1=i6+-12|0,s[H1>>2]=q1,V1=-q1,Y1=M3+8|0,s[Y1>>2]=V1,X1=+s[M1>>2],s[L1>>2]=X1,o2=-X1,u2=M3+12|0,s[u2>>2]=o2,W1=M3+16|0,I2=W1>>>0>>0,I2)Y3=M1,i6=L1,M3=W1;else{U5=t5,J3=t5;break}for(;a2=J3+-16|0,C2=U5+12|0,A2=e[C2>>2]|0,e[a2>>2]=A2,K1=U5+8|0,h2=e[K1>>2]|0,l2=J3+-12|0,e[l2>>2]=h2,i2=U5+4|0,r2=e[i2>>2]|0,$2=J3+-8|0,e[$2>>2]=r2,e2=e[U5>>2]|0,s2=J3+-4|0,e[s2>>2]=e2,m2=U5+16|0,t2=a2>>>0>Q5>>>0,t2;)U5=m2,J3=a2}function kQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,v=e[t>>2]|0,w=v>>1,s1=v>>2,c1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,u2=G1+(w<<2)|0,g=w+s1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,X=(c1|0)>0,X){for(h=g+1|0,j=o+(h<<2)|0,p0=c1+-1|0,M0=p0>>>1,K0=M0<<1,H0=w+-2|0,Z0=H0-K0|0,O0=g+-4|0,V0=M0<<2,Y0=O0-V0|0,o5=D,L5=0,h5=r2,R5=j;i1=h5+-16|0,x0=o5+-8|0,o1=h5+-8|0,d1=+s[o1>>2],g1=+s[R5>>2],m1=g1+d1,h1=+s[i1>>2],u1=R5+8|0,A1=+s[u1>>2],a1=A1+h1,$1=o5+-4|0,j0=+s[$1>>2],E1=a1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=L5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*a1,L1=+s[$1>>2],M1=L1*m1,b1=v1-M1,_1=L5|1,b=_1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=b1,F1=R5+16|0,U1=L5+2|0,D1=(U1|0)<(c1|0),D1;)o5=x0,L5=U1,h5=i1,R5=F1;P1=K0+2|0,d2=N1+(Z0<<2)|0,w5=o+(Y0<<2)|0,V2=Z0,B5=d2,m5=P1,s5=w5}else V2=w,B5=D,m5=0,s5=r2;if(Z1=o+4|0,x1=w-c1|0,z1=(m5|0)<(x1|0),z1){for(q1=w+-1|0,H1=q1-m5|0,V1=H1-c1|0,Y1=V1>>>1,X1=Y1<<1,o2=m5+X1|0,j1=Y1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,M5=m5,z2=s5,c5=Z1;I2=M2+-8|0,a2=z2+-16|0,C2=z2+-8|0,A2=+s[C2>>2],K1=+s[c5>>2],h2=A2-K1,l2=+s[a2>>2],i2=c5+8|0,c2=+s[i2>>2],$2=l2-c2,e2=M2+-4|0,s2=+s[e2>>2],m2=$2*s2,t2=+s[I2>>2],k2=t2*h2,D2=k2+m2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[I2>>2],G2=Q2*$2,P2=+s[e2>>2],p2=P2*h2,K2=G2-p2,O2=M5|1,Q=O2+w|0,J2=G1+(Q<<2)|0,s[J2>>2]=K2,U2=c5+16|0,H2=M5+2|0,W2=(H2|0)<(x1|0),W2;)M2=I2,M5=H2,z2=a2,c5=U2;A5=o2+2|0,l5=o+(O1<<2)|0,B=V2+W1|0,j2=N1+(B<<2)|0,R2=j2,q5=A5,X2=l5}else R2=B5,q5=m5,X2=Z1;if(e5=(q5|0)<(w|0),e5)for(T5=o+(v<<2)|0,y2=R2,Y2=q5,f5=T5,F2=X2;t5=y2+-8|0,x5=f5+-16|0,Z2=f5+-8|0,I5=+s[Z2>>2],b5=-I5,V5=+s[F2>>2],g5=b5-V5,b2=+s[x5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],N=L*F,G=+s[t5>>2],U=G*g5,Y=U+N,m=Y2+w|0,K=G1+(m<<2)|0,s[K>>2]=Y,a0=+s[t5>>2],W=a0*L,r0=+s[R>>2],s0=r0*g5,J=W-s0,o0=Y2|1,I=o0+w|0,q=G1+(I<<2)|0,s[q>>2]=J,d0=F2+16|0,t0=Y2+2|0,u0=(t0|0)<(w|0),u0;)y2=t5,Y2=t0,f5=x5,F2=d0;if($5=t+4|0,u5=e[$5>>2]|0,SQ(u5,N1,u2,w),d5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,bQ(d5,y5,D5,G1),c0=(s1|0)>0,!c0){C=J5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,Z=l0+(w<<2)|0,m0=t+16|0,Q5=Z,p5=0,i5=G1,r5=$0;g0=r5+-4|0,f0=+s[i5>>2],n0=+s[Q5>>2],h0=n0*f0,C0=i5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+h0,w0=+s[m0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,W0=+s[i5>>2],v0=+s[Q0>>2],T0=v0*W0,N0=+s[C0>>2],P0=+s[Q5>>2],q0=P0*N0,k0=T0-q0,J0=+s[m0>>2],F0=k0*J0,s[g0>>2]=F0,L0=i5+8|0,G0=Q5+8|0,z0=p5+1|0,N5=(z0|0)==(s1|0),!N5;)Q5=G0,p5=z0,i5=L0,r5=g0;C=J5}function SQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,V8=0,W8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0;if(wr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,V5=a+(I<<2)|0,T3=$>>1,B=T3+-8|0,e8=a+(B<<2)|0,g=o,B8=V5,Q8=e8;ht=B8+24|0,Vi=+s[ht>>2],yi=Q8+24|0,ki=+s[yi>>2],bi=Vi-ki,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,h1=+s[Z0>>2],B1=N0-h1,D1=ki+Vi,s[ht>>2]=D1,o2=+s[Z0>>2],l2=o2+N0,s[Q0>>2]=l2,S2=g+4|0,W2=+s[S2>>2],g5=W2*B1,q5=+s[g>>2],j2=q5*bi,c5=j2+g5,s[yi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*bi,S6=s6-i6,s[Z0>>2]=S6,K3=B8+16|0,H6=+s[K3>>2],g9=Q8+16|0,n9=+s[g9>>2],w9=H6-n9,Me=B8+20|0,Ye=+s[Me>>2],Y4=Q8+20|0,fe=+s[Y4>>2],I6=Ye-fe,xe=n9+H6,s[K3>>2]=xe,I8=+s[Y4>>2],Yt=I8+Ye,s[Me>>2]=Yt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,D4=g+16|0,T9=+s[D4>>2],Ft=T9*w9,u8=Ft+Bt,s[g9>>2]=u8,Z8=+s[D4>>2],Nt=Z8*I6,T8=+s[at>>2],Xt=T8*w9,O4=Nt-Xt,s[Y4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],N8=Q8+8|0,$i=+s[N8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],j8=Q8+12|0,Ci=+s[j8>>2],X8=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ei=+s[j8>>2],Qi=ei+Ei,s[Hi>>2]=Qi,li=g+36|0,g7=+s[li>>2],Yi=g7*X8,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Yi,s[N8>>2]=ci,d7=+s[wi>>2],Ji=d7*X8,zi=+s[li>>2],Ki=zi*qi,Wi=Ji-Ki,s[j8>>2]=Wi,gi=+s[B8>>2],Zi=+s[Q8>>2],ti=gi-Zi,ui=B8+4|0,J8=+s[ui>>2],ii=Q8+4|0,h7=+s[ii>>2],ji=J8-h7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ii>>2],Xi=Si+J8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ri=g+48|0,xi=+s[ri>>2],t7=xi*ti,di=t7+_i,s[Q8>>2]=di,z8=+s[ri>>2],Li=z8*ji,_4=+s[Di>>2],b0=_4*ti,E0=Li-b0,s[ii>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(W0=(C0|0)>1,W0)for(G8=1;;){if(M0=1<>G8,P0=4<>1,S=q0+-8|0,G=P0+1|0,d0=P0<<1,$0=d0|1,m0=P0*3|0,f0=m0+1|0,h0=P0<<2,hi=0;;){for(J0=n5(hi,T0)|0,F0=a+(J0<<2)|0,m=E+J0|0,L0=a+(m<<2)|0,u0=S+J0|0,G0=a+(u0<<2)|0,h=o,vt=L0,U8=G0;K0=vt+24|0,z0=+s[K0>>2],H0=U8+24|0,O0=+s[H0>>2],V0=z0-O0,s1=vt+28|0,Y0=+s[s1>>2],i1=U8+28|0,x0=+s[i1>>2],o1=Y0-x0,d1=O0+z0,s[K0>>2]=d1,g1=+s[i1>>2],m1=g1+Y0,s[s1>>2]=m1,u1=h+4|0,A1=+s[u1>>2],c1=A1*o1,a1=+s[h>>2],$1=a1*V0,j0=$1+c1,s[H0>>2]=j0,E1=+s[h>>2],I1=E1*o1,Q1=+s[u1>>2],p1=Q1*V0,w1=I1-p1,s[i1>>2]=w1,v1=h+(P0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=U8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=U8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=b1+L1,s[k1>>2]=G1,x1=+s[U1>>2],z1=x1+F1,s[R1>>2]=z1,q1=h+(G<<2)|0,H1=+s[q1>>2],V1=H1*Z1,Y1=+s[v1>>2],X1=Y1*_1,j1=X1+V1,s[M1>>2]=j1,O1=+s[v1>>2],u2=O1*Z1,W1=+s[q1>>2],I2=W1*_1,a2=u2-I2,s[U1>>2]=a2,C2=h+(d0<<2)|0,A2=vt+8|0,K1=+s[A2>>2],h2=U8+8|0,i2=+s[h2>>2],c2=K1-i2,r2=vt+12|0,$2=+s[r2>>2],e2=U8+12|0,s2=+s[e2>>2],m2=$2-s2,t2=i2+K1,s[A2>>2]=t2,k2=+s[e2>>2],D2=k2+$2,s[r2>>2]=D2,Q2=h+($0<<2)|0,G2=+s[Q2>>2],L2=G2*m2,P2=+s[C2>>2],p2=P2*c2,K2=p2+L2,s[h2>>2]=K2,O2=+s[C2>>2],J2=O2*m2,U2=+s[Q2>>2],H2=U2*c2,A5=J2-H2,s[e2>>2]=A5,V2=h+(m0<<2)|0,N1=+s[vt>>2],e5=+s[U8>>2],T5=N1-e5,t5=vt+4|0,x5=+s[t5>>2],Z2=U8+4|0,I5=+s[Z2>>2],b5=x5-I5,b2=e5+N1,s[vt>>2]=b2,B5=+s[Z2>>2],o5=B5+x5,s[t5>>2]=o5,R2=h+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[V2>>2],N5=Q5*T5,m5=N5+y2,s[U8>>2]=m5,L5=+s[V2>>2],M5=L5*b5,Y2=+s[R2>>2],p5=Y2*T5,$5=M5-p5,s[Z2>>2]=$5,u5=h+(h0<<2)|0,y5=vt+-32|0,T1=U8+-32|0,D5=T1>>>0>>0,!D5;)h=u5,vt=y5,U8=T1;if(d5=hi+1|0,l5=(d5|0)<(M0|0),l5)hi=d5;else break}if(d2=G8+1|0,Mi=(d2|0)==(C0|0),Mi)break;G8=d2}if(k0=($|0)>0,k0)$9=0;else return;for(;w5=a+($9<<2)|0,Q=$9|30,i5=a+(Q<<2)|0,s5=+s[i5>>2],N=$9|14,h5=a+(N<<2)|0,z2=+s[h5>>2],f5=s5-z2,q=$9|31,r5=a+(q<<2)|0,R5=+s[r5>>2],c0=$9|15,X2=a+(c0<<2)|0,F2=+s[X2>>2],v5=R5-F2,J5=z2+s5,s[i5>>2]=J5,i3=F2+R5,s[r5>>2]=i3,s[h5>>2]=f5,s[X2>>2]=v5,l0=$9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],Z=$9|12,h3=a+(Z<<2)|0,W5=+s[h3>>2],r3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],n0=$9|13,Z5=a+(n0<<2)|0,x3=+s[Z5>>2],f3=G5-x3,w3=W5+I3,s[E5>>2]=w3,X3=x3+G5,s[a3>>2]=X3,H3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=H3-X5,s[h3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,V3=G3+t3,s[Z5>>2]=V3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=$9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],z5=g3-Q3,v=$9|27,H5=a+(v<<2)|0,Y5=+s[H5>>2],w=$9|11,S5=a+(w<<2)|0,U5=+s[S5>>2],$6=Y5-U5,n3=Q3+g3,s[c3>>2]=n3,l3=U5+Y5,s[H5>>2]=l3,U3=z5-$6,E6=U3*.7071067690849304,s[u3>>2]=E6,b3=$6+z5,L3=b3*.7071067690849304,s[S5>>2]=L3,D=$9|24,D3=a+(D<<2)|0,a6=+s[D3>>2],y=$9|8,J3=a+(y<<2)|0,j5=+s[J3>>2],M3=a6-j5,x=$9|25,d3=a+(x<<2)|0,z3=+s[d3>>2],M=$9|9,h6=a+(M<<2)|0,m3=+s[h6>>2],x6=z3-m3,L6=j5+a6,s[D3>>2]=L6,M6=m3+z3,s[d3>>2]=M6,r6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=r6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,v6=N6+j6,L=$9|22,R3=a+(L<<2)|0,n6=+s[R3>>2],R=$9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],F3=n6-C6,F=$9|7,W3=a+(F<<2)|0,e6=+s[W3>>2],U=$9|23,R6=a+(U<<2)|0,l6=+s[R6>>2],o3=e6-l6,z6=C6+n6,s[R3>>2]=z6,A3=l6+e6,s[R6>>2]=A3,s[o6>>2]=o3,s[W3>>2]=F3,Y=$9|4,c6=a+(Y<<2)|0,B6=+s[c6>>2],X=$9|20,A6=a+(X<<2)|0,D6=+s[A6>>2],G6=B6-D6,K=$9|5,e9=a+(K<<2)|0,Q6=+s[e9>>2],a0=$9|21,X6=a+(a0<<2)|0,P3=+s[X6>>2],r9=Q6-P3,V6=D6+B6,s[A6>>2]=V6,o9=P3+Q6,s[X6>>2]=o9,U6=r9*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,t9=r9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,W=$9|2,O3=a+(W<<2)|0,O6=+s[O3>>2],r0=$9|18,s9=a+(r0<<2)|0,d9=+s[s9>>2],B9=O6-d9,s0=$9|3,Q9=a+(s0<<2)|0,y9=+s[Q9>>2],J=$9|19,h9=a+(J<<2)|0,f9=+s[h9>>2],V9=y9-f9,y6=d9+O6,s[s9>>2]=y6,q6=f9+y9,s[h9>>2]=q6,a9=V9+B9,Y9=a9*.7071067690849304,we=V9-B9,ue=we*.7071067690849304,Ee=+s[w5>>2],o0=$9|16,J9=a+(o0<<2)|0,re=+s[J9>>2],F9=Ee-re,t0=$9|1,v9=a+(t0<<2)|0,K6=+s[v9>>2],j=$9|17,A9=a+(j<<2)|0,ve=+s[A9>>2],de=K6-ve,_9=re+Ee,s[J9>>2]=_9,Re=ve+K6,s[A9>>2]=Re,Fe=de*.3826834261417389,Ue=F9*.9238795042037964,He=Fe+Ue,n4=de*.9238795042037964,ke=F9*.3826834261417389,Ve=n4-ke,z9=Ve-v6,he=He-b6,Pe=He+b6,Ce=Ve+v6,w4=he+z9,Z9=z9-he,k9=+s[S5>>2],v4=ue-k9,V4=+s[u3>>2],nt=V4-Y9,Je=V4+Y9,ze=k9+ue,o4=+s[h3>>2],R4=o4-F6,ot=+s[Z5>>2],ne=ot-P6,u4=o4+F6,Be=ot+P6,T6=R4-ne,Ke=ne+R4,O9=+s[h5>>2],Te=O9-o3,d4=+s[X2>>2],oe=d4-F3,h4=o3+O9,f4=F3+d4,Se=Te+v4,s4=Te-v4,Oe=T6+w4,I4=Oe*.7071067690849304,S9=T6-w4,J4=S9*.7071067690849304,Ie=I4+Se,s[o6>>2]=Ie,k4=Se-I4,s[c6>>2]=k4,be=Ke-Z9,me=be*.7071067690849304,J6=oe-nt,F4=me+s4,s[w5>>2]=F4,T4=s4-me,s[O3>>2]=T4,st=Ke+Z9,pe=st*.7071067690849304,mt=oe+nt,Z3=J6+J4,s[Q9>>2]=Z3,x9=J6-J4,s[v9>>2]=x9,b9=mt+pe,s[W3>>2]=b9,qe=mt-pe,s[e9>>2]=qe,a4=h4+Je,h8=h4-Je,N4=Pe+u4,f8=u4-Pe,_8=a4+N4,s[h5>>2]=_8,m8=a4-N4,s[h3>>2]=m8,Ut=Be-Ce,Pt=f4-ze,Ot=h8+Ut,s[J3>>2]=Ot,qt=h8-Ut,s[u3>>2]=qt,t8=Be+Ce,i8=f4+ze,x8=Pt+f8,s[S5>>2]=x8,Ht=Pt-f8,s[h6>>2]=Ht,Vt=i8+t8,s[X2>>2]=Vt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[d3>>2],pt=Re-xt,Jt=+s[D3>>2],zt=_9-Jt,r8=Jt+_9,n8=xt+Re,Et=zt+pt,z4=pt-zt,G4=+s[h9>>2],Lt=+s[H5>>2],L9=G4-Lt,p8=+s[c3>>2],S4=+s[s9>>2],E8=p8-S4,L8=S4+p8,o8=Lt+G4,M8=+s[E5>>2],A4=+s[A6>>2],s8=M8-A4,Mt=+s[a3>>2],At=+s[X6>>2],We=Mt-At,U4=A4+M8,$t=At+Mt,Ct=s8-We,Rt=We+s8,m4=+s[i5>>2],se=+s[R3>>2],lt=m4-se,ct=+s[r5>>2],Qt=+s[R6>>2],p4=ct-Qt,b4=se+m4,K4=Qt+ct,W4=lt+L9,ae=lt-L9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,De=gt*.7071067690849304,yt=E4+W4,s[R3>>2]=yt,a8=W4-E4,s[A6>>2]=a8,Ze=Rt-z4,E3=Ze*.7071067690849304,Z4=p4-E8,wt=E3+ae,s[J9>>2]=wt,$4=ae-E3,s[s9>>2]=$4,j9=Rt+z4,l4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+De,s[h9>>2]=Wt,C8=Z4-De,s[A9>>2]=C8,A8=j4+l4,s[R6>>2]=A8,$8=j4-l4,s[X6>>2]=$8,Zt=b4+L8,l8=b4-L8,jt=U4+r8,ut=U4-r8,dt=Zt+jt,s[i5>>2]=dt,je=Zt-jt,s[E5>>2]=je,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[D3>>2]=X4,D9=l8-c8,s[c3>>2]=D9,g8=$t+n8,et=K4+o8,V8=Tt+ut,s[H5>>2]=V8,W8=Tt-ut,s[d3>>2]=W8,R8=et+g8,s[r5>>2]=R8,F8=et-g8,s[a3>>2]=F8,c4=$9+32|0,Y8=(c4|0)<($|0),Y8;)$9=c4}function bQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,U=o+(t<<2)|0,a1=U,$1=a,j0=$,E1=v;d0=e[$1>>2]|0,g=d0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,h=L0+b|0,x0=$+(h<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=h+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=c1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[a1>>2],F=L*R,N=a1+4|0,G=+s[N>>2],Y=G*y,X=Y+F,K=G*L,a0=R*y,W=K-a0,r0=E1+-16|0,s0=D+c1,J=s0*.5,o0=x-M,q=o0*.5,t0=X+J,s[j0>>2]=t0,j=J-X,u0=E1+-8|0,s[u0>>2]=j,c0=W+q,$0=j0+4|0,s[$0>>2]=c0,l0=W-q,Z=E1+-4|0,s[Z>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,h0=$1+12|0,p0=e[h0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],W0=B0+w0,M0=a1+8|0,v0=+s[M0>>2],T0=W0*v0,N0=a1+12|0,P0=+s[N0>>2],q0=P0*y0,k0=q0+T0,J0=P0*W0,F0=v0*y0,G0=J0-F0,K0=E0+Q0,z0=K0*.5,H0=w0-B0,Z0=H0*.5,O0=k0+z0,V0=j0+8|0,s[V0>>2]=O0,s1=z0-k0,s[r0>>2]=s1,Y0=G0+Z0,i1=j0+12|0,s[i1>>2]=Y0,o1=G0-Z0,d1=E1+-12|0,s[d1>>2]=o1,g1=a1+16|0,m1=$1+16|0,h1=j0+16|0,u1=h1>>>0>>0,u1;)a1=g1,$1=m1,j0=h1,E1=r0}function bb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=ce(1,36)|0,h=t+4|0,m=e[h>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Db(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function _b(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function xb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0;a9=C,y6=t,Y9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,d3=+K7(l3),N6=d3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,r0=+(g|0),l0=r0*.25,b0=l0,P0=b0*.5,O0=+($|0),u1=P0/O0,w1=+tn(+u1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,c2=R6+1|0,G2=1<>2]=c5,v5=+($|0),J5=v5+.25,E5=J5*r0,I3=E5,h3=I3*.5,W5=h3/O0,r3=+tn(+W5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,G5=V2*B3,Z5=G5+.5,x3=~~Z5,w3=1-c5|0,X3=w3+x3|0,H3=t+40|0,e[H3>>2]=X3,X5=$<<2,_3=R9(X5)|0,t3=t+16|0,e[t3>>2]=_3,s6=R9(X5)|0,G3=t+20|0,e[G3>>2]=s6,V3=R9(X5)|0,c3=t+24|0,e[c3>>2]=V3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,z5=t+48|0,s[z5>>2]=1,H5=(g|0)<26e3;do if(H5)s[z5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){s[z5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[z5>>2]=1.274999976158142)}while(!1);Y3=O0*2,U5=+(g|0),$6=($|0)>0,b3=$6,t9=0,n9=0;e:for(;;){for(Q=b3^1,_6=t9;;){if(D3=_6+1|0,a6=+(D3|0),i6=a6*.08664337545633316,J3=i6+2.7488713472395148,j5=+Yn(+J3),M3=Y3*j5,z3=M3/U5,h6=+K7(z3),m3=~~h6,E=(m3|0)<=(n9|0),e9=E|Q,!e9){m=D3,I=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{d9=n9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],f6=r6-M6,b6=I-n9|0,j6=+(b6|0),v6=f6/j6,R3=n9-I|0,n6=n9-$|0,o6=R3>>>0>n6>>>0,V9=o6?R3:n6,n3=n9-V9|0,G6=M6,B9=n9;C6=G6+100,K3=_3+(B9<<2)|0,s[K3>>2]=C6,F3=G6+v6,W3=B9+1|0,V6=(W3|0)==(n3|0),!V6;)G6=F3,B9=W3;if(U3=(n3|0)<($|0),E6=(m|0)<87,E6)b3=U3,t9=m,n9=n3;else{d9=n3;break}}if(L3=(d9|0)<($|0),L3)for(Q9=d9;H6=Q9+-1|0,A6=_3+(H6<<2)|0,D6=e[A6>>2]|0,R=_3+(Q9<<2)|0,e[R>>2]=D6,F=Q9+1|0,r9=(F|0)==($|0),!r9;)Q9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,z6=o+120|0,A3=e[z6>>2]|0,c6=o+124|0,B6=o+116|0,T3=o+112|0,U6=1,O3=0,y9=-99;;){K=n5(o3,O3)|0,a0=+(K|0),W=a0*.0007399999885819852,s0=W,J=+is(+s0),o0=J*13.100000381469727,q=n5(K,K)|0,d0=+(q|0),t0=d0*18499999754340024e-24,j=t0,u0=+is(+j),c0=u0*2.240000009536743,$0=c0+o0,Z=a0*9999999747378752e-20,m0=Z,g0=$0+m0,f0=g0,n0=A3+y9|0,h0=(n0|0)<(O3|0);e:do if(h0)for(p0=+s[T3>>2],C0=f0-p0,S0=C0,f9=y9;;){if(Q0=n5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+is(+w0),_0=B0*13.100000381469727,W0=n5(Q0,Q0)|0,M0=+(W0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+is(+T0),q0=N0*2.240000009536743,k0=E0*9999999747378752e-20,J0=k0,F0=_0+J0,L0=F0+q0,G0=L0($|0);e:do if(K0)Y6=U6;else for(z0=e[c6>>2]|0,H0=z0+O3|0,F6=U6;;){if(Y0=(F6|0)<(H0|0),!Y0&&(i1=n5(F6,o3)|0,x0=+(i1|0),o1=x0*.0007399999885819852,d1=o1,g1=+is(+d1),m1=g1*13.100000381469727,h1=n5(i1,i1)|0,A1=+(h1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,D1=O3+1|0,P3=(D1|0)==($|0),P3)break;U6=Y6,O3=D1,y9=h9}if(e6)for(N=U5*.5,G=e[L>>2]|0,U=G+1|0,Y=1<>2]=O1,W1=O6+1|0,X6=(W1|0)==($|0),X6){v=N;break}else O6=W1;else q6=19}else q6=19;if((q6|0)==19&&(y=U5*.5,v=y),I2=o+36|0,a2=v/O0,C2=a2,A2=o+24|0,K1=+s[A2>>2],h2=o+28|0,l2=+s[h2>>2],r2=Rb(I2,C2,$,K1,l2)|0,$2=t+8|0,e[$2>>2]=r2,e2=R9(12)|0,s2=t+12|0,e[s2>>2]=e2,m2=R9(X5)|0,e[e2>>2]=m2,t2=R9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=R9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,s9=0;L2=+(s9|0),P2=L2+.5,p2=P2*U5,K2=p2/Y3,O2=+tn(+K2),J2=O2*2.885390043258667,U2=J2+-11.931568145751953,H2=U2,W2=H2<0,o9=W2?0:H2,h=o9>=16,g9=h?16:o9,A5=~~g9,N1=+(A5|0),e5=g9-N1,T5=e5,t5=1-T5,x5=A5+1|0,Z2=(Q2+132|0)+(A5<<2)|0,I5=+s[Z2>>2],b5=I5,V5=b5*t5,g5=(Q2+132|0)+(x5<<2)|0,B5=+s[g5>>2],o5=B5*e5,R2=o5,M2=R2+V5,y2=M2,Q5=b+(s9<<2)|0,s[Q5>>2]=y2,N5=(Q2+200|0)+(A5<<2)|0,m5=+s[N5>>2],L5=m5,q5=L5*t5,Y2=(Q2+200|0)+(x5<<2)|0,p5=+s[Y2>>2],$5=p5*e5,u5=$5,y5=u5+q5,T1=y5,D5=w+(s9<<2)|0,s[D5>>2]=T1,d5=(Q2+268|0)+(A5<<2)|0,l5=+s[d5>>2],j2=l5,w5=j2*t5,i5=(Q2+268|0)+(x5<<2)|0,s5=+s[i5>>2],h5=s5*e5,z2=h5,f5=z2+w5,r5=f5,R5=D+(s9<<2)|0,s[R5>>2]=r5,X2=s9+1|0,Q6=(X2|0)==($|0),!Q6;)s9=X2}function DQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0;if(O0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,Y=(w|0)==0,Y||E2(w),t0=t+20|0,h0=e[t0>>2]|0,W0=(h0|0)==0,W0||E2(h0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||E2(L0),g=t+8|0,h=e[g>>2]|0,m=(h|0)==0,!m){for(E=h,z0=0;I=E+(z0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,E2(B),S=e[g>>2]|0,b=S+(z0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,E2(y),x=e[g>>2]|0,M=x+(z0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,E2(F),N=e[g>>2]|0,G=N+(z0<<2)|0,U=e[G>>2]|0,X=U+12|0,K=e[X>>2]|0,E2(K),a0=e[g>>2]|0,W=a0+(z0<<2)|0,r0=e[W>>2]|0,s0=r0+16|0,J=e[s0>>2]|0,E2(J),o0=e[g>>2]|0,q=o0+(z0<<2)|0,d0=e[q>>2]|0,j=d0+20|0,u0=e[j>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(z0<<2)|0,l0=e[$0>>2]|0,Z=l0+24|0,m0=e[Z>>2]|0,E2(m0),g0=e[g>>2]|0,f0=g0+(z0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,Q0=S0+(z0<<2)|0,b0=e[Q0>>2]|0,E2(b0),E0=z0+1|0,K0=(E0|0)==17,!K0;)o=e[g>>2]|0,E=o,z0=E0;y0=e[g>>2]|0,E2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,E2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,E2(N0),P0=e[w0>>2]|0,q0=P0+8|0,k0=e[q0>>2]|0,E2(k0),J0=e[w0>>2]|0,E2(J0)),H0=t,V0=H0+52|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(V0|0))}}function _Q(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,h=I,M=C,C=C+((1*h|0)+15&-16)|0,W=t+24|0,u0=e[W>>2]|0,LQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(h0=0;$0=o+(h0<<2)|0,l0=+s[$0>>2],Z=a+(h0<<2)|0,m0=+s[Z>>2],E=l0-m0,Q=M+(h0<<2)|0,s[Q>>2]=E,B=h0+1|0,f0=(B|0)==(m|0),!f0;)h0=B;if(S=e[W>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,LQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],N=L-F,s[R>>2]=N,G=p0+1|0,n0=(G|0)==(m|0),!n0;)p0=G;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;U=a+(C0<<2)|0,Y=+s[U>>2],X=Y,K=X+.5,a0=~~K,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,J=M+(C0<<2)|0,o0=+s[J>>2],q=(y+336|0)+(g<<2)|0,d0=+s[q>>2],t0=d0+o0,s[U>>2]=t0,j=C0+1|0,g0=(j|0)==(m|0),!g0;)C0=j;C=Q0}function xQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,N=t+40|0,u1=e[N>>2]|0,w1=u1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,G=(u1|0)>0,G)for($5=0;q=P1+($5<<2)|0,s[q>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(u1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],d1=g50,g1){for(m1=t+16|0,h1=e[m1>>2]|0,d5=0;A1=h1+(d5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(d5<<2)|0,s[$1>>2]=a1,j0=d5+1|0,Y2=(j0|0)==(F|0),!Y2;)d5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,g1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,u5=0;;){_1=o+(u5<<2)|0,R1=+s[_1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,s5=R1;e:for(;;)for(y5=D5;;){if(D1=y5+1|0,Z1=(D1|0)<(F|0),!Z1){S=0,v=D1,T1=y5,h5=s5;break e}if(G1=k1+(D1<<2)|0,x1=e[G1>>2]|0,z1=(x1|0)==(U1|0),!z1){S=1,v=D1,T1=y5,h5=s5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],V1=H1>s5,V1){D5=D1,s5=H1;continue e}else y5=D1}if(Y1=h5+6,X1=a+(T1<<2)|0,o2=+s[X1>>2],O1=Y1>o2,O1&&(u2=e[L1>>2]|0,W1=U1>>u2,I2=(W1|0)>16,m=I2?16:W1,a2=(m|0)<0,h=a2?0:m,C2=I1+(h<<2)|0,A2=e[C2>>2]|0,K1=e[M1>>2]|0,h2=B1+h5,l2=h2,c2=l2+-30,r2=c2*.10000000149011612,$2=~~r2,e2=($2|0)<0,s2=e2?0:$2,m2=(s2|0)>7,t2=m2?7:s2,k2=A2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+s[S2>>2],L2=~~G2,P2=+s[D2>>2],p2=~~P2,K2=(p2|0)<(L2|0),K2))for(O2=k1+(T1<<2)|0,J2=e[O2>>2]|0,U2=e[b1>>2]|0,H2=J2-U2|0,W2=+(H2|0),V2=K1>>1,N1=+(V2|0),e5=P2+-16,T5=+(K1|0),t5=e5*T5,x5=t5-N1,Z2=x5+W2,I5=~~Z2,p5=p2,J5=I5;b5=(J5|0)>0,b5&&(R=p5+2|0,V5=D2+(R<<2)|0,b2=+s[V5>>2],B5=b2+h5,o5=P1+(J5<<2)|0,R2=+s[o5>>2],M2=R2>2]=B5)),y2=J5+K1|0,Q5=(y2|0)<(u1|0),N5=p5+1|0,m5=(N5|0)<(L2|0),c5=m5&Q5,c5;)p5=N5,J5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),L5=e[M>>2]|0,Fb(P1,L5,u1),U=e[t>>2]|0,Y=(U|0)>1;e:do if(Y)for(X=t+20|0,K=t+28|0,a0=e[X>>2]|0,W=e[a0>>2]|0,r0=L5>>1,s0=W-r0|0,J=e[K>>2]|0,o0=s0-J|0,d0=e[j1>>2]|0,t0=d0+32|0,Z=1,n0=W,j2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(Z<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,h0=g0>>1,p0=h0-J|0,C0=+s[t0>>2],S0=$0>C0,z2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,r5=z2;;){for(b0=r5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(W0=w0=(U|0),P0=(n0|0)>(T0|0),R5=N0|P0;t:do if(R5)d2=j2;else for(w5=j2;;){if(q0=a+(w5<<2)|0,k0=+s[q0>>2],J0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(U|0),!G0){d2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,K0=(L|0)>(T0|0),K0){d2=L0;break}else w5=L0}while(!1);if(j=d2+1|0,u0=(j|0)<(U|0),!u0){l5=d2;break e}w=a0+(d2<<2)|0,x=e[w>>2]|0,Z=j,n0=x,j2=d2,F2=v5}else l5=0;while(!1);if(z0=e[N>>2]|0,H0=z0+-1|0,Z0=P1+(H0<<2)|0,O0=+s[Z0>>2],V0=(l5|0)<(U|0),V0)i5=l5;else{C=E5;return}for(;s1=a+(i5<<2)|0,Y0=+s[s1>>2],x0=Y0>2]=O0),o1=i5+1|0,M5=(o1|0)==(U|0),!M5;)i5=o1;C=E5}function nl(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,Z=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],N=F+M,G=+s[b>>2],U=N>G,_0=U?G:N,Y=a+(B0<<2)|0,X=+s[Y>>2],K=X+Z,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,J=+s[r0>>2],o0=_0-J,q=o0>-17.200000762939453,d0=o0+17.200000762939453,t0=d0,q?(j=D*t0,u0=1-j,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*t0,m0=1-l0,g0=m0,y0=g0),f0=h+(B0<<2)|0,n0=+s[f0>>2],h0=n0*y0,s[f0>>2]=h0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Lb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0;return G=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),h=g+8|0,m=e[h>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function Mb(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0;if(Ye=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?Z5=16:(h6=A5+508|0,v6=e[h6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,P0=e[b0>>2]|0,O0=1624+(P0<<3)|0,u1=+l1[O0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,V2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,M5=C,C=C+((1*M|0)+15&-16)|0,d2=$+1156|0,F2=(c0|0)>1e3,Ve=F2?1696:1624,He=Ve+(P1<<3)|0,Ue=+l1[He>>3],G5=n5(j1,Z5)|0,L=G5,x3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=x3,v=G5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=G5,w3=C,C=C+((1*w|0)+15&-16)|0,e[V2>>2]=w3,D=G5,H3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=H3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=i2+4|0,e[t3>>2]=_3,s6=f3+(Z5<<2)|0,G3=Q2+4|0,e[G3>>2]=s6,V3=w3+(Z5<<2)|0,c3=V2+4|0,e[c3>>2]=V3,g3=H3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,B9=(E|0)==2,!B9))for(S5=2;F=e[i2>>2]|0,U=e[Q2>>2]|0,Y=e[V2>>2]|0,X=e[b2>>2]|0,Y5=n5(S5,Z5)|0,Y3=F+(Y5<<2)|0,U5=i2+(S5<<2)|0,e[U5>>2]=Y3,$6=U+(Y5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=Y+(Y5<<2)|0,U3=V2+(S5<<2)|0,e[U3>>2]=l3,b3=X+(Y5<<2)|0,L3=b2+(S5<<2)|0,e[L3>>2]=b3,D3=S5+1|0,n9=(D3|0)==(E|0),!n9;)S5=D3;if(z5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,J3=c0^-1,j5=Z5^-1,q6=0,w9=J3;;){if(z3=(w9|0)>(j5|0),n4=z3?w9:j5,m3=n4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),Q=L6?x6:Z5,ge(M5|0,m|0,j1|0)|0,g4(a6|0,0,G5|0)|0,i6)for(M6=(Q|0)>0,S6=l0-q6|0,A9=0;;){if(R3=h+(A9<<2)|0,n6=e[R3>>2]|0,o6=n6+(q6<<2)|0,C6=M5+(A9<<2)|0,K3=e[C6>>2]|0,F3=(K3|0)==0,F3){if(M6)for(R6=V2+(A9<<2)|0,l6=e[R6>>2]|0,z6=i2+(A9<<2)|0,A3=e[z6>>2]|0,c6=Q2+(A9<<2)|0,B6=e[c6>>2]|0,T3=b2+(A9<<2)|0,H6=e[T3>>2]|0,v9=0;G0=l6+(v9<<2)|0,s[G0>>2]=1000000013351432e-25,K0=A3+(v9<<2)|0,s[K0>>2]=0,z0=B6+(v9<<2)|0,s[z0>>2]=0,H0=H6+(v9<<2)|0,e[H0>>2]=0,q=v9+q6|0,Z0=n6+(q<<2)|0,e[Z0>>2]=0,V0=v9+1|0,O6=(V0|0)==(m3|0),!O6;)v9=V0}else{if(W3=V2+(A9<<2)|0,e6=e[W3>>2]|0,M6){for(re=0;d0=re+q6|0,A6=n6+(d0<<2)|0,D6=e[A6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=e6+(re<<2)|0,e[X6>>2]=e9,P3=re+1|0,_6=(P3|0)==(m3|0),!_6;)re=P3;if(r9=g+(A9<<2)|0,V6=e[r9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(J9=0;U6=(J9|0)>=(S6|0),u0=U6?Ue:u1,Y6=u0,t0=J9+q6|0,F6=V6+(t0<<2)|0,t9=+s[F6>>2],y9=+rr(+t9),Z=e6+(J9<<2)|0,m0=+s[Z>>2],g0=y9/m0,f0=g9+(J9<<2)|0,_9=!(g0>2]=B,n0=J9+1|0,P6=(n0|0)==(Q|0),!P6;)J9=n0;if(M6)for(h0=i2+(A9<<2)|0,p0=e[h0>>2]|0,C0=Q2+(A9<<2)|0,S0=e[C0>>2]|0,F9=0;;)if(Q0=F9+q6|0,E0=V6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(F9<<2)|0,s[B0>>2]=w0,_0=S0+(F9<<2)|0,s[_0>>2]=w0,W0=+s[E0>>2],M0=W0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(F9<<2)|0,q0=+s[N0>>2],k0=q0*q0,s[N0>>2]=k0,J0=F9+1|0,O3=(J0|0)==(m3|0),O3){N=C0,L0=p0;break}else F9=J0;else z9=21}else z9=21}else z9=21;(z9|0)==21&&(z9=0,R=i2+(A9<<2)|0,K=e[R>>2]|0,J=Q2+(A9<<2)|0,N=J,L0=K),F0=e[N>>2]|0,Re=e[$0>>2]|0,+MQ(Re,l0,L0,F0,e6,0,q6,Q,o6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}if(r6=e[d2>>2]|0,f6=(r6|0)>0,f6)for(b6=(Q|0)>0,N6=I-q6|0,j6=l0-q6|0,B3=r6,ke=0;;){if(Y0=($+1160|0)+(ke<<2)|0,i1=e[Y0>>2]|0,x0=($+2184|0)+(ke<<2)|0,o1=e[x0>>2]|0,d1=h+(i1<<2)|0,g1=e[d1>>2]|0,m1=g1+(q6<<2)|0,h1=h+(o1<<2)|0,A1=e[h1>>2]|0,c1=i2+(i1<<2)|0,a1=e[c1>>2]|0,$1=i2+(o1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(o1<<2)|0,p1=e[Q1>>2]|0,B1=V2+(i1<<2)|0,v1=e[B1>>2]|0,k1=V2+(o1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=M5+(i1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,Z1=M5+(o1<<2)|0,D1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?j2=B3:z9=31):z9=31,(z9|0)==31){if(z9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){z1=(K6|0)<(N6|0);do if(z1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,V1=(H1|0)==0,Y1=R1+(K6<<2)|0,V1&&(X1=e[Y1>>2]|0,o2=(X1|0)==0,o2)){t5=(K6|0)<(j6|0);do if(t5)x5=j0+(K6<<2)|0,Z2=+s[x5>>2],I5=a1+(K6<<2)|0,b5=+s[I5>>2],V5=b5+Z2,s[I5>>2]=V5,f9=+rr(+V5),g5=I1+(K6<<2)|0,s[g5>>2]=f9,G=x5;else if(B5=a1+(K6<<2)|0,o5=+s[B5>>2],R2=j0+(K6<<2)|0,M2=+s[R2>>2],y2=M2+o5,Q5=y2<0,Q9=+rr(+o5),h9=+rr(+M2),N5=h9+Q9,m5=I1+(K6<<2)|0,s[m5>>2]=N5,Q5){L5=-N5,s[B5>>2]=L5,G=R2;break}else{s[B5>>2]=N5,G=R2;break}while(!1);q5=p1+(K6<<2)|0,s[q5>>2]=0,s[G>>2]=0,e[Y1>>2]=1,o0=K6+q6|0,Y2=A1+(o0<<2)|0,e[Y2>>2]=0;break}O1=a1+(K6<<2)|0,u2=+s[O1>>2],V9=+rr(+u2),W1=j0+(K6<<2)|0,I2=+s[W1>>2],y6=+rr(+I2),a2=y6+V9,s[O1>>2]=a2,C2=I1+(K6<<2)|0,A2=+s[C2>>2],K1=p1+(K6<<2)|0,h2=+s[K1>>2],l2=h2+A2,s[C2>>2]=l2,e[Y1>>2]=1,e[q1>>2]=1,j=K6+q6|0,c2=g1+(j<<2)|0,r2=e[c2>>2]|0,$2=A1+(j<<2)|0,e2=e[$2>>2]|0,we=(r2|0)>-1,ve=0-r2|0,s2=we?r2:ve,ue=(e2|0)>-1,de=0-e2|0,m2=ue?e2:de,t2=(s2|0)>(m2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,G2=k2?D2:S2,e[$2>>2]=G2,W=e[c2>>2]|0,O2=W,H2=G2):(L2=(e2|0)>0,P2=r2-e2|0,p2=e2-r2|0,K2=L2?P2:p2,e[$2>>2]=K2,e[c2>>2]=e2,a0=e[$2>>2]|0,O2=e2,H2=a0),Ee=(O2|0)>-1,Me=0-O2|0,J2=Ee?O2:Me,U2=J2<<1,W2=(H2|0)<(U2|0),W2||(N1=0-H2|0,e[$2>>2]=N1,e5=e[c2>>2]|0,T5=0-e5|0,e[c2>>2]=T5)}while(!1);if(p5=v1+(K6<<2)|0,$5=+s[p5>>2],u5=L1+(K6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=K6+1|0,d9=(D5|0)==(m3|0),d9)break;K6=D5}Fe=e[$0>>2]|0,+MQ(Fe,l0,a1,I1,v1,b1,q6,Q,m1),r0=e[d2>>2]|0,j2=r0}if(d5=ke+1|0,l5=(d5|0)<(j2|0),l5)B3=j2,ke=d5;else{a3=j2;break}}else a3=r6;if(w5=q6+Z5|0,i5=(c0|0)>(w5|0),Y9=w9+Z5|0,i5)q6=w5,w9=Y9;else{M3=a3;break}}else M3=z5;if(d3=(M3|0)>0,d3)r3=M3,a9=0;else{C=Ye;return}for(;s5=($+1160|0)+(a9<<2)|0,h5=e[s5>>2]|0,z2=m+(h5<<2)|0,f5=e[z2>>2]|0,r5=(f5|0)==0,R5=($+2184|0)+(a9<<2)|0,r5?(X2=e[R5>>2]|0,c5=m+(X2<<2)|0,v5=e[c5>>2]|0,J5=(v5|0)==0,J5?W5=r3:z9=52):z9=52,(z9|0)==52&&(z9=0,e[z2>>2]=1,i3=e[R5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[d2>>2]|0,W5=s0),I3=a9+1|0,h3=(I3|0)<(W5|0),h3;)r3=W5,a9=I3;C=Ye}function Rb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0;for(et=C,C=C+32480|0,Z3=et+32256|0,D9=et+1792|0,x9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=R9(68)|0,g4(D9|0,0,30464)|0,M3=$>0,ue=$<0,L9=0;;){for(d4=L9<<2,A4=0;o5=A4+d4|0,p5=(o5|0)<88,p5?(i5=1272+(o5<<2)|0,J5=+s[i5>>2],j9=J5):j9=-30,x3=o5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+s[U6>>2],t9=j9>Y6,t9?l4=Y6:l4=j9):(g9=j9>-30,g9?l4=-30:l4=j9),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],d9=l4>s9,d9?T9=s9:T9=l4):(O3=l4>-30,O3?T9=-30:T9=l4),n9=o5+3|0,B9=(n9|0)<88,B9?(h9=1272+(n9<<2)|0,f9=+s[h9>>2],V9=T9>f9,V9?j4=f9:j4=T9):(Q9=T9>-30,Q9?j4=-30:j4=T9),y6=Z3+(A4<<2)|0,s[y6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(Ie=(D9+(L9*1792|0)|0)+448|0,F=2792+(L9*1344|0)|0,ge(Ie|0,F|0,224)|0,J=(D9+(L9*1792|0)|0)+672|0,m0=(2792+(L9*1344|0)|0)+224|0,ge(J|0,m0|0,224)|0,y0=(D9+(L9*1792|0)|0)+896|0,k0=(2792+(L9*1344|0)|0)+448|0,ge(y0|0,k0|0,224)|0,s1=(D9+(L9*1792|0)|0)+1120|0,c1=(2792+(L9*1344|0)|0)+672|0,ge(s1|0,c1|0,224)|0,k1=(D9+(L9*1792|0)|0)+1344|0,G1=(2792+(L9*1344|0)|0)+896|0,ge(k1|0,G1|0,224)|0,u2=(D9+(L9*1792|0)|0)+1568|0,$2=(2792+(L9*1344|0)|0)+1120|0,ge(u2|0,$2|0,224)|0,P2=D9+(L9*1792|0)|0,ge(P2|0,F|0,224)|0,e5=(D9+(L9*1792|0)|0)+224|0,ge(e5|0,F|0,224)|0,M3)for(At=0;;){if(ue)for(Bt=0;Ee=16-Bt|0,L8=(Ee|0)>-1,$8=0-Ee|0,J9=L8?Ee:$8,re=+(J9|0),F9=re*g,v9=F9+$,K6=v9<0,I=K6?0:v9,A9=I>0,h=A9?0:I,ve=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[ve>>2],de=Me+h,s[ve>>2]=de,Re=Bt+1|0,Yt=(Re|0)==56,!Yt;)Bt=Re;else for(ct=0;d3=16-ct|0,o8=(d3|0)>-1,Zt=0-d3|0,N6=o8?d3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,y9=F6<0,E=y9?0:F6,a9=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[a9>>2],w9=Y9+E,s[a9>>2]=w9,we=ct+1|0,Vt=(we|0)==56,!Vt;)ct=we;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ue)for(Qt=0;n4=16-Qt|0,M8=(n4|0)>-1,l8=0-n4|0,ke=M8?n4:l8,Ve=+(ke|0),z9=Ve*g,Ye=z9+$,he=Ye>0,m=he?0:Ye,Ce=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,w4=+s[Ce>>2],Z9=w4+m,s[Ce>>2]=Z9,k9=Qt+1|0,t8=(k9|0)==56,!t8;)Qt=k9;else for(lt=0;v4=16-lt|0,E8=(v4|0)>-1,A8=0-v4|0,V4=E8?v4:A8,nt=+(V4|0),Je=nt*g,Y4=Je+$,ze=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+Y4,s[ze>>2]=ot,ne=lt+1|0,qt=(ne|0)==56,!qt;)lt=ne;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(L9<<2)|0,Ue=+s[Fe>>2],He=Ue,We=0;;){for(Be=(We|0)<2,T6=+(We|0),v=T6*10,w=70-v,Ke=Be?50:w,O9=Ke+He,fe=O9,Et=0;Te=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],h4=oe+fe,s[Te>>2]=h4,f4=Et+1|0,qe=(f4|0)==56,!qe;)Et=f4;for(Se=x9+(We*224|0)|0,ge(Se|0,Z3|0,224)|0,s4=+(We|0),Oe=s4*10,I4=70-Oe,Lt=0;;)if(S9=(x9+(We*224|0)|0)+(Lt<<2)|0,I6=+s[S9>>2],J4=I4+I6,s[S9>>2]=J4,k4=Lt+1|0,f8=(k4|0)==56,f8){at=0;break}else Lt=k4;for(;be=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(at<<2)|0,me=+s[be>>2],J6=(x9+(We*224|0)|0)+(at<<2)|0,F4=+s[J6>>2],T4=me>F4,T4&&(s[J6>>2]=me),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(pe=We+1|0,x8=(pe|0)==8,x8){U4=1;break}else We=pe}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(x9+(xe*224|0)|0)+(G4<<2)|0,N=+s[mt>>2],G=(x9+(U4*224|0)|0)+(G4<<2)|0,U=+s[G>>2],Y=N>2]=N),X=G4+1|0,h8=(X|0)==56,h8){z4=0;break}else G4=X;for(;K=(x9+(U4*224|0)|0)+(z4<<2)|0,a0=+s[K>>2],W=((D9+(L9*1792|0)|0)+(U4*224|0)|0)+(z4<<2)|0,r0=+s[W>>2],s0=a0>2]=a0),o0=z4+1|0,a4=(o0|0)==56,!a4;)z4=o0;if(q=U4+1|0,Ht=(q|0)==8,Ht)break;U4=q}if(d0=L9+1|0,xt=(d0|0)==17,xt)break;L9=d0}for(_9=o,Pe=(a|0)>0,o4=a^-1,S4=0;;){for(t0=R9(32)|0,j=r2+(S4<<2)|0,e[j>>2]=t0,u0=+(S4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,Z=+Yn(+l0),g0=Z/_9,f0=+rA(+g0),n0=~~f0,h0=+(n0|0),p0=h0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+kC(+E0),B0=~~w0,_0=n0+1|0,W0=+(_0|0),M0=W0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,P0=N0+-11.931568145751953,q0=+rA(+P0),J0=~~q0,F0=(B0|0)>(S4|0),p8=F0?S4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(J0|0)>16,Q=G0?16:J0,K0=(wt|0)>(Q|0),z0=S4+1|0,H0=(z0|0)<17,Z0=c0+3.9657840728759766,$4=0;;){if(O0=R9(232)|0,V0=t0+($4<<2)|0,e[V0>>2]=O0,Pe)for($t=0;Y0=R+($t<<2)|0,s[Y0>>2]=999,i1=$t+1|0,b9=(i1|0)==(a|0),!b9;)$t=i1;if(!K0)for(p4=wt;;){for(x0=+(p4|0),o1=x0*.5,Ct=0,b4=0;;){if(h1=+(Ct|0),u1=h1*.125,A1=u1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,j0=+Yn(+$1),E1=j0/_9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Yn(+p1),w1=B1/_9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(b4|0),Ze=_1?a8:b4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(Ze|0)<(Wt|0),D1=(Ze|0)<(a|0),jt=U1&D1,jt)for(P1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(b4|0)<(a|0),z1=x1?b4:a,q1=z1^-1,H1=(I1|0)>0,x=I1^-1,V1=H1?x:-1,Y1=(V1|0)<(q1|0),je=Y1?q1:V1,X1=je^-1,o2=(L1|0)>0,M=L1^-1,j1=o2?M:-1,O1=(j1|0)<(o4|0),c8=O1?o4:j1,W1=c8-je|0,I2=je+a|0,a2=I2^-1,C2=W1>>>0>a2>>>0,Tt=C2?W1:a2,A2=X1-Tt|0,ae=Ze;;)if(K1=R+(ae<<2)|0,h2=+s[K1>>2],l2=h2>Z1,l2&&(s[K1>>2]=Z1),i2=ae+1|0,pt=(i2|0)==(A2|0),pt){K4=A2;break}else ae=i2;else K4=Ze;if(c2=Ct+1|0,Jt=(c2|0)==56,Jt){W4=K4;break}else Ct=c2,b4=K4}if(d1=(W4|0)<(a|0),d1)for(g1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+220|0,m1=+s[g1>>2],P4=W4;e2=R+(P4<<2)|0,s2=+s[e2>>2],m2=s2>m1,m2&&(s[e2>>2]=m1),t2=P4+1|0,zt=(t2|0)==(a|0),!zt;)P4=t2;if(k2=p4+1|0,D2=(p4|0)<(Q|0),D2)p4=k2;else break}if(H0){for(Rt=0,E4=0;;){if(O2=+(Rt|0),J2=O2*.125,U2=J2+c0,H2=U2+3.9032840728759766,W2=H2*.6931470036506653,A5=+Yn(+W2),V2=A5/_9,N1=~~V2,T5=U2+4.028284072875977,t5=T5*.6931470036506653,x5=+Yn(+t5),Z2=x5/_9,I5=Z2+1,b5=~~I5,V5=(N1|0)<0,S=V5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(E4|0),Z4=b2?E3:E4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((D9+(z0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+s[Q5>>2],m5=(E4|0)<(a|0),L5=m5?E4:a,q5=L5^-1,M5=(N1|0)>0,D=N1^-1,Y2=M5?D:-1,$5=(Y2|0)<(q5|0),dt=$5?q5:Y2,u5=dt^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(o4|0),Ft=D5?o4:T1,d5=Ft-dt|0,l5=dt+a|0,j2=l5^-1,d2=d5>>>0>j2>>>0,X4=d2?d5:j2,w5=u5-X4|0,De=Z4;;)if(s5=R+(De<<2)|0,h5=+s[s5>>2],z2=h5>N5,z2&&(s[s5>>2]=N5),f5=De+1|0,_8=(f5|0)==(w5|0),_8){gt=w5;break}else De=f5;else gt=Z4;if(r5=Rt+1|0,e8=(r5|0)==56,e8){D4=gt;break}else Rt=r5,E4=gt}if(L2=(D4|0)<(a|0),L2)for(p2=((D9+(z0*1792|0)|0)+($4*224|0)|0)+220|0,K2=+s[p2>>2],yt=D4;R5=R+(yt<<2)|0,X2=+s[R5>>2],c5=X2>K2,c5&&(s[R5>>2]=K2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=t0+($4<<2)|0,Q2=t0+($4<<2)|0,G2=t0+($4<<2)|0,m4=0;;){I3=+(m4|0),h3=I3*.125,W5=Z0+h3,r3=W5*.6931470036506653,a3=+Yn(+r3),B3=a3/_9,G5=~~B3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,X3=w3+(f3<<2)|0,s[X3>>2]=-999;else if(H3=(G5|0)<(a|0),H3){s6=R+(G5<<2)|0,G3=e[s6>>2]|0,V3=m4+2|0,g3=e[Q2>>2]|0,u3=g3+(V3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=O0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)se=0;else if(z5=O0+12|0,H5=+s[z5>>2],Y5=H5>-200,Y5)se=1;else if(D3=O0+16|0,a6=+s[D3>>2],i6=a6>-200,i6)se=2;else if(J3=O0+20|0,j5=+s[J3>>2],z3=j5>-200,z3)se=3;else if(h6=O0+24|0,m3=+s[h6>>2],x6=m3>-200,x6)se=4;else if(L6=O0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(r6=O0+32|0,f6=+s[r6>>2],b6=f6>-200,b6)se=6;else if(j6=O0+36|0,v6=+s[j6>>2],R3=v6>-200,R3)se=7;else if(n6=O0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)se=8;else if(K3=O0+44|0,F3=+s[K3>>2],W3=F3>-200,W3)se=9;else if(e6=O0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)se=10;else if(z6=O0+52|0,A3=+s[z6>>2],c6=A3>-200,c6)se=11;else if(B6=O0+56|0,T3=+s[B6>>2],H6=T3>-200,H6)se=12;else if(A6=O0+60|0,D6=+s[A6>>2],e9=D6>-200,e9)se=13;else{if(Q6=O0+64|0,X6=+s[Q6>>2],P3=X6>-200,P3){se=14;break}if(r9=O0+68|0,V6=+s[r9>>2],o9=V6>-200,o9){se=15;break}se=16}while(!1);for(s[O0>>2]=se,Kt=55;;){if(S5=Kt+2|0,Y3=O0+(S5<<2)|0,U5=+s[Y3>>2],$6=U5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,U3=(l3|0)>17,U3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),b3=O0+4|0,s[b3>>2]=E6,L3=$4+1|0,Ut=(L3|0)==8,Ut)break;$4=L3}if(Pt=(z0|0)==17,Pt)break;S4=z0}return C=et,r2|0}function LQ(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0;if(Fe=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,A2=C,C=C+((1*I|0)+15&-16)|0,E=v,X2=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,M6=a6<1,de=M6?1:a6,C6=de*de,D=C6*.5,X=D*de,s[w>>2]=D,s[A2>>2]=D,s[X2>>2]=0,s[a3>>2]=X,s[t3>>2]=0,j=(t|0)>1,j)for(O3=1,y6=D,q6=D,a9=0,Y9=0,w9=X,we=1;d1=a+(O3<<2)|0,I1=+s[d1>>2],R1=I1+g,V1=R1<1,_9=V1?1:R1,K1=_9*_9,k2=K1+y6,U2=K1*we,I5=U2+q6,N5=U2*we,D5=N5+a9,z2=K1*_9,f5=z2+w9,r5=U2*_9,R5=r5+Y9,c5=w+(O3<<2)|0,s[c5>>2]=k2,F2=A2+(O3<<2)|0,s[F2>>2]=I5,v5=X2+(O3<<2)|0,s[v5>>2]=D5,J5=a3+(O3<<2)|0,s[J5>>2]=f5,i3=t3+(O3<<2)|0,s[i3>>2]=R5,E5=O3+1|0,I3=we+1,P6=(E5|0)==(t|0),!P6;)O3=E5,y6=k2,q6=I5,a9=D5,Y9=R5,w9=f5,we=I3;if(p0=e[o>>2]|0,M0=p0>>16,K0=(M0|0)>-1,K0)W5=p0,B6=0,D6=0,X6=1,O6=0,ue=0;else for(G5=p0,w3=M0,s9=0,Ee=0;;)if(B3=G5&65535,Z5=w+(B3<<2)|0,x3=+s[Z5>>2],f3=0-w3|0,X3=w+(f3<<2)|0,H3=+s[X3>>2],X5=H3+x3,_3=A2+(B3<<2)|0,s6=+s[_3>>2],G3=A2+(f3<<2)|0,V3=+s[G3>>2],c3=s6-V3,g3=X2+(B3<<2)|0,u3=+s[g3>>2],Q3=X2+(f3<<2)|0,z5=+s[Q3>>2],H5=z5+u3,Y5=a3+(B3<<2)|0,Y3=+s[Y5>>2],U5=a3+(f3<<2)|0,$6=+s[U5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,U3=+s[l3>>2],E6=t3+(f3<<2)|0,b3=+s[E6>>2],L3=U3-b3,D3=n3*H5,i6=L3*c3,J3=D3-i6,j5=L3*X5,M3=n3*c3,d3=j5-M3,z3=H5*X5,h6=c3*c3,m3=z3-h6,x6=d3*Ee,L6=x6+J3,S6=L6/m3,r6=S6<0,o9=r6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=Ee+1,v6=o+(N6<<2)|0,R3=e[v6>>2]|0,n6=R3>>16,o6=(n6|0)>-1,o6){W5=R3,B6=J3,D6=d3,X6=m3,O6=N6,ue=j6;break}else G5=R3,w3=n6,s9=N6,Ee=j6;if(h3=W5&65535,r3=(h3|0)<(t|0),r3)for(S=W5,e6=h3,n9=O6,re=ue;;)if(F3=S>>16,W3=w+(e6<<2)|0,R6=+s[W3>>2],l6=w+(F3<<2)|0,o3=+s[l6>>2],z6=R6-o3,A3=A2+(e6<<2)|0,c6=+s[A3>>2],y=A2+(F3<<2)|0,x=+s[y>>2],M=c6-x,L=X2+(e6<<2)|0,R=+s[L>>2],F=X2+(F3<<2)|0,N=+s[F>>2],G=R-N,U=a3+(e6<<2)|0,Y=+s[U>>2],K=a3+(F3<<2)|0,a0=+s[K>>2],W=Y-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],J=t3+(F3<<2)|0,o0=+s[J>>2],q=s0-o0,d0=W*G,t0=q*M,u0=d0-t0,c0=q*z6,$0=W*M,l0=c0-$0,Z=G*z6,m0=M*M,g0=Z-m0,f0=l0*re,n0=f0+u0,h0=n0/g0,C0=h0<0,g9=C0?0:h0,S0=g9-g,Q0=$+(n9<<2)|0,s[Q0>>2]=S0,b0=n9+1|0,E0=re+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,n9=b0,re=E0;else{T3=u0,G6=l0,P3=g0,d9=b0,J9=E0;break}else T3=B6,G6=D6,P3=X6,d9=O6,J9=ue;if(K3=(d9|0)<(t|0),K3)for(B9=d9,F9=J9;W0=F9*G6,v0=W0+T3,T0=v0/P3,N0=T0<0,U6=N0?0:T0,P0=U6-g,q0=$+(B9<<2)|0,s[q0>>2]=P0,k0=B9+1|0,J0=F9+1,_6=(k0|0)==(t|0),!_6;)B9=k0,F9=J0;if(F0=(h|0)<1,F0){C=Fe;return}if(L0=(h|0)/2&-1,G0=L0-h|0,z0=(G0|0)>-1,z0)H6=T3,e9=G6,r9=P3,Q9=0,v9=0;else for(H0=h-L0|0,Y0=L0,o1=G0,y9=0,K6=0;;)if(s1=w+(Y0<<2)|0,i1=+s[s1>>2],x0=0-o1|0,g1=w+(x0<<2)|0,m1=+s[g1>>2],h1=m1+i1,u1=A2+(Y0<<2)|0,A1=+s[u1>>2],c1=A2+(x0<<2)|0,a1=+s[c1>>2],$1=A1-a1,j0=X2+(Y0<<2)|0,E1=+s[j0>>2],Q1=X2+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(Y0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,b1=t3+(Y0<<2)|0,_1=+s[b1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*B1,Z1=D1*$1,G1=P1-Z1,x1=D1*h1,z1=M1*$1,q1=x1-z1,H1=B1*h1,Y1=$1*$1,X1=H1-Y1,o2=q1*K6,j1=o2+G1,O1=j1/X1,u2=O1-g,W1=$+(y9<<2)|0,I2=+s[W1>>2],a2=u2>2]=u2),C2=y9+1|0,h2=K6+1,l2=L0+C2|0,i2=l2-h|0,t9=(C2|0)==(H0|0),t9){H6=G1,e9=q1,r9=X1,Q9=H0,v9=h2;break}else Y0=l2,o1=i2,y9=C2,K6=h2;if(Z0=Q9+L0|0,O0=(Z0|0)<(t|0),O0)for(V0=t-L0|0,b=Z0,f9=Q9,ve=v9;;)if(r2=b-h|0,$2=w+(b<<2)|0,e2=+s[$2>>2],s2=w+(r2<<2)|0,m2=+s[s2>>2],t2=e2-m2,D2=A2+(b<<2)|0,S2=+s[D2>>2],Q2=A2+(r2<<2)|0,G2=+s[Q2>>2],L2=S2-G2,P2=X2+(b<<2)|0,p2=+s[P2>>2],K2=X2+(r2<<2)|0,O2=+s[K2>>2],J2=p2-O2,H2=a3+(b<<2)|0,W2=+s[H2>>2],A5=a3+(r2<<2)|0,V2=+s[A5>>2],N1=W2-V2,e5=t3+(b<<2)|0,T5=+s[e5>>2],t5=t3+(r2<<2)|0,x5=+s[t5>>2],Z2=T5-x5,b5=N1*J2,V5=Z2*L2,g5=b5-V5,b2=Z2*t2,B5=N1*L2,o5=b2-B5,R2=J2*t2,M2=L2*L2,y2=R2-M2,Q5=o5*ve,m5=Q5+g5,L5=m5/y2,q5=L5-g,M5=$+(f9<<2)|0,Y2=+s[M5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=ve+1,y5=$5+L0|0,F6=($5|0)==(V0|0),F6){A6=g5,Q6=o5,V6=y2,h9=V0,A9=u5;break}else b=y5,f9=$5,ve=u5;else A6=H6,Q6=e9,V6=r9,h9=Q9,A9=v9;if(c2=(h9|0)<(t|0),c2)V9=h9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,d5=T1+A6,l5=d5/V6,j2=l5-g,d2=$+(V9<<2)|0,w5=+s[d2>>2],i5=j2>2]=j2),s5=V9+1|0,h5=Me+1,Y6=(s5|0)==(t|0),!Y6;)V9=s5,Me=h5;C=Fe}function Fb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0;if(d1=C,h=a<<2,$=h,m=C,C=C+((1*$|0)+15&-16)|0,g=h,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,H0=0;else{C=d1;return}for(;;){_0=(H0|0)<2;do if(_0)v0=m+(H0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(H0<<2)|0,e[Q>>2]=E,Y0=H0;else{for(W0=t+(k0<<2)|0,M0=+s[W0>>2],Z0=H0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){V0=Z0,o1=12;break}if(N=Z0+-2|0,G=x+(N<<2)|0,U=+s[G>>2],Y=!(b<=U),Y){V0=Z0,o1=12;break}if(X=m+(N<<2)|0,K=e[X>>2]|0,W=K+o|0,r0=(k0|0)<(W|0),r0)Z0=B;else{V0=Z0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(O0<<2)|0,e[w>>2]=k0,D=x+(O0<<2)|0,s[D>>2]=M0,Y0=O0;break}else if((o1|0)==12){o1=0,s0=m+(V0<<2)|0,e[s0>>2]=k0,J=x+(V0<<2)|0,s[J>>2]=M0,Y0=V0;break}}while(!1);if(s1=Y0+1|0,o0=k0+1|0,q0=(o0|0)==(a|0),q0){i1=Y0,x0=s1;break}else k0=o0,H0=s1}if(c0=(i1|0)>-1,!c0){C=d1;return}for(S0=o+1|0,J0=0,G0=0;;){if(q=(J0|0)<(i1|0),q?(d0=J0+1|0,t0=x+(d0<<2)|0,j=+s[t0>>2],u0=x+(J0<<2)|0,$0=+s[u0>>2],l0=j>$0,l0?(Z=m+(d0<<2)|0,m0=e[Z>>2]|0,T0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(J0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),h0=(T0|0)>(a|0),F0=h0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(J0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,z0=G0;;)if(y0=t+(z0<<2)|0,e[y0>>2]=Q0,w0=z0+1|0,N0=(w0|0)==(E0|0),N0){K0=E0;break}else z0=w0;else K0=G0;if(B0=J0+1|0,P0=(B0|0)==(x0|0),P0)break;J0=B0,G0=K0}C=d1}function MQ(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0;if(u2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,Z=e[s0>>2]|0,E0=(Z|0)==0,E0?v1=I:(q0=t+504|0,V0=e[q0>>2]|0,A1=V0-m|0,v1=A1),F1=(v1|0)>(I|0),Y1=F1?I:v1,F=(Y1|0)>0,F)for(N=(h|0)==0,G=(v1|0)<(I|0),U=G?v1:I,q1=0;;){N?O1=9:(a0=h+(q1<<2)|0,W=e[a0>>2]|0,r0=(W|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,J=$+(q1<<2)|0,o0=+s[J>>2],q=g+(q1<<2)|0,d0=+s[q>>2],t0=o0/d0,j=a+(q1<<2)|0,u0=+s[j>>2],c0=u0<0,$0=t0,l0=+Hn(+$0),m0=+K7(l0),c0){g0=-m0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{h0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=h0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(U|0),x1){z1=U;break}else q1=C0}else z1=0;if(Y=(z1|0)<(I|0),!Y)return w=0,C=u2,+w;for(X=(h|0)!=0,K=o-m|0,Q=0,U1=0,H1=z1;;){X?(S0=h+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],W0=w0/_0,M0=!(W0<.25),v0=(H1|0)<(K|0),X1=X&v0,o2=M0|X1,o2){k0=a+(H1<<2)|0,J0=+s[k0>>2],F0=J0<0,L0=W0,G0=+Hn(+L0),K0=+K7(G0),z0=-K0,x=F0?z0:K0,y=~~x,H0=E+(H1<<2)|0,e[H0>>2]=y,Z0=n5(y,y)|0,O0=+(Z0|0),s1=+s[B0>>2],Y0=O0*s1,s[y0>>2]=Y0,B=Q,D1=U1;break}else{T0=W0+Q,N0=U1+1|0,P0=R+(U1<<2)|0,e[P0>>2]=y0,B=T0,D1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=D1;break}else Q=B,U1=D1,H1=i1}if(x0=(P1|0)==0,x0||(Hu(R,P1,4,9),o1=(P1|0)>0,!o1))return w=S,C=u2,+w;for(d1=$,g1=t+512|0,m1=+l1[g1>>3],b=S,V1=0;;)if(h1=R+(V1<<2)|0,u1=e[h1>>2]|0,c1=u1,a1=c1-d1|0,$1=a1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],v=L1,M=k1,j1=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[u1>>2]=j1,R1=V1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,V1=R1;return C=u2,+w}function Tb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,h=+s[g>>2],m=$h,Q=E&1,B=I-Q|0,B|0}function Nb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Gb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,K=0;N=e[F>>2]|0,G=N+(K<<2)|0,U=e[G>>2]|0,Y=(U|0)==0,Y?h=L:(E2(U),o=e[$>>2]|0,h=o),X=K+1|0,g=(X|0)<(h|0),g;)L=h,K=X;if(m=e[F>>2]|0,E2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,E2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,E2(M),E2(t)}}function Ub(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0;if(h0=C,g=e[t>>2]|0,q2(o,g,24),h=t+4|0,y=e[h>>2]|0,q2(o,y,24),K=t+8|0,q=e[K>>2]|0,d0=q+-1|0,q2(o,d0,24),t0=t+12|0,j=e[t0>>2]|0,u0=j+-1|0,q2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,q2(o,m,8),I=e[t0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,Z=0;;){if(b=Q+(Z<<2)|0,v=e[b>>2]|0,w=H8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(q2(o,x,3),q2(o,1,1),M=e[b>>2]|0,L=M>>3,q2(o,L,5)):q2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(N=a&1,G=N+f0|0,U=a>>>1,Y=(U|0)==0,Y){g0=G;break}else a=U,f0=G;if(X=g0+$0|0,a0=Z+1|0,W=e[t0>>2]|0,r0=(a0|0)<(W|0),r0)$0=X,Z=a0;else{$=X;break}}if(B=($|0)>0,!!B)for(S=t+280|0,m0=0;s0=S+(m0<<2)|0,J=e[s0>>2]|0,q2(o,J,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Pb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0;a1=C,m=ce(1,2840)|0,I=t+28|0,M=e[I>>2]|0,W=r4(o,24)|0,e[m>>2]=W,$0=r4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=r4(o,24)|0,Z0=N0+1|0,V0=m+8|0,e[V0>>2]=Z0,s1=r4(o,6)|0,E=s1+1|0,Q=m+12|0,e[Q>>2]=E,B=r4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)c1=26;else{if(v=(s1|0)>-1,v){for(w=m+24|0,i1=0,d1=0;;){if(x=r4(o,3)|0,L=r4(o,1)|0,R=(L|0)<0,R){c1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(N=r4(o,5)|0,G=(N|0)<0,G){c1=26;break e}U=N<<3,Y=U|x,x0=Y}if(X=w+(d1<<2)|0,e[X>>2]=x0,K=(x0|0)==0,K)u1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,J=(s0|0)==0,J){u1=r0;break}else $=s0,A1=r0;if(o0=u1+i1|0,q=d1+1|0,d0=e[Q>>2]|0,t0=(q|0)<(d0|0),t0)i1=o0,d1=q;else{h=o0;break}}if(D=(h|0)>0,D)for(y=m+280|0,g1=0;;){if(j=r4(o,8)|0,u0=(j|0)<0,u0)break e;if(c0=y+(g1<<2)|0,e[c0>>2]=j,l0=g1+1|0,Z=(l0|0)<(h|0),Z)g1=l0;else{O0=D,Y0=h;break}}else O0=0,Y0=h}else O0=0,Y0=0;if(m0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(m0|0)<(f0|0),n0){if(O0)for(h0=m+280|0,m1=0;;){if(S0=h0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,W0=(_0|0)==0,p0=m1+1|0,W0))break e;if(C0=(p0|0)<(Y0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(m0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,P0=e[T0>>2]|0,q0=e[v0>>2]|0,k0=(q0|0)<1,!k0){for(J0=e[Q>>2]|0,o1=q0,h1=1;;){if(G0=n5(J0,h1)|0,K0=(G0|0)>(P0|0),K0)break e;if(F0=o1+-1|0,L0=(o1|0)>1,L0)o1=F0,h1=G0;else{g=G0;break}}return z0=m+16|0,e[z0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(H0=(m|0)==0,H0)?(a=0,a|0):(E2(m),a=0,a|0)}function Ob(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,h=ce(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[h>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,H0=h+4|0,e[H0>>2]=T0,s1=c0+2848|0,Y0=e[s1>>2]|0,I=h+12|0,e[I>>2]=Y0,E=Y0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=h+16|0,e[b>>2]=S,v=e[S>>2]|0,w=ce(T0,4)|0,D=h+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,u1=0,I1=0;;){if(R=M+(u1<<2)|0,F=e[R>>2]|0,N=H8(F)|0,G=(N|0)==0,G)d1=i1,Q1=I1;else if(U=(N|0)>(I1|0),$=U?N:I1,Y=ce(N,4)|0,X=w+(u1<<2)|0,e[X>>2]=Y,K=(N|0)>0,K)for(W=e[R>>2]|0,r0=w+(u1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,J=W&s0,o0=(J|0)==0,o0?o1=x0:(q=e[s1>>2]|0,d0=x0+1|0,t0=L+(x0<<2)|0,j=e[t0>>2]|0,u0=q+(j*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=d0),Z=$1+1|0,m1=(Z|0)==(N|0),m1){d1=o1,Q1=$;break}else x0=o1,$1=Z;else d1=i1,Q1=$;if(m0=u1+1|0,g0=(m0|0)<(T0|0),g0)i1=d1,u1=m0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=h+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(h0=n5(p0,T0)|0,C0=A1+1|0,g1=(C0|0)==(v|0),g1){a=h0;break}else p0=h0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=h+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=R9(b0)|0,w0=h+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return h|0;if(_0=v<<2,!n0){for(c1=0;z0=R9(_0)|0,Z0=y0+(c1<<2)|0,e[Z0>>2]=z0,O0=c1+1|0,V0=(O0|0)<(E0|0),V0;)c1=O0;return h|0}for(W0=e[w0>>2]|0,a1=0;;){for(L0=R9(_0)|0,G0=y0+(a1<<2)|0,e[G0>>2]=L0,K0=W0+(a1<<2)|0,J0=e[K0>>2]|0,g=E0,j0=0,B1=a1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,P0=n5(N0,p1)|0,q0=B1-P0|0,k0=J0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,h1=(F0|0)==(v|0),!h1;)g=p1,j0=F0,B1=q0;if(M0=a1+1|0,v0=(M0|0)<(E0|0),v0)a1=M0;else break}return h|0}function qb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||RQ(t,o,a,L,2),0}function Hb(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0;if(U=C,E=(h|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(h|0),M){N=F;break}else L=y,R=F;return x=(N|0)==0,x||FQ(t,a,$,N,m),0}function Vb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)o1=0,I1=0;else return h=0,h|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(o1<<2)|0,b0=e[l0>>2]|0,P0=I1+1|0,K0=a+(I1<<2)|0,e[K0>>2]=b0,Q1=P0),z0=o1+1|0,V0=(z0|0)==(g|0),V0){p1=Q1;break}else o1=z0,I1=Q1;if(H0=(p1|0)==0,H0)return h=0,h|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=K8(t,R)|0,N=+(S|0),G=100/N,U=G,Y=(p1|0)>0,Y)for(X=M<<2,d1=0;J=K8(t,X)|0,o0=F+(d1<<2)|0,e[o0>>2]=J,g4(J|0,0,X|0)|0,q=d1+1|0,x0=(q|0)==(p1|0),!x0;)d1=q;if(K=(M|0)>0,K)for(a0=(S|0)>0,W=v+-1|0,s0=(v|0)>1,g1=0;;){if(d0=n5(g1,S)|0,t0=e[Q>>2]|0,j=t0+d0|0,Y)for(h1=0;;){if(a0)for(u0=a+(h1<<2)|0,c0=e[u0>>2]|0,O0=0,u1=0,$1=0;;)if($0=j+u1|0,Z=c0+($0<<2)|0,m0=e[Z>>2]|0,m1=(m0|0)>-1,j0=0-m0|0,g0=m1?m0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+O0|0,h0=u1+1|0,s1=(h0|0)==(S|0),s1){Z0=n0,a1=m;break}else O0=n0,u1=h0,$1=m;else Z0=0,a1=0;p0=+(Z0|0),C0=p0*U,S0=~~C0;e:do if(s0)for(c1=0;;){if(Q0=(Q+2328|0)+(c1<<2)|0,E0=e[Q0>>2]|0,y0=(a1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,W0=(S0|0)<(B0|0),E1=_0|W0,E1)){A1=c1;break e}if(M0=c1+1|0,v0=(M0|0)<(W|0),v0)c1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(h1<<2)|0,N0=e[T0>>2]|0,q0=N0+(g1<<2)|0,e[q0>>2]=A1,k0=h1+1|0,Y0=(k0|0)==(p1|0),Y0)break;h1=k0}if(J0=g1+1|0,i1=(J0|0)==(M|0),i1)break;g1=J0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,h=F,h|0}function Yb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||RQ(t,o,a,L,3),0}function Jb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,a1=0;else return h=0,h|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,h1=(R|0)!=0,s0=h1&1,A1=s0+a1|0,Z=G0+1|0,J0=(Z|0)==(g|0),J0){c1=A1;break}else G0=Z,a1=A1;if(u1=(c1|0)==0,u1)return h=0,h|0;if(E0=e[o>>2]|0,W0=E0+8|0,M0=e[W0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=K8(t,4)|0,y=w<<2,x=K8(t,y)|0,e[D>>2]=x,g4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,N=(M0|0)>0,G=T0+-1|0,U=(T0|0)>1,Y=e[D>>2]|0,X=(g|0)>1,K0=0,Y0=F;;){if(N)for(K=e[a>>2]|0,P0=0,Z0=0,x0=Y0,d1=0;;){if(a0=K+(x0<<2)|0,W=e[a0>>2]|0,z0=(W|0)>-1,g1=0-W|0,r0=z0?W:g1,J=(r0|0)>(d1|0),I=J?r0:d1,X)for(k0=P0,s1=1;;)if(o0=a+(s1<<2)|0,q=e[o0>>2]|0,d0=q+(x0<<2)|0,t0=e[d0>>2]|0,H0=(t0|0)>-1,m1=0-t0|0,j=H0?t0:m1,u0=(j|0)>(k0|0),m=u0?j:k0,c0=s1+1|0,F0=(c0|0)==(g|0),F0){q0=m;break}else k0=m,s1=c0;else q0=P0;if($0=x0+1|0,l0=Z0+g|0,m0=(l0|0)<(M0|0),m0)P0=q0,Z0=l0,x0=$0,d1=I;else{N0=q0,i1=$0,o1=I;break}}else N0=0,i1=Y0,o1=0;e:do if(U)for(V0=0;;){if(g0=(E0+2328|0)+(V0<<2)|0,f0=e[g0>>2]|0,n0=(o1|0)>(f0|0),!n0&&(h0=(E0+2584|0)+(V0<<2)|0,p0=e[h0>>2]|0,C0=(N0|0)>(p0|0),!C0)){O0=V0;break e}if(S0=V0+1|0,Q0=(S0|0)<(G|0),Q0)V0=S0;else{O0=S0;break}}else O0=0;while(!1);if(b0=Y+(K0<<2)|0,e[b0>>2]=O0,y0=K0+1|0,L0=(y0|0)==(w|0),L0)break;K0=y0,Y0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,h=D,h|0}function zb(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0;if(c0=C,C=C+16|0,j=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=h<<2,N=n5(F,R)|0,G=K8(o,N)|0,e[j>>2]=G,U=(h|0)>0,!U)return C=c0,0;for(Y=(Q|0)>1,W=0,t0=0;;){if(X=$+(W<<2)|0,K=e[X>>2]|0,B=g+(W<<2)|0,S=e[B>>2]|0,J=(S|0)!=0,b=J&1,q=b+t0|0,Y)for(r0=0,s0=W;v=K+(r0<<2)|0,w=e[v>>2]|0,D=G+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+h|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=W+1|0,a0=(L|0)==(h|0),a0){d0=q;break}else W=L,t0=q}return o0=(d0|0)==0,o0?(C=c0,0):(FQ(t,a,j,1,m),C=c0,0)}function Kb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,P0=t+36|0,O0=e[P0>>2]|0,u1=n5(O0,g)|0,A1=u1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),h=S?B:A1,b=e[I>>2]|0,v=h-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=K8(t,R)|0,N=(g|0)>0;e:do if(N)for(a1=0;;){if(G=$+(a1<<2)|0,U=e[G>>2]|0,Y=(U|0)==0,!Y){c1=a1;break e}if(X=a1+1|0,K=(X|0)<(g|0),K)a1=X;else{c1=X;break}}else c1=0;while(!1);if(a0=(c1|0)==(g|0),a0||(W=o+8|0,s0=e[W>>2]|0,J=(s0|0)>0,!J))return 0;o0=(D|0)>0,q=t+4|0,d0=I+16|0,t0=o+28|0,j=(b0|0)>0,u0=o+20|0,h1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,m0=$E(Z,q)|0,g0=(m0|0)==-1,g0){v1=23;break e}if(f0=e[d0>>2]|0,n0=(m0|0)<(f0|0),!n0){v1=23;break e}if(h0=e[t0>>2]|0,p0=h0+(m0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=j&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,W0=(I+24|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,q0=N0+(_0<<2)|0,k0=e[q0>>2]|0,J0=k0+(w1<<2)|0,F0=e[J0>>2]|0,L0=(F0|0)==0,!L0&&(G0=n5(E1,L)|0,K0=e[I>>2]|0,z0=K0+G0|0,H0=tb(F0,a,z0,g,q,L)|0,Z0=(H0|0)==-1,Z0))){v1=23;break e}if(V0=I1+1|0,s1=E1+1|0,Y0=(V0|0)<(b0|0),i1=(s1|0)<(D|0),p1=Y0&i1,p1)E1=s1,I1=V0;else{j0=s1;break}}else j0=$1;if(x0=Q1+1|0,o1=(j0|0)<(D|0),o1)$1=j0,Q1=x0;else break}m=e[W>>2]|0,m1=m}else m1=h1;if(d1=w1+1|0,g1=(d1|0)<(m1|0),g1)h1=m1,w1=d1;else{v1=23;break}}return(v1|0)==23,0}function RQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,J=o+16|0,m0=e[J>>2]|0,y0=e[m0>>2]|0,k0=t+36|0,s1=e[k0>>2]|0,c1=s1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(c1|0),h=b?S:c1,v=e[Q>>2]|0,w=h-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,N=R+y|0,G=(N|0)/(y0|0)&-1,U=G<<2,U1=0;d0=K8(t,U)|0,t0=M+(U1<<2)|0,e[t0>>2]=d0,j=U1+1|0,M1=(j|0)==($|0),!M1;)U1=j;if(Y=o+8|0,X=e[Y>>2]|0,K=(X|0)>0,!K){C=X1;return}a0=(y|0)>0,W=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,q=o+20|0,E=L^1,V1=0;e:for(;;){if(a0)for(u0=1<>2]|0,Y0=$E(V0,W)|0,i1=(Y0|0)==-1,i1){Y1=25;break e}if(x0=e[r0>>2]|0,o1=(Y0|0)<(x0|0),!o1){Y1=25;break e}if(d1=e[s0>>2]|0,g1=d1+(Y0<<2)|0,m1=e[g1>>2]|0,h1=M+(D1<<2)|0,u1=e[h1>>2]|0,A1=u1+(x1<<2)|0,e[A1>>2]=m1,a1=(m1|0)==0,Z0=D1+1|0,a1){Y1=25;break e}if(O0=(Z0|0)<($|0),O0)D1=Z0;else break}c0=(b1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),z1=E1&I1,z1)R1=j0,Z1=$1;else{_1=j0;break t}for(;;){for(h0=n5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+h0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,W0=(_0|0)==0,!W0&&(M0=e[q>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(V1<<2)|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0&&(J0=a+(P1<<2)|0,F0=e[J0>>2]|0,L0=F0+(n0<<2)|0,G0=UC[g&3](P0,L0,W,F)|0,K0=(G0|0)==-1,K0))){Y1=25;break e}if(z0=P1+1|0,H0=(z0|0)<($|0),H0)P1=z0;else break}if($0=G1+1|0,l0=F1+1|0,Z=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=Z&g0,q1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,p1=(_1|0)<(y|0),p1)b1=_1,x1=Q1;else break}if(B1=V1+1|0,w1=e[Y>>2]|0,v1=(B1|0)<(w1|0),v1)V1=B1;else{Y1=25;break}}if((Y1|0)==25){C=X1;return}}function FQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,z6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,l2=e[x>>2]|0,J2=y+12|0,Z2=e[J2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,h3=y+4|0,H3=e[h3>>2]|0,M=e[y>>2]|0,W=H3-M|0,$0=(W|0)/(l2|0)&-1,g4(z6|0,0,512)|0,g4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(h1=($0|0)>0,B1=($|0)>0,D1=(f5|0)>1,o2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(h1){for(G2=(c6|0)==0,L2=1<>2]|0,q5=L5+(j5<<2)|0,M5=e[q5>>2]|0,Y2=e[Q5>>2]|0,p5=Y2+4|0,$5=e[p5>>2]|0,u5=(M5|0)<($5|0),u5&&(y5=Ou(Y2,M5,t)|0,D5=e[o2>>2]|0,d5=D5+y5|0,e[o2>>2]=d5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(R3<<2)|0,I5=e[b2>>2]|0,B5=I5+(j5<<2)|0,o5=e[B5>>2]|0,C6=1,A6=o5;;)if(e5=n5(A6,Z2)|0,T5=C6+j5|0,t5=(T5|0)<($0|0),t5?(x5=I5+(T5<<2)|0,b5=e[x5>>2]|0,V5=b5+e5|0,D6=V5):D6=e5,g5=C6+1|0,L3=(g5|0)==(f5|0),L3){G6=D6;break}else C6=g5,A6=D6;if(K2=e[Q5>>2]|0,O2=K2+4|0,U2=e[O2>>2]|0,H2=(G6|0)<(U2|0),H2&&(W2=Ou(K2,G6,t)|0,A5=e[o2>>2]|0,V2=A5+W2|0,e[o2>>2]=V2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(R2=(j5|0)<($0|0),R6=i2&R2,R6){for(M2=j5-$0|0,y2=M2>>>0>>0,H6=y2?Q2:M2,N5=0-H6|0,h6=j5,K3=0;;){if(j2=n5(h6,l2)|0,d2=e[y>>2]|0,w5=d2+j2|0,B1)for(o6=0;;){if(i5=g+(o6<<2)|0,s5=e[i5>>2]|0,h5=s5+(h6<<2)|0,z2=e[h5>>2]|0,G2&&(r5=A3+(z2<<2)|0,R5=e[r5>>2]|0,X2=R5+l2|0,e[r5>>2]=X2),c5=(y+24|0)+(z2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,J5=(v5|0)==0,!J5&&(i3=e[D2>>2]|0,E5=i3+(z2<<2)|0,I3=e[E5>>2]|0,W5=I3+(c6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,G5=e[B3>>2]|0,Z5=e[r3>>2]|0,x3=(l2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=r3+48|0,X3=r3+52|0,X5=r3+44|0,_3=r3+12|0,t3=r3+4|0,L=Z5,S5=0,d3=0;;){s6=n5(d3,Z5)|0,b=s6+w5|0,G3=G5+(b<<2)|0,V3=e[w3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(U=g3+-1|0,m3=0,S6=0,W3=L;;)if(C0=W3+-1|0,D=b+C0|0,S0=G5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-V3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(W0=E0-u3|0,M0=W0<<1,T0=M0),v0=n5(S6,g3)|0,P0=(T0|0)<0,q0=(T0|0)>=(g3|0),k0=q0?U:T0,J0=P0?0:k0,F0=J0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,W3=C0}else{if(!R){r6=0;break}for(F=c3>>1,N=F-V3|0,G=g3+-1|0,M3=0,M6=0,F3=L;;)if(Y=F3+-1|0,w=b+Y|0,X=G5+(w<<2)|0,K=e[X>>2]|0,a0=N+K|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(J=u3-r0|0,o0=J<<1,q=o0+-1|0,u0=q):(d0=r0-u3|0,t0=d0<<1,u0=t0),j=n5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),Z=l0?G:u0,m0=c0?0:Z,g0=m0+j|0,f0=n5(r0,c3)|0,n0=f0+V3|0,h0=o3+(Y<<2)|0,e[h0>>2]=n0,p0=M3+1|0,J3=(p0|0)==(L|0),J3){r6=g0;break}else M3=p0,M6=g0,F3=Y}while(!1);K0=e[_3>>2]|0,z0=K0+8|0,H0=e[z0>>2]|0,O0=H0+r6|0,V0=f[O0>>0]|0,s1=V0<<24>>24<1;do if(s1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,Y0=g3+-1|0,i1=n5(Y0,c3)|0,x0=i1+V3|0,o1=e[t3>>2]|0,d1=(o1|0)>0,d1)z5=-1,x6=0,f6=r6;else{N6=r6;break}for(;;){g1=H0+x6|0,m1=f[g1>>0]|0,u1=m1<<24>>24>0;do if(u1){if(R)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,c1=e[A1>>2]|0,v=b+j6|0,a1=G5+(v<<2)|0,$1=e[a1>>2]|0,j0=c1-$1|0,E1=n5(j0,j0)|0,I1=E1+T3|0,Q1=j6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else j6=Q1,T3=I1;else B6=0;if(p1=(z5|0)==-1,w1=(B6|0)<(z5|0),e6=p1|w1,!e6){H5=z5,b6=f6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=B6,b6=x6}else H5=z5,b6=f6;while(!1);if(v1=e[U5>>2]|0,k1=(v1|0)<(x0|0),k1)m=U5,I=v1;else for(M1=U5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(x0|0),R1){m=b1,I=_1;break}else M1=b1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=x6+1|0,n3=(G1|0)==(o1|0),n3){N6=b6;break}else z5=H5,x6=G1,f6=b6}}else N6=r6;while(!1);if(x1=(N6|0)>-1,l6=R&x1,l6)for(h=G3,L6=0;z1=o3+(L6<<2)|0,q1=e[z1>>2]|0,H1=h+4|0,V1=e[h>>2]|0,Y1=V1-q1|0,e[h>>2]=Y1,X1=L6+1|0,l3=(X1|0)==(L|0),!l3;)h=H1,L6=X1;if(j1=Ou(r3,N6,t)|0,O1=j1+S5|0,u2=d3+1|0,U3=(u2|0)==(x3|0),U3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,d3=u2}B=e[i5>>2]|0,C2=B,Y5=E}else C2=s5,Y5=0;W1=e[S2>>2]|0,I2=W1+Y5|0,e[S2>>2]=I2,a2=C2+(h6<<2)|0,A2=e[a2>>2]|0,K1=z6+(A2<<2)|0,h2=e[K1>>2]|0,c2=h2+Y5|0,e[K1>>2]=c2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if($2=K3+1|0,e2=h6+1|0,b3=($2|0)==(N5|0),b3)break;h6=e2,K3=$2}P2=j5-H6|0,z3=P2}else z3=j5;if(p2=(z3|0)<($0|0),p2)j5=z3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(s2=c6+1|0,m2=(s2|0)<(t2|0),m2)k2=t2,c6=s2;else break}C=Q6}function H8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,h=($|0)==0,h){m=g;break}else o=$,I=g;return m|0}function TQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0;h2=C,C=C+144|0,O1=h2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=R9(R)|0,g4(O1|0,0,132)|0,Z=(o|0)>0;do if(Z){E0=O1+4|0,q0=(a|0)==0,V0=q0&1,v1=0,D1=0;e:for(;;){A1=t+D1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,u2=w|y,!u2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(J=v,o0=M,z1=B;;){if(r0=J+1|0,e[o0>>2]=r0,q=z1+-1|0,d0=(z1|0)>1,!d0)break i;if(h=O1+(q<<2)|0,I=e[h>>2]|0,t0=O1+(q<<2)|0,j=I&1,u0=(j|0)==0,u0)J=I,o0=t0,z1=q;else{g=t0,x1=q,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,G=(x1|0)==1,G){U=e[E0>>2]|0,Y=U+1|0,e[E0>>2]=Y;break}else{X=x1+-1|0,K=O1+(X<<2)|0,a0=e[K>>2]|0,W=a0<<1,e[g>>2]=W;break}while(!1);if(Y1=B+1|0,N=(Y1|0)<33,N)for(R1=v,H1=B,X1=Y1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,h0=(q1|0)<33,h0)V1=X1,R1=$0,X1=q1,H1=V1;else{m=1;break}}else m=1}else m=V0;while(!1);if(k1=v1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,D1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return E2(s0),$=0,C=h2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,O0=e[Z0>>2]|0,s1=32-P1|0,Y0=-1>>>s1,i1=O0&Y0,x0=(i1|0)==0,z0=P1+1|0,!!x0;)if(H0=(z0|0)<33,H0)P1=z0,K1=27;else break e;return E2(s0),$=0,C=h2,$|0}while(!1);if(!Z)return $=s0,C=h2,$|0;if(E)b1=0,G1=0;else{for(M1=0,Z1=0;;){if(o1=t+Z1|0,d1=f[o1>>0]|0,g1=d1<<24>>24>0,g1)for(m1=s0+(M1<<2)|0,h1=e[m1>>2]|0,u1=d1<<24>>24,o2=0,C2=0;;)if(c1=C2<<1,a1=h1>>>o2,$1=a1&1,j0=$1|c1,E1=o2+1|0,I1=(E1|0)<(u1|0),I1)o2=E1,C2=j0;else{I2=j0;break}else I2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=I2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=h2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(K0=s0+(b1<<2)|0,P0=e[K0>>2]|0,G0=w0<<24>>24,j1=0,A2=0;;)if(T0=A2<<1,N0=P0>>>j1,k0=N0&1,J0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,A2=J0;else{a2=J0;break}else a2=0;if(_0=w0<<24>>24==0,_0?_1=b1:(W0=b1+1|0,M0=s0+(b1<<2)|0,e[M0>>2]=a2,_1=W0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=h2,$|0}function Wb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,N=+Gu(+M,+F),h=+rA(+N),m=~~h,K=m;;){for(b=K+1|0,G=1,U=1,Y=0;;)if(B=n5(G,K)|0,S=n5(U,b)|0,v=Y+1|0,w=(v|0)<(D|0),w)G=B,U=S,Y=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),X=I&E,X){r0=K;break}Q=(o|0)>(g|0),W=Q?-1:1,a0=K+W|0,K=a0}return r0|0}function Zb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,r5=E>>>0<2,!r5)return h=0,h|0;if(Y0=t+16|0,a1=e[Y0>>2]|0,L1=a1&2097151,x1=+(L1|0),W1=a1>>>21,$2=W1&1023,P2=(a1|0)<0,e5=-x1,$=P2?e5:x1,S=$2+-788|0,N=+gE($,S),o0=N,g0=t+20|0,w0=e[g0>>2]|0,J0=w0&2097151,Z0=+(J0|0),O0=w0>>>21,V0=O0&1023,s1=(w0|0)<0,i1=-Z0,g=s1?i1:Z0,x0=V0+-788|0,o1=+gE(g,x0),d1=o1,g1=e[t>>2]|0,m1=n5(g1,o)|0,h1=ce(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(g1|0)>0,!k1)for(;;);for(M1=+(v1|0),b1=M1,_1=+(g1|0),R1=1/_1,F1=R1,U1=+Gu(+b1,+F1),D1=+rA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,o5=1,R2=1,p5=0;;)if(O1=n5(o5,c5)|0,u2=n5(R2,I2)|0,a2=p5+1|0,m5=(a2|0)==(g1|0),m5){m=O1,I=u2;break}else o5=O1,R2=u2,p5=a2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),X2=j1?-1:1,R5=X2+c5|0,c5=R5}if(z1=(v1|0)>0,!z1)return h=h1,h|0;for(q1=(a|0)==0,H1=t+8|0,V1=t+32|0,Y1=d1,X1=o0,o2=t+28|0,M2=0,T1=0;;){if(q1)if(l2=e[V1>>2]|0,i2=e[o2>>2]|0,c2=(i2|0)==0,r2=n5(g1,M2)|0,c2)for(y5=1,j2=0;;)if(x5=(T1|0)/(y5|0)&-1,Z2=(x5|0)%(F2|0)&-1,I5=l2+(Z2<<2)|0,b5=e[I5>>2]|0,V5=+(b5|0),Y2=+rr(+V5),g5=Y2,b2=g5*Y1,B5=X1+b2,b=B5,v=r2+j2|0,w=h1+(v<<2)|0,s[w>>2]=b,D=n5(y5,F2)|0,y=j2+1|0,x=(y|0)<(g1|0),x)y5=D,j2=y;else{v5=21;break}else for($5=1,d5=0,i5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=l2+(L<<2)|0,F=e[R>>2]|0,G=+(F|0),q5=+rr(+G),U=q5,Y=U*Y1,X=i5,K=X+X1,a0=K+Y,W=a0,r0=r2+d5|0,s0=h1+(r0<<2)|0,s[s0>>2]=W,J=n5($5,F2)|0,q=d5+1|0,d0=(q|0)<(g1|0),d0)$5=J,d5=q,i5=W;else{v5=21;break}else if(C2=e[H1>>2]|0,A2=C2+T1|0,K1=f[A2>>0]|0,h2=K1<<24>>24==0,h2)y2=M2;else for(e2=e[V1>>2]|0,s2=e[o2>>2]|0,m2=(s2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=n5(k2,g1)|0,u5=1,l5=0,s5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,G2=e2+(Q2<<2)|0,L2=e[G2>>2]|0,p2=+(L2|0),M5=+rr(+p2),K2=M5,O2=K2*Y1,J2=s5,U2=J2+X1,H2=U2+O2,W2=H2,w5=m2?s5:W2,A5=D2+l5|0,V2=h1+(A5<<2)|0,s[V2>>2]=W2,N1=n5(u5,F2)|0,T5=l5+1|0,t5=(T5|0)<(g1|0),t5)u5=N1,l5=T5,s5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,t0=M2+1|0,y2=t0),j=T1+1|0,u0=(j|0)<(v1|0),u0)M2=y2,T1=j;else{h=h1;break}}return h|0}else if((B|0)==2){if(u1=t+4|0,A1=e[u1>>2]|0,c1=(A1|0)>0,!c1)return h=h1,h|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=d1,Q1=o0,p1=t+28|0,B1=(g1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,Z=l0<<24>>24==0,Z?N5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(m0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,h0=a+(Q5<<2)|0,p0=n5(g1,D5)|0,C0=n5(g1,Q5)|0,d2=0,z2=0;S0=p0+d2|0,Q0=m0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),L5=+rr(+E0),y0=L5,B0=y0*I1,_0=z2,W0=_0+Q1,M0=W0+B0,v0=M0,h5=n0?z2:v0,$1?(T0=e[h0>>2]|0,N0=n5(T0,g1)|0,P0=N0+d2|0,q0=h1+(P0<<2)|0,s[q0>>2]=v0):(k0=C0+d2|0,F0=h1+(k0<<2)|0,s[F0>>2]=v0),L0=d2+1|0,G0=(L0|0)<(g1|0),G0;)d2=L0,z2=h5;K0=Q5+1|0,N5=K0}if(z0=D5+1|0,H0=(z0|0)<(A1|0),H0)Q5=N5,D5=z0;else{h=h1;break}}return h|0}else return h=h1,h|0;return 0}function FC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,h=e[g>>2]|0,m=(h|0)==0,m||E2(h),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),E2(t))}function jb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||E2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||E2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||E2($),h=t+32|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function NQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0;O0=C,H0=t,V0=H0+56|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(V0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,W=t+4|0,e[W>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,W0=e[_0>>2]|0,M0=TQ(W0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Gu(+b,+D),x=+rA(+y),L=~~x,K0=L;;){for(Y=K0+1|0,T0=1,N0=1,q0=0;;)if(G=n5(T0,K0)|0,U=n5(N0,Y)|0,X=q0+1|0,P0=(X|0)==(Q|0),P0){g=G,h=U;break}else T0=G,N0=U,q0=X;if(R=(g|0)<=(E|0),F=(h|0)>(E|0),k0=F&R,k0){z0=K0;break}N=(g|0)>(E|0),G0=N?-1:1,L0=G0+K0|0,K0=L0}return K=t+44|0,e[K>>2]=z0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,J=+(s0|0),o0=r0>>>21,q=o0&1023,d0=(r0|0)<0,t0=-J,a=d0?t0:J,j=q+-788|0,u0=+gE(a,j),c0=u0,J0=+HQ(c0),l0=~~J0,Z=t+48|0,e[Z>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,f0=g0&2097151,n0=+(f0|0),h0=g0>>>21,p0=h0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+gE($,b0),y0=E0,F0=+HQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function Xb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0;O3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(b=o+4|0,v=e[b>>2]|0,C2=(v|0)>0,C2)for(Y2=o+8|0,w5=e[Y2>>2]|0,K3=0,G6=0;;)if(v5=w5+K3|0,Z5=f[v5>>0]|0,V3=Z5<<24>>24>0,$6=V3&1,E=$6+G6|0,j5=K3+1|0,w=(j5|0)<(v|0),w)K3=j5,G6=E;else{h0=E;break}else h0=0;if(Y=t+4|0,e[Y>>2]=v,t0=t+8|0,e[t0>>2]=h0,W0=e[o>>2]|0,e[t>>2]=W0,G0=(h0|0)>0,!G0)return $=0,C=O3,$|0;if(o1=o+8|0,E1=e[o1>>2]|0,_1=TQ(E1,v,h0)|0,H1=h0<<2,h=H1,A2=C,C=C+((1*h|0)+15&-16)|0,t2=(_1|0)==0,t2){H2=t+16|0,W2=e[H2>>2]|0,A5=(W2|0)==0,A5||E2(W2),V2=t+20|0,N1=e[V2>>2]|0,e5=(N1|0)==0,e5||E2(N1),T5=t+24|0,t5=e[T5>>2]|0,x5=(t5|0)==0,x5||E2(t5),I5=t+28|0,b5=e[I5>>2]|0,V5=(b5|0)==0,V5||E2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=O3,$|0}else F3=0;for(;J2=_1+(F3<<2)|0,Z2=e[J2>>2]|0,Q5=Z2>>>16,N5=Z2<<16,m5=Q5|N5,L5=m5>>>8,q5=L5&16711935,M5=m5<<8,p5=M5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,d5=y5|D5,l5=d5>>>2,j2=l5&858993459,d2=d5<<2,i5=d2&-858993460,s5=j2|i5,h5=s5>>>1,z2=h5&1431655765,f5=s5<<1,r5=f5&-1431655766,R5=z2|r5,e[J2>>2]=R5,X2=A2+(F3<<2)|0,e[X2>>2]=J2,c5=F3+1|0,j6=(c5|0)==(h0|0),!j6;)F3=c5;for(Hu(A2,h0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,J5=R9(H1)|0,i3=t+20|0,e[i3>>2]=J5,E5=_1,W3=0;;)if(I3=A2+(W3<<2)|0,h3=e[I3>>2]|0,W5=h3,r3=W5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=W3,G5=W3+1|0,N6=(G5|0)==(h0|0),N6){e6=0;break}else W3=G5;for(;x3=_1+(e6<<2)|0,f3=e[x3>>2]|0,w3=F2+(e6<<2)|0,X3=e[w3>>2]|0,H3=J5+(X3<<2)|0,e[H3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(h0|0),!b6;)e6=X5;if(E2(_1),_3=Zb(o,h0,F2)|0,t3=t+16|0,e[t3>>2]=_3,s6=R9(H1)|0,G3=t+24|0,e[G3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=Q+R6|0,Q3=f[u3>>0]|0,z5=Q3<<24>>24>0,z5?(H5=Q6+1|0,Y5=F2+(Q6<<2)|0,S5=e[Y5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=R9(e9)|0,U3=t+28|0,e[U3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[o1>>2]|0,o5=0,L3=B,l6=0,r9=0;;)if(b3=L3+l6|0,D3=f[b3>>0]|0,a6=D3<<24>>24>0,a6?(i6=r9+1|0,J3=F2+(r9<<2)|0,M3=e[J3>>2]|0,d3=e[U3>>2]|0,z3=d3+M3|0,f[z3>>0]=D3,h6=e[o1>>2]|0,m3=h6+l6|0,x6=f[m3>>0]|0,L6=x6<<24>>24,M6=e[E6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[E6>>2]=L6,R2=L6,M2=h6,V6=i6):(R2=M6,M2=h6,V6=i6)):(R2=o5,M2=L3,V6=r9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)o5=R2,L3=M2,l6=r6,r9=V6;else{I=R2,o9=V6;break}if(x=(o9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=ce(2,4)|0,F=t+32|0,e[F>>2]=R,N=R+4|0,e[N>>2]=1,e[R>>2]=1,$=0,C=O3,$|0;P3=1}else P3=o9}else P3=0;if(G=e[t0>>2]|0,U=(G|0)==0,U)U6=-4;else{for(g=G,Y6=0;;)if(X=g>>>1,K=Y6+1|0,a0=(X|0)==0,a0){F6=Y6;break}else g=X,Y6=K;g9=F6+-3|0,U6=g9}if(W=t+36|0,r0=(U6|0)<5,a=r0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[W>>2]=t9,J=1<>2]=o0,d0=(P3|0)>0,d0)for(l0=t9,o3=0;;){if(j=e[U3>>2]|0,u0=j+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,Z=(l0|0)<($0|0),Z)y2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,P0=v0<<2,q0=P0&-858993460,k0=N0|q0,J0=k0>>>1,F0=J0&1431655765,L0=k0<<1,K0=L0&-1431655766,z0=F0|K0,H0=l0-$0|0,Z0=(H0|0)==31,Z0)y2=l0;else for(O0=o3+1|0,s1=$0,A3=0;;)if(V0=A3<>2]=O0,x0=A3+1|0,d1=e[W>>2]|0,g1=f[u0>>0]|0,m1=g1<<24>>24,h1=d1-m1|0,u1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,b1=k1<<8,R1=b1&-16711936,F1=M1|R1,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=D1|Z1,x1=G1>>>2,z1=x1&858993459,q1=G1<<2,V1=q1&-858993460,Y1=z1|V1,X1=Y1>>>1,o2=X1&1431655765,j1=Y1<<1,O1=j1&-1431655766,u2=o2|O1,W1=o0+(u2<<2)|0,I2=e[W1>>2]|0,a2=(I2|0)==0,a2){for(B6=c6;;){if(K1=B6+1|0,h2=(K1|0)<(P3|0),!h2){T3=B6;break}if(l2=e[i3>>2]|0,i2=l2+(K1<<2)|0,c2=e[i2>>2]|0,r2=c2>>>0>B1>>>0,r2){T3=B6;break}else B6=K1}$2=(P3|0)>(v6|0);e:do if($2)for(e2=e[i3>>2]|0,n6=v6;;){if(s2=e2+(n6<<2)|0,m2=e[s2>>2]|0,k2=m2&j0,D2=B1>>>0>>0,D2){R3=n6;break e}if(S2=n6+1|0,Q2=(P3|0)>(S2|0),Q2)n6=S2;else{R3=S2;break}}else R3=v6;while(!1);G2=P3-R3|0,L2=T3>>>0>32767,P2=G2>>>0>32767,C6=P2?32767:G2,H6=T3<<15,A6=H6|-2147483648,p2=L2?-1073774592:A6,K2=p2|C6,e[W1>>2]=K2,o6=R3,D6=T3}else o6=v6,D6=c6;if(O2=z6+1|0,U2=(O2|0)<(J|0),!U2){$=0;break}S=e[W>>2]|0,p1=S,v6=o6,z6=O2,c6=D6}return C=O3,$|0}function eD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$>>>0>h>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function tD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0;if(W0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,J=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,Z=l0+4|0,m0=e[Z>>2]|0,g0=(m0|0)>0,!!g0)){for(f0=m0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=n5(D,w)|0,x=v+-1|0,M=n5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(K=(R|0)==0,a=E+L|0,a0=J+(a<<2)|0,K){OQ(D,w,o,J,a0),y0=0;break}else{OQ(D,w,J,o,a0),y0=R;break}else if((v|0)==4)if(N=L+D|0,G=(R|0)==0,$=E+L|0,U=J+($<<2)|0,g=E+N|0,Y=J+(g<<2)|0,h=E+D|0,m=h+N|0,X=J+(m<<2)|0,G){PQ(D,w,o,J,U,Y,X),y0=0;break}else{PQ(D,w,J,o,U,Y,X),y0=R;break}else if(W=(D|0)==1,b0=W?E0:R,r0=(b0|0)==0,I=E+L|0,s0=J+(I<<2)|0,r0){qQ(D,v,w,y,o,o,o,J,J,s0),y0=1;break}else{qQ(D,v,w,y,J,J,J,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,h0=(o0|0)==(m0|0),h0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(q=(w0|0)!=1,d0=(Q|0)>0,B0=d0&q,B0)p0=0;else return;for(;t0=J+(p0<<2)|0,j=e[t0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=j,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function GQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=ce(m,4)|0,M=t+4|0,e[M>>2]=I,W=ce(32,4)|0,$0=t+8|0,e[$0>>2]=W,Q0=(o|0)==1,!Q0){W0=W+8|0,Y0=-1,g1=0,m1=o,u1=0;e:for(;;)for(M0=Y0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=u1+2|0,A1=Q),B=(A1|0)!=2,H0=g1,h1=m1;;){if(K0=H0+1|0,S=(h1|0)/(A1|0)&-1,b=n5(S,A1)|0,v=(h1|0)==(b|0),!v){Y0=M0,g1=H0,m1=h1,u1=A1;continue e}if(w=H0+2|0,D=W+(w<<2)|0,e[D>>2]=A1,y=(H0|0)==0,c1=B|y,!c1){if(x=(H0|0)<1,!x)for(F0=1;L=K0-F0|0,R=L+1|0,F=W+(R<<2)|0,N=e[F>>2]|0,G=L+2|0,U=W+(G<<2)|0,e[U>>2]=N,Y=F0+1|0,k0=(Y|0)==(K0|0),!k0;)F0=Y;e[W0>>2]=2}if(X=(S|0)==1,X){a=y,z0=K0,Z0=H0;break e}else H0=K0,h1=S}if(e[W>>2]=o,K=W+4|0,e[K>>2]=z0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,a1=s0&$,!!a1)for(J=o+1|0,O0=0,x0=0,o1=1;;){if(o0=x0+2|0,q=W+(o0<<2)|0,d0=e[q>>2]|0,t0=n5(d0,o1)|0,j=(o|0)/(t0|0)&-1,u0=(d0|0)>1,u0){for(c0=(j|0)>2,l0=d0+-1|0,s1=O0,i1=0,d1=0;;){if(Z=d1+o1|0,m0=+(Z|0),g0=m0*r0,c0)for(J0=0,L0=s1,G0=2;f0=J0+1,n0=g0*f0,N0=+nA(+n0),g=L0+o|0,h0=I+(g<<2)|0,s[h0>>2]=N0,$1=+Vn(+n0),p0=L0+2|0,h=J+L0|0,C0=I+(h<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(j|0),b0;)J0=f0,L0=p0,G0=S0;if(E0=s1+j|0,y0=i1+1|0,P0=(y0|0)==(l0|0),P0)break;s1=E0,i1=y0,d1=Z}w0=n5(j,l0)|0,B0=w0+O0|0,V0=B0}else V0=O0;if(_0=x0+1|0,q0=(_0|0)==(Z0|0),q0)break;O0=V0,x0=_0,o1=t0}}}function UQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),h=t+8|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function PQ(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0;if(I3=C,I=n5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,k2=t<<1,d2=0,s5=I,f5=F1,X2=0,c5=E;U2=a+(s5<<2)|0,I5=+s[U2>>2],N5=a+(f5<<2)|0,Q=+s[N5>>2],R=Q+I5,s0=a+(X2<<2)|0,Z=+s[s0>>2],E0=a+(c5<<2)|0,q0=+s[E0>>2],V0=q0+Z,A1=V0+R,E1=X2<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=V0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[N5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,Z1=s5+t|0,G1=f5+t|0,x1=X2+t|0,z1=c5+t|0,q1=d2+1|0,d5=(q1|0)==(o|0),!d5;)d2=q1,s5=Z1,f5=G1,X2=x1,c5=z1;if(H1=(t|0)<2,!H1){if(V1=(t|0)==2,!V1){if(Q1)for(X1=t<<1,w5=0,h5=0;;){for(n0=h5<<2,h0=n0+X1|0,j2=2,r5=h5,F2=n0,J5=h0;O1=r5+2|0,u2=F2+2|0,W1=J5+-2|0,I2=O1+I|0,a2=j2+-2|0,C2=g+(a2<<2)|0,A2=+s[C2>>2],h2=I2+-1|0,l2=a+(h2<<2)|0,i2=+s[l2>>2],c2=i2*A2,r2=j2+-1|0,$2=g+(r2<<2)|0,e2=+s[$2>>2],s2=a+(I2<<2)|0,m2=+s[s2>>2],t2=m2*e2,D2=t2+c2,S2=m2*A2,Q2=e2*i2,G2=S2-Q2,L2=I2+I|0,P2=h+(a2<<2)|0,p2=+s[P2>>2],K2=L2+-1|0,O2=a+(K2<<2)|0,J2=+s[O2>>2],H2=J2*p2,W2=h+(r2<<2)|0,A5=+s[W2>>2],V2=a+(L2<<2)|0,N1=+s[V2>>2],e5=N1*A5,T5=e5+H2,t5=N1*p2,x5=A5*J2,Z2=t5-x5,b5=L2+I|0,V5=m+(a2<<2)|0,g5=+s[V5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,o5=+s[B5>>2],R2=o5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],L5=m5*y2,q5=L5+R2,M5=m5*g5,Y2=y2*o5,p5=M5-Y2,$5=q5+D2,u5=q5-D2,y5=p5+G2,T1=G2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+Z2,v=S-Z2,w=r5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+T5,M=y-T5,L=$5+x,F=F2|1,N=$+(F<<2)|0,s[N>>2]=L,G=y5+b,U=$+(u2<<2)|0,s[U>>2]=G,Y=M-T1,X=J5+-3|0,K=$+(X<<2)|0,s[K>>2]=Y,a0=u5-v,W=$+(W1<<2)|0,s[W>>2]=a0,r0=T1+M,J=u2+X1|0,o0=J+-1|0,q=$+(o0<<2)|0,s[q>>2]=r0,d0=u5+v,t0=$+(J<<2)|0,s[t0>>2]=d0,j=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=j,l0=y5-b,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=j2+2|0,f0=(g0|0)<(t|0),f0;)j2=g0,r5=O1,F2=u2,J5=W1;if(o2=h5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,h5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,i5=0,z2=Q0,R5=w0,v5=t,i3=t;B0=a+(z2<<2)|0,_0=+s[B0>>2],W0=a+(R5<<2)|0,M0=+s[W0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,P0=N0*.7071067690849304,k0=i3+-1|0,J0=a+(k0<<2)|0,F0=+s[J0>>2],L0=P0+F0,G0=v5+-1|0,K0=$+(G0<<2)|0,s[K0>>2]=L0,z0=+s[J0>>2],H0=z0-P0,Z0=v5+y0|0,O0=Z0+-1|0,s1=$+(O0<<2)|0,s[s1>>2]=H0,Y0=z2+I|0,i1=a+(Y0<<2)|0,x0=+s[i1>>2],o1=T0-x0,d1=$+(v5<<2)|0,s[d1>>2]=o1,g1=+s[i1>>2],m1=g1+T0,h1=$+(Z0<<2)|0,s[h1>>2]=m1,u1=z2+t|0,c1=R5+t|0,a1=v5+b0|0,$1=i3+t|0,j0=i5+1|0,D5=(j0|0)==(o|0),!D5;)i5=j0,z2=u1,R5=c1,v5=a1,i3=$1}}function OQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,h=n5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=h;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,H0=+s[T0>>2],m1=H0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,a1=(D|0)==(o|0),!a1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=h;;){for(J0=B1<<1,F0=J0+m|0,j0=2,M1=k1,_1=F0,R1=B1,F1=J0;N=M1+2|0,G=_1+-2|0,U=R1+2|0,Y=F1+2|0,X=j0+-2|0,K=g+(X<<2)|0,W=+s[K>>2],r0=M1+1|0,s0=a+(r0<<2)|0,J=+s[s0>>2],o0=J*W,q=j0+-1|0,d0=g+(q<<2)|0,t0=+s[d0>>2],j=a+(N<<2)|0,u0=+s[j>>2],$0=u0*t0,l0=$0+o0,Z=u0*W,m0=t0*J,g0=Z-m0,f0=a+(U<<2)|0,n0=+s[f0>>2],h0=g0+n0,p0=$+(Y<<2)|0,s[p0>>2]=h0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(G<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,W0=$+(_0<<2)|0,s[W0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=_1+-3|0,P0=$+(N0<<2)|0,s[P0>>2]=v0,q0=j0+2|0,k0=(q0|0)<(t|0),k0;)j0=q0,M1=N,_1=G,R1=U,F1=Y;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(K0=t+-1|0,!!x)for(z0=h+K0|0,Q1=0,w1=t,L1=z0,b1=K0;Z0=a+(L1<<2)|0,O0=+s[Z0>>2],V0=-O0,s1=$+(w1<<2)|0,s[s1>>2]=V0,Y0=a+(b1<<2)|0,i1=e[Y0>>2]|0,x0=w1+-1|0,o1=$+(x0<<2)|0,e[o1>>2]=i1,d1=w1+m|0,g1=L1+t|0,h1=b1+t|0,u1=Q1+1|0,c1=(u1|0)==(o|0),!c1;)Q1=u1,w1=d1,L1=g1,b1=h1}}function qQ(t,o,a,$,g,h,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,V8=0,W8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+nA(+v),V8=+Vn(+v),C2=o+1|0,b3=C2>>1,z9=t+-1|0,Je=z9>>1,O9=n5(a,t)|0,S9=n5(o,t)|0,pe=(t|0)==1;e:do if(!pe){if(_8=($|0)>0,_8)for(D4=0;h0=m+(D4<<2)|0,W0=e[h0>>2]|0,G0=E+(D4<<2)|0,e[G0>>2]=W0,o1=D4+1|0,Bt=(o1|0)==($|0),!Bt;)D4=o1;if(Y=(o|0)>1,Y)for(t0=(a|0)>0,wt=1,W8=0;;){if(E1=W8+O9|0,t0)for(l8=0,Ae=E1;_1=h+(Ae<<2)|0,H1=e[_1>>2]|0,A2=I+(Ae<<2)|0,e[A2>>2]=H1,t2=Ae+t|0,J2=l8+1|0,se=(J2|0)==(a|0),!se;)l8=J2,Ae=t2;if(Z2=wt+1|0,lt=(Z2|0)==(o|0),lt)break;wt=Z2,W8=E1}if(Q5=0-t|0,T1=(Je|0)>(a|0),T1){if(Y)for(H3=(a|0)>0,z5=(t|0)>2,E3=Q5,j9=1,F8=0;;){if(L3=F8+O9|0,x6=E3+t|0,H3)for(n6=L3-t|0,A3=x6+-1|0,ut=0,N8=n6;;){if(P3=N8+t|0,z5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,y6=Bi+2|0,v9=E4+1|0,n4=Q+(v9<<2)|0,Ve=+s[n4>>2],Ye=Bi+1|0,he=h+(Ye<<2)|0,Pe=+s[he>>2],Ce=Pe*Ve,w4=Q+(O3<<2)|0,Z9=+s[w4>>2],k9=h+(y6<<2)|0,v4=+s[k9>>2],V4=v4*Z9,nt=V4+Ce,Y4=I+(Ye<<2)|0,s[Y4>>2]=nt,ze=+s[n4>>2],o4=+s[k9>>2],R4=o4*ze,ot=+s[w4>>2],ne=+s[he>>2],u4=ne*ot,Be=R4-u4,T6=I+(y6<<2)|0,s[T6>>2]=Be,Ke=ct+2|0,fe=(Ke|0)<(t|0),fe;)ct=Ke,E4=O3,Bi=y6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,N8=P3}if(d4=j9+1|0,Ct=(d4|0)==(o|0),Ct)break;E3=x6,j9=d4,F8=L3}}else if(Y)for(f5=(t|0)>2,h3=(a|0)>0,Z4=Q5,l4=1,Y8=0;;){if(oe=Z4+t|0,h4=Y8+O9|0,f5)for(f4=oe+-1|0,Qt=2,gt=f4,$i=h4;;){if(Se=gt+2|0,s4=$i+2|0,h3)for(Oe=gt+1|0,I4=Q+(Oe<<2)|0,I6=Q+(Se<<2)|0,dt=0,ei=s4;J4=+s[I4>>2],Ie=ei+-1|0,k4=h+(Ie<<2)|0,be=+s[k4>>2],me=be*J4,J6=+s[I6>>2],F4=h+(ei<<2)|0,T4=+s[F4>>2],st=T4*J6,xe=st+me,mt=I+(Ie<<2)|0,s[mt>>2]=xe,Z3=+s[I4>>2],x9=+s[F4>>2],b9=x9*Z3,qe=+s[I6>>2],a4=+s[k4>>2],h8=a4*qe,N4=b9-h8,f8=I+(ei<<2)|0,s[f8>>2]=N4,e8=ei+t|0,I8=dt+1|0,Rt=(I8|0)==(a|0),!Rt;)dt=I8,ei=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=Se,$i=s4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,l4=Pt,Y8=h4}if(Ot=n5(O9,o)|0,qt=(Je|0)<(a|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,x8=(t|0)>2,j4=1,ht=0,Hi=Ot;;){if(y0=ht+O9|0,w0=Hi-O9|0,i8)for(je=0,li=y0,ci=w0;;){if(x8)for(b4=2,ti=li,Si=ci;B0=ti+2|0,_0=Si+2|0,M0=ti+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=Si+1|0,P0=I+(N0<<2)|0,q0=+s[P0>>2],k0=q0+T0,J0=h+(M0<<2)|0,s[J0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],K0=I+(_0<<2)|0,z0=+s[K0>>2],H0=L0-z0,Z0=h+(N0<<2)|0,s[Z0>>2]=H0,O0=+s[F0>>2],V0=+s[K0>>2],s1=V0+O0,Y0=h+(B0<<2)|0,s[Y0>>2]=s1,i1=+s[P0>>2],x0=+s[v0>>2],d1=i1-x0,g1=h+(_0<<2)|0,s[g1>>2]=d1,m1=b4+2|0,h1=(m1|0)<(t|0),h1;)b4=m1,ti=B0,Si=_0;if(u1=li+t|0,A1=ci+t|0,c1=je+1|0,We=(c1|0)==(a|0),We)break;je=c1,li=u1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(b3|0),U4)break e;j4=a1,ht=y0,Hi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,T9=1,Z8=0,qi=Ot;;){if(x=Z8+O9|0,M=qi-O9|0,D)for(p4=2,Qi=x,vi=M;;){if(L=Qi+2|0,R=vi+2|0,y)for(F=R-t|0,N=L-t|0,Ft=0,Zi=N,f7=F;G=Zi+t|0,U=f7+t|0,X=G+-1|0,K=I+(X<<2)|0,a0=+s[K>>2],W=U+-1|0,r0=I+(W<<2)|0,s0=+s[r0>>2],J=s0+a0,o0=h+(X<<2)|0,s[o0>>2]=J,q=I+(G<<2)|0,d0=+s[q>>2],j=I+(U<<2)|0,u0=+s[j>>2],c0=d0-u0,$0=h+(W<<2)|0,s[$0>>2]=c0,l0=+s[q>>2],Z=+s[j>>2],m0=Z+l0,g0=h+(G<<2)|0,s[g0>>2]=m0,f0=+s[r0>>2],n0=+s[K>>2],p0=f0-n0,C0=h+(U<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Zi=G,f7=U;if(Q0=p4+2|0,b0=(Q0|0)<(t|0),b0)p4=Q0,Qi=L,vi=R;else break}if(E0=T9+1|0,At=(E0|0)==(b3|0),At)break;T9=E0,Z8=x,qi=M}}while(!1);if(w=($|0)>0,w)for(De=0;$1=E+(De<<2)|0,j0=e[$1>>2]|0,I1=m+(De<<2)|0,e[I1>>2]=j0,Q1=De+1|0,Kt=(Q1|0)==($|0),!Kt;)De=Q1;if(p1=n5($,o)|0,B1=(b3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Vi=p1;;){if(v1=Nt+O9|0,k1=Vi-O9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,g7=M1,d7=L1;b1=g7+t|0,R1=d7+t|0,F1=I+(b1<<2)|0,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],Z1=P1+U1,G1=h+(b1<<2)|0,s[G1>>2]=Z1,x1=+s[D1>>2],z1=+s[F1>>2],q1=x1-z1,V1=h+(R1<<2)|0,s[V1>>2]=q1,Y1=c8+1|0,A4=(Y1|0)==(a|0),!A4;)c8=Y1,g7=b1,d7=R1;if(X1=Wt+1|0,s8=(X1|0)==(b3|0),s8)break;Wt=X1,Nt=v1,Vi=k1}if(o2=o+-1|0,j1=n5(o2,$)|0,B1){for(O1=(b3|0)>2,Ht=0,Yt=1,et=1,T8=0,Ei=p1;;){if(u2=T8+$|0,W1=Ei-$|0,I2=Yt*pt,a2=Ht*V8,K1=I2-a2,h2=Ht*pt,l2=Yt*V8,i2=l2+h2,w)for(yt=0,Ji=u2,ui=W1,Xi=j1,ri=$;c2=m+(yt<<2)|0,r2=+s[c2>>2],$2=ri+1|0,e2=m+(ri<<2)|0,s2=+s[e2>>2],m2=s2*K1,k2=m2+r2,D2=Ji+1|0,S2=E+(Ji<<2)|0,s[S2>>2]=k2,Q2=Xi+1|0,G2=m+(Xi<<2)|0,L2=+s[G2>>2],P2=L2*i2,p2=ui+1|0,K2=E+(ui<<2)|0,s[K2>>2]=P2,O2=yt+1|0,E8=(O2|0)==($|0),!E8;)yt=O2,Ji=D2,ui=p2,Xi=Q2,ri=$2;if(O1)for(Vt=i2,_t=K1,C8=2,zi=$,J8=j1;;){if(U2=zi+$|0,H2=J8-$|0,W2=_t*K1,A5=Vt*i2,V2=W2-A5,N1=Vt*K1,e5=_t*i2,T5=e5+N1,w)for(a8=0,bi=u2,xi=W1,Li=U2,G8=H2;t5=Li+1|0,x5=m+(Li<<2)|0,I5=+s[x5>>2],b5=I5*V2,V5=bi+1|0,g5=E+(bi<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,o5=G8+1|0,R2=m+(G8<<2)|0,M2=+s[R2>>2],y2=M2*T5,N5=xi+1|0,m5=E+(xi<<2)|0,L5=+s[m5>>2],q5=L5+y2,s[m5>>2]=q5,M5=a8+1|0,L8=(M5|0)==($|0),!L8;)a8=M5,bi=V5,xi=N5,Li=t5,G8=o5;if(Y2=C8+1|0,o8=(Y2|0)==(b3|0),o8)break;Vt=T5,_t=V2,C8=Y2,zi=U2,J8=H2}if(p5=et+1|0,M8=(p5|0)==(b3|0),M8)break;Ht=i2,Yt=K1,et=p5,T8=u2,Ei=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(Ze=0,j8=$5;u5=j8+1|0,y5=m+(j8<<2)|0,D5=+s[y5>>2],d5=E+(Ze<<2)|0,l5=+s[d5>>2],j2=l5+D5,s[d5>>2]=j2,d2=Ze+1|0,p8=(d2|0)==($|0),!p8;)Ze=d2,j8=u5;if(w5=A8+1|0,S4=(w5|0)==(b3|0),S4)break;A8=w5,Xt=$5}}}if(i5=(t|0)<(a|0),i5){if(z2=(t|0)>0,z2)for(r5=(a|0)>0,W4=0;;){if(r5)for(X4=0,C4=W4,X8=W4;W5=I+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(X8<<2)|0,e[a3>>2]=r3,B3=C4+t|0,G5=X8+S9|0,Z5=X4+1|0,G4=(Z5|0)==(a|0),!G4;)X4=Z5,C4=B3,X8=G5;if(x3=W4+1|0,at=(x3|0)==(t|0),at)break;W4=x3}}else if(s5=(a|0)>0,s5)for(h5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(h5)for(K4=0,Yi=O4,Ki=Ci;R5=Yi+1|0,X2=I+(Yi<<2)|0,c5=e[X2>>2]|0,F2=Ki+1|0,v5=g+(Ki<<2)|0,e[v5>>2]=c5,J5=K4+1|0,Lt=(J5|0)==(t|0),!Lt;)K4=J5,Yi=R5,Ki=F2;if(i3=O4+t|0,E5=Ci+S9|0,I3=Tt+1|0,L9=(I3|0)==(a|0),L9)break;Tt=I3,O4=i3,Ci=E5}if(f3=t<<1,w3=n5(O9,o)|0,B1)for(X3=(a|0)>0,$8=1,R8=0,yi=0,Wi=w3;;){if(X5=R8+f3|0,_3=yi+O9|0,t3=Wi-O9|0,X3)for(D9=0,ii=X5,Di=_3,t7=t3;s6=I+(Di<<2)|0,G3=e[s6>>2]|0,V3=ii+-1|0,c3=g+(V3<<2)|0,e[c3>>2]=G3,g3=I+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ii<<2)|0,e[Q3>>2]=u3,H5=ii+S9|0,Y5=Di+t|0,S5=t7+t|0,Y3=D9+1|0,Et=(Y3|0)==(a|0),!Et;)D9=Y3,ii=H5,Di=Y5,t7=S5;if(U5=$8+1|0,z4=(U5|0)==(b3|0),z4)break;$8=U5,R8=X5,yi=_3,Wi=t3}if(!pe){if($6=(Je|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,wi=0,gi=0,h7=w3;;){if(E6=u8+f3|0,D3=wi+f3|0,a6=gi+O9|0,i6=h7-O9|0,!xt)for(g8=0,e7=E6,di=D3,_4=a6,hi=i6;;){for(ae=2;h6=t-ae|0,m3=ae+_4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],r6=ae+hi|0,f6=r6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+di|0,R3=v6+-1|0,o6=g+(R3<<2)|0,s[o6>>2]=j6,C6=+s[M6>>2],K3=+s[b6>>2],F3=C6-K3,W3=h6+e7|0,e6=W3+-1|0,R6=g+(e6<<2)|0,s[R6>>2]=F3,l6=I+(m3<<2)|0,o3=+s[l6>>2],z6=I+(r6<<2)|0,c6=+s[z6>>2],B6=c6+o3,T3=g+(v6<<2)|0,s[T3>>2]=B6,H6=+s[z6>>2],A6=+s[l6>>2],D6=H6-A6,G6=g+(W3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(J3=e7+S9|0,j5=di+S9|0,M3=_4+t|0,d3=hi+t|0,z3=g8+1|0,r8=(z3|0)==(a|0),r8)break;g8=z3,e7=J3,di=j5,_4=M3,hi=d3}if(X6=Zt+1|0,n8=(X6|0)==(b3|0),n8)break;Zt=X6,u8=E6,wi=D3,gi=a6,h7=i6}return}if(B1)for(l3=(t|0)>2,U3=(a|0)>0,$4=1,c4=n3,u7=0,ki=0,ji=w3;;){if(r9=c4+f3|0,V6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=r9+t|0,U3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ue=P4+V6|0,He=U6-P4|0,jt=0,_i=He,z8=Ue,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,d9=+s[s9>>2],n9=d9+P6,B9=z8+-1|0,Q9=g+(B9<<2)|0,s[Q9>>2]=n9,y9=+s[_6>>2],h9=+s[s9>>2],f9=y9-h9,V9=_i+-1|0,q6=g+(V9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,Y9=+s[a9>>2],w9=I+($9<<2)|0,we=+s[w9>>2],ue=we+Y9,Ee=g+(z8<<2)|0,s[Ee>>2]=ue,J9=+s[w9>>2],re=+s[a9>>2],F9=J9-re,K6=g+(_i<<2)|0,s[K6>>2]=F9,A9=_i+S9|0,ve=z8+S9|0,Me=Mi+t|0,de=$9+t|0,_9=jt+1|0,Jt=(_9|0)==(a|0),!Jt;)jt=_9,_i=A9,z8=ve,Mi=Me,$9=de;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(ke=$4+1|0,zt=(ke|0)==(b3|0),zt)break;$4=ke,c4=r9,u7=V6,ki=o9,ji=g9}}}function iD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,V8=0,W8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0,As=0,Jn=0,$s=0,zn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,ds=0,hs=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,or=0,Ns=0,lo=0,dn=0,co=0,hn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,sr=0,Dr=0,Z7=0,_r=0,mo=0,j7=0,b7=0,D7=0,i7=0,_7=0,xr=0,ar=0,Ar=0,Lr=0,E7=0,Os=0,fi=0,al=0,In=0,mn=0,Vu=0,Al=0,qs=0,Yu=0,aA=0,$l=0,Ju=0,zu=0,Ku=0,AA=0,ll=0,cl=0,$A=0,pn=0,gl=0,Wu=0,Hs=0,$r=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,od=0,sd=0,ul=0,Mr=0,ad=0,Ad=0,dl=0,$d=0,lA=0,Vs=0,cA=0,ld=0,cd=0,gA=0,hl=0,fl=0,Il=0,uA=0,ml=0,Ys=0,gd=0,ud=0,pl=0,dd=0,hd=0,El=0,fd=0,Id=0,Cl=0,Bl=0,Ql=0,yl=0,wl=0,En=0,md=0,vl=0,pd=0,kl=0,Sl=0,Ed=0,Cd=0,Bd=0,dA=0,bl=0,Dl=0,po=0,_l=0,hA=0,Qd=0,xl=0,yd=0,Ll=0,wd=0,vd=0,Ml=0,Rl=0,kd=0,Js=0,Sd=0,fA=0,Fl=0,Tl=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,zs=0,Nl=0,Gl=0,Ul=0,Ks=0,Rd=0,Pl=0,Fd=0,Ol=0,Td=0,Nd=0,ql=0,IA=0,Gd=0,Ud=0,Ws=0,Pd=0,Zs=0,Od=0,mA=0,qd=0,Hd=0,Vd=0,Hl=0,Yd=0,Jd=0,zd=0,Kd=0,Vl=0,Yl=0,lr=0,Jl=0,js=0,pA=0,EA=0,Cn=0,zl=0,Bn=0,Wd=0,Kl=0,Zd=0,jd=0,Xd=0,eh=0,Xs=0,CA=0,Rr=0,th=0,ih=0,Wl=0,BA=0,Zl=0,jl=0,rh=0,Xl=0,nh=0,QA=0,oh=0,sh=0,K9=0,ah=0,ec=0,Ah=0,$h=0,yA=0,lh=0,wA=0,tc=0,ch=0,gh=0,ic=0,rc=0,uh=0,vA=0,kA=0,nc=0,oc=0,dh=0,sc=0,SA=0,hh=0,ac=0,fh=0,Ih=0,mh=0,ph=0,Ac=0,$c=0,bA=0,ea=0,lc=0,Eh=0,cc=0,gc=0,Ch=0,Bh=0,Qh=0,uc=0,yh=0,wh=0,vh=0,kh=0,Sh=0,bh=0,dc=0,Dh=0,hc=0,_h=0,Qn=0,xh=0,fc=0,Lh=0,Eo=0,Ic=0,DA=0,Mh=0,ta=0,_A=0,Rh=0,xA=0,mc=0,Fh=0,Th=0,Nh=0,Gh=0,Uh=0,pc=0,Ph=0,Oh=0,qh=0,ia=0,Co=0,LA=0,Hh=0,MA=0,Vh=0,Yh=0,Jh=0,Ec=0,zh=0,Kh=0,Wh=0,Zh=0,jh=0,ra=0,Xh=0,ef=0,Cc=0,tf=0,rf=0,nf=0,of=0,C7=0,Bc=0,B7=0,Qc=0,RA=0,sf=0,r7=0,Bo=0,af=0,Af=0,$f=0,lf=0,cf=0,yc=0,gf=0,uf=0,wc=0,df=0,hf=0,Qo=0,FA=0,ff=0,vc=0,If=0,mf=0,na=0,pf=0,Ef=0,kc=0,Sc=0,Cf=0,Bf=0,yn=0,Qf=0,yf=0,wn=0,wf=0,bc=0,vf=0,kf=0,yo=0,Dc=0,Sf=0,_c=0,bf=0,cr=0,TA=0,Df=0,xc=0,Lc=0,_f=0,xf=0,Mc=0,Lf=0,Mf=0,Rf=0,Rc=0,Ff=0,wo=0,Tf=0,vn=0,Nf=0,Gf=0,NA=0,Uf=0,GA=0,UA=0,Pf=0,Fc=0,Tc=0,Of=0,Nc=0,Gc=0,Uc=0,qf=0,Pc=0,Oc=0,Hf=0,Vf=0,qc=0,Hc=0,Yf=0,Vc=0,Yc=0,Jf=0,zf=0,Jc=0,PA=0,zc=0,Kc=0,Wc=0,Zc=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,jc=0,OA=0,rI=0,nI=0,oI=0,Xc=0,eg=0,sI=0,tg=0,qA=0,oa=0,ig=0,aI=0,AI=0,$I=0,lI=0,rg=0,sa=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,mI=0,ng=0,pI=0,EI=0,CI=0,BI=0,aa=0,og=0,QI=0,yI=0,kn=0,sg=0,ag=0,HA=0,wI=0,Ag=0,vI=0,$g=0,lg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,VA=0,xI=0,LI=0,MI=0,RI=0,cg=0,FI=0,gg=0,TI=0,NI=0,ug=0,Fr=0,dg=0,hg=0,GI=0,fg=0,$a=0,UI=0,PI=0,OI=0,la=0,Ig=0,qI=0,HI=0,mg=0,VI=0,YI=0,YA=0,ca=0,JI=0,zI=0,KI=0,pg=0,Eg=0,Cg=0,WI=0,ZI=0,vo=0,jI=0,Bg=0,XI=0,JA=0,Qg=0,em=0,tm=0,im=0,rm=0,yg=0,nm=0,om=0,wg=0,ga=0,sm=0,am=0,Am=0,ko=0,vg=0,kg=0,$m=0,Sg=0,bg=0,x7=0,Dg=0,gr=0,lm=0,cm=0,gm=0,um=0,zA=0,ua=0,_g=0,xg=0,dm=0,da=0,So=0,hm=0,ha=0,KA=0,fm=0,WA=0,Im=0,mm=0,Lg=0,fa=0,Mg=0,pm=0,Em=0,Cm=0,Bm=0,Rg=0,Qm=0,ni=0,_e=0,n7=0,ym=0,Fg=0,Tg=0,ZA=0,wm=0,Tr=0,bo=0,vm=0,km=0,Ng=0,jA=0,Sm=0,Gg=0,Ug=0,Pg=0,XA=0,e$=0,Og=0,Do=0,t$=0,qg=0,bm=0,Sn=0,Dm=0,Hg=0,Ia=0,_m=0,Vg=0,L7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,M7=0,Nm=0,Gm=0,Um=0,Yg=0,Q7=0,ma=0,i$=0,Jg=0,zg=0,Pm=0,Kg=0,Wg=0,Om=0,qm=0,Zg=0,jg=0,Hm=0,Vm=0,Xg=0,Ym=0,_o=0,pa=0,Ea=0,Jm=0,r$=0,zm=0,Km=0,eu=0,xo=0,Wm=0,Zm=0,n$=0,o$=0,Ca=0,s$=0,a$=0,ur=0,Nr=0,Gr=0,A$=0,$$=0,Lo=0,dr=0,bn=0,jm=0,hr=0,Dn=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,tu=0,iu=0,ya=0,l$=0,Ni=0,wa=0,Ur=0,c$=0,ep=0,g$=0,tp=0,u$=0,ru=0,va=0,ip=0,rp=0,ka=0,np=0,Sa=0,_n=0,tt=0,Le=0,nu=0,op=0,d$=0,ou=0,sp=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,su=0,gp=0,up=0,dp=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,au=0,Au=0,_a=0,To=0,No=0,Go=0,hp=0,Uo=0,fr=0,$u=0,Pr=0,s7=0,f$=0,I$=0,X7=0,m$=0,p$=0,E$=0,Or=0,u6=0,xa=0,qr=0,lu=0,x4=0,C$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Hr=0,Xe=0,B$=0,qC=0,fp=0,hE=0,fE=0,HC=0,Ip=0,ey=0,ty=0,iy=0,ry=0,ny=0,oy=0,sy=0,ay=0,Ay=0,$y=0,ly=0,cy=0,VC=0,YC=0,gy=0,uy=0,dy=0,cu=0,IE=0,y7=0,gu=0,uu=0,du=0,hu=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,Qp=0,yp=0,wp=0,vp=0,kp=0,mE=0,La=0,Ir=0,Q$=0,fu=0,y$=0,JC=0,Ma=0,Sp=0,w$=0,pE=0,EE=0,bp=0,CE=0,BE=0,QE=0,yE=0,wE=0,vE=0,kE=0,zC=0,KC=0,WC=0,ZC=0,jC=0,Ra=0,Fa=0,Ta=0,Na=0,hy=0,mr=0,$e=0,_D=0,Ga=0,SE=0;if(_D=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,mo=e[ui>>2]|0,Nl=(mo|0)==0,o=Nl&1,Eo=n0+3496|0,Nc=+l1[Eo>>3],pg=Nc>-80,pg?l1[Eo>>3]=-80:(qm=Nc<-200,qm&&(l1[Eo>>3]=-200)),h0=n0+3512|0,Z2=+l1[h0>>3],A3=Z2>0,A3?l1[h0>>3]=0:(ke=Z2<-99999,ke&&(l1[h0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,Oe=(T6|0)==0,Oe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=T6+24|0,M8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=M8+($4<<2)|0,V8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=V8,vi=n0+4|0,e[vi>>2]=Ci,J8=(V8|0)==(Ci|0),ri=T6+144|0,B8=e[ri>>2]|0,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,or=i8,Rr=n0,mE=0;;){if(_s=~~or,fo=e[Is>>2]|0,j7=e[Cs>>2]|0,fi=e[oo>>2]|0,zu=fi+(mE<<2)|0,Zu=e[zu>>2]|0,Mr=ce(1,1120)|0,hl=Zu+(_s<<2)|0,El=e[hl>>2]|0,pd=j7+(El*1120|0)|0,ge(Mr|0,pd|0,1120)|0,hA=e[Mr>>2]|0,Sd=(hA|0)>0,Sd){for(Gl=Mr+4|0,IE=0,kE=-1;;)if(SA=Gl+(IE<<2)|0,lc=e[SA>>2]|0,kh=(lc|0)>(kE|0),a0=kh?lc:kE,Ic=IE+1|0,ly=(Ic|0)==(hA|0),ly){W=a0;break}else IE=Ic,kE=a0;if(Gd=(W|0)<0,!Gd){for(Yd=Mr+256|0,Cn=Rr+24|0,oh=Mr+192|0,ch=Mr+320|0,y$=0,QE=-1;;){if(Lc=Yd+(y$<<2)|0,vn=e[Lc>>2]|0,Gc=(vn|0)>(QE|0),X=Gc?vn:QE,Yc=e[Cn>>2]|0,Zf=Yc+vn|0,e[Lc>>2]=Zf,Xc=oh+(y$<<2)|0,rg=e[Xc>>2]|0,pI=(rg|0)==31,pI)yE=X;else for(_9=rg,CE=0,vE=X;;)if(HA=(ch+(y$<<5)|0)+(CE<<2)|0,Aa=e[HA>>2]|0,ug=(Aa|0)>(vE|0),K=ug?Aa:vE,Ig=(Aa|0)>-1,Ig?(Eg=e[Cn>>2]|0,tm=Eg+Aa|0,e[HA>>2]=tm,s0=e[Xc>>2]|0,KA=s0):KA=_9,ko=CE+1|0,gm=1<>2]|0,sf=e[ef>>2]|0,wc=e[Cn>>2]|0,Ef=wc+1|0,e[Cn>>2]=Ef,vf=(Rr+1824|0)+(wc<<2)|0,e[vf>>2]=sf,sy=(wE|0)==0,!sy))for(JC=0;e$=JC+1|0,t0=e[hl>>2]|0,Vg=fo+(t0<<2)|0,Um=e[Vg>>2]|0,Zg=Um+(e$<<2)|0,zm=e[Zg>>2]|0,ur=e[Cn>>2]|0,Xm=ur+1|0,e[Cn>>2]=Xm,wa=(Rr+1824|0)+(ur<<2)|0,e[wa>>2]=zm,oy=(e$|0)==(wE|0),!oy;)JC=e$}}if(ka=Rr+16|0,ap=e[ka>>2]|0,Da=(Rr+800|0)+(ap<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,m$=(Rr+1056|0)+(No<<2)|0,e[m$>>2]=Mr,p0=e[ka>>2]|0,M0=p0+1|0,e[ka>>2]=M0,K0=mE+1|0,d1=e[ri>>2]|0,I1=(K0|0)<(d1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,or=r0,Rr=l0,mE=K0}m0=e[f0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,V1=+l1[R1>>3],A2=T6+124|0,t2=e[A2>>2]|0,J2=T6+128|0,I5=e[J2>>2]|0,N5=~~V1,D5=+(N5|0),r5=V1-D5,W5=X5+2868|0,H5=I5+(N5<<3)|0,L3=+l1[H5>>3],x6=~~L3,n6=t2+(x6*492|0)|0,ge(W5|0,n6|0,492)|0,c6=+l1[H5>>3],r9=1-r5,O6=c6*r9,q6=N5+1|0,K6=I5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*r5,Ue=Fe+O6,He=~~Ue,n4=+(He|0),Ve=Ue-n4,z9=Ve==0,Ye=(He|0)>0,zC=Ye&z9,I=zC?1:Ve,he=zC<<31>>31,R=he+He|0,Pe=1-I,Ce=R+1|0,w4=(t2+(R*492|0)|0)+4|0,Z9=+s[w4>>2],k9=Z9,v4=Pe*k9,nt=(t2+(Ce*492|0)|0)+4|0,Je=+s[nt>>2],Y4=Je,ze=I*Y4,o4=v4+ze,R4=o4,ot=X5+2872|0,s[ot>>2]=R4,ne=(t2+(R*492|0)|0)+32|0,u4=+s[ne>>2],Be=u4,Ke=Pe*Be,O9=(t2+(Ce*492|0)|0)+32|0,fe=+s[O9>>2],Te=fe,d4=I*Te,oe=Ke+d4,h4=oe,f4=X5+2900|0,s[f4>>2]=h4,Se=(t2+(R*492|0)|0)+8|0,s4=+s[Se>>2],I4=s4,S9=Pe*I4,I6=(t2+(Ce*492|0)|0)+8|0,J4=+s[I6>>2],Ie=J4,k4=I*Ie,be=S9+k4,me=be,J6=X5+2876|0,s[J6>>2]=me,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],pe=st,xe=Pe*pe,mt=(t2+(Ce*492|0)|0)+36|0,Z3=+s[mt>>2],x9=Z3,b9=x9*I,qe=b9+xe,a4=qe,h8=X5+2904|0,s[h8>>2]=a4,f8=(t2+(R*492|0)|0)+12|0,_8=+s[f8>>2],e8=_8,I8=e8*Pe,m8=(t2+(Ce*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,x8=X5+2880|0,s[x8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Vt=+s[Ht>>2],Yt=Vt,_t=Yt*Pe,xt=(t2+(Ce*492|0)|0)+40|0,pt=+s[xt>>2],Jt=pt,zt=Jt*I,r8=zt+_t,z4=r8,G4=X5+2908|0,s[G4>>2]=z4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],L9=Lt,p8=L9*Pe,S4=(t2+(Ce*492|0)|0)+16|0,E8=+s[S4>>2],L8=E8,o8=L8*I,A4=o8+p8,s8=A4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],We=At,U4=We*Pe,$t=(t2+(Ce*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,p4=+l1[Qt>>3],b4=p4,K4=X5+2936|0,s[K4>>2]=b4,W4=T6+132|0,ae=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],D4=gt,De=~~D4,yt=+(De|0),a8=D4-yt,Ze=a8,E3=e[f0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=E3+4|0,j9=e[E3>>2]|0,l4=E3+3240|0,e[l4>>2]=j9,T9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=T9,Wt=E3+3244|0,e[Wt>>2]=j9,C8=E3+3304|0,e[C8>>2]=T9,A8=E3+3248|0,e[A8>>2]=j9,$8=E3+3308|0,e[$8>>2]=T9,Zt=E3+3252|0,e[Zt>>2]=j9,l8=E3+3312|0,e[l8>>2]=T9,ut=E3+3256|0,e[ut>>2]=j9,dt=E3+3316|0,e[dt>>2]=T9,Ft=E3+3260|0,e[Ft>>2]=j9,je=E3+3320|0,e[je>>2]=T9,c8=E3+3264|0,e[c8>>2]=j9,Tt=E3+3324|0,e[Tt>>2]=T9,X4=E3+3268|0,e[X4>>2]=j9,D9=E3+3328|0,e[D9>>2]=T9,g8=E3+3272|0,e[g8>>2]=j9,et=E3+3332|0,e[et>>2]=T9,W8=E3+3276|0,e[W8>>2]=j9,R8=E3+3336|0,e[R8>>2]=T9,u8=E3+3280|0,e[u8>>2]=j9,F8=E3+3340|0,e[F8>>2]=T9,c4=E3+3284|0,e[c4>>2]=j9,Y8=E3+3344|0,e[Y8>>2]=T9,Z8=E3+3288|0,e[Z8>>2]=j9,ht=E3+3348|0,e[ht>>2]=T9,Nt=E3+3292|0,e[Nt>>2]=j9,T8=E3+3352|0,e[T8>>2]=T9,O4=E3+3296|0,e[O4>>2]=j9,C4=E3+3356|0,e[C4>>2]=T9;else{Ae=E3+3120|0,N8=ae+(De*240|0)|0,mr=Ae,Ga=N8,SE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(SE|0));$i=E3+3180|0,qi=(ae+(De*240|0)|0)+60|0,mr=$i,Ga=qi,SE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(SE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(j8=1-Ze,X8=De+1|0,Bi=t+8|0,ei=E3+4|0,o0=e[Bi>>2]|0,Qi=+(o0|0),Ir=0;;){if(li=((ae+(De*240|0)|0)+120|0)+(Ir<<2)|0,g7=+s[li>>2],Yi=g7,yi=Yi*j8,wi=((ae+(X8*240|0)|0)+120|0)+(Ir<<2)|0,u7=+s[wi>>2],ci=u7,d7=ci*Ze,Ji=d7+yi,zi=Ji,Ki=zi,Wi=Ki*1e3,gi=Wi/Qi,ki=e[E3>>2]|0,Zi=+(ki|0),ti=Zi*gi,ii=~~ti,h7=(E3+3e3|0)+(Ir<<2)|0,e[h7>>2]=ii,ji=e[ei>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(E3+3060|0)+(Ir<<2)|0,e[bi>>2]=Xi,Di=~~zi,e7=(E3+2940|0)+(Ir<<2)|0,e[e7>>2]=Di,_i=((ae+(De*240|0)|0)+180|0)+(Ir<<2)|0,xi=+s[_i>>2],t7=xi,di=t7*j8,z8=((ae+(X8*240|0)|0)+180|0)+(Ir<<2)|0,Li=+s[z8>>2],_4=Li,Mi=_4*Ze,G8=Mi+di,hi=G8,$9=hi,vt=$9*1e3,Q8=vt/Qi,U8=e[E3>>2]|0,nn=+(U8|0),wr=nn*Q8,As=~~wr,Jn=(E3+3240|0)+(Ir<<2)|0,e[Jn>>2]=As,$s=e[ei>>2]|0,zn=+($s|0),ls=zn*Q8,Kn=~~ls,gs=(E3+3300|0)+(Ir<<2)|0,e[gs>>2]=Kn,on=Ir+1|0,Ay=(on|0)==15,Ay)break e;Ir=on}for(us=(ae+(De*240|0)|0)+148|0,ds=+s[us>>2],hs=ds,Wn=1-Ze,fs=hs*Wn,Zn=De+1|0,jn=(ae+(Zn*240|0)|0)+148|0,sn=+s[jn>>2],Xn=sn,an=Xn*Ze,eo=an+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,An=E3+4|0,io=~~to,d0=e[Es>>2]|0,vr=+(d0|0),$n=ps/vr,fu=0;Bs=e[E3>>2]|0,Qs=+(Bs|0),ln=Qs*$n,I7=~~ln,ro=(E3+3e3|0)+(fu<<2)|0,e[ro>>2]=I7,ys=e[An>>2]|0,ws=+(ys|0),no=ws*$n,so=~~no,vs=(E3+3060|0)+(fu<<2)|0,e[vs>>2]=so,m7=(E3+2940|0)+(fu<<2)|0,e[m7>>2]=io,cn=fu+1|0,cy=(cn|0)==15,!cy;)fu=cn;for(ks=(ae+(De*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wn,Ds=(ae+(Zn*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*Ze,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gn=Fs/vr,Sp=0;kr=e[E3>>2]|0,un=+(kr|0),Ts=un*gn,Ns=~~Ts,lo=(E3+3240|0)+(Sp<<2)|0,e[lo>>2]=Ns,dn=e[An>>2]|0,co=+(dn|0),hn=co*gn,Gs=~~hn,go=(E3+3300|0)+(Sp<<2)|0,e[go>>2]=Gs,uo=Sp+1|0,ay=(uo|0)==15,!ay;)Sp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,Sr=T6+100|0,Io=e[Sr>>2]|0,p7=T6+108|0,fn=e[p7>>2]|0,br=e[f0>>2]|0,sr=br+2852|0,Dr=e[sr>>2]|0,Z7=~~Us,_r=br+28|0,b7=e[_r>>2]|0,D7=(b7|0)>0,D7||(e[_r>>2]=1),i7=(Dr|0)==0,i7?(_7=ce(1,520)|0,e[sr>>2]=_7,Ra=_7):Ra=Dr,ge(Ra|0,25784,520)|0,e[Ra>>2]=0,xr=br+3460|0,ar=e[xr>>2]|0,Ar=(ar|0)==0,Ar||(Lr=Ra+500|0,e[Lr>>2]=1,E7=Ps+(Z7<<2)|0,Os=e[E7>>2]|0,al=Ra+504|0,e[al>>2]=Os,In=Io+(Z7<<2)|0,mn=e[In>>2]|0,Vu=Ra+508|0,e[Vu>>2]=mn,Al=fn+(Z7<<3)|0,qs=+l1[Al>>3],Yu=Ra+512|0,l1[Yu>>3]=qs),aA=+l1[N4>>3],$l=e[ho>>2]|0,Ju=e[Sr>>2]|0,Ku=e[p7>>2]|0,AA=e[f0>>2]|0,ll=AA+2856|0,cl=e[ll>>2]|0,$A=~~aA,pn=AA+28|0,gl=e[pn>>2]|0,Wu=(gl|0)>1,Wu||(e[pn>>2]=2),Hs=(cl|0)==0,Hs?($r=ce(1,520)|0,e[ll>>2]=$r,Fa=$r):Fa=cl,ge(Fa|0,25784,520)|0,e[Fa>>2]=0,ju=AA+3460|0,Xu=e[ju>>2]|0,ed=(Xu|0)==0,ed||(td=Fa+500|0,e[td>>2]=1,id=$l+($A<<2)|0,rd=e[id>>2]|0,nd=Fa+504|0,e[nd>>2]=rd,od=Ju+($A<<2)|0,sd=e[od>>2]|0,ul=Fa+508|0,e[ul>>2]=sd,ad=Ku+($A<<3)|0,Ad=+l1[ad>>3],dl=Fa+512|0,l1[dl>>3]=Ad),J8||($d=+l1[N4>>3],lA=T6+96|0,Vs=e[lA>>2]|0,cA=T6+104|0,ld=e[cA>>2]|0,cd=e[p7>>2]|0,gA=e[f0>>2]|0,fl=gA+2860|0,Il=e[fl>>2]|0,uA=~~$d,ml=gA+28|0,Ys=e[ml>>2]|0,gd=(Ys|0)>2,gd||(e[ml>>2]=3),ud=(Il|0)==0,ud?(pl=ce(1,520)|0,e[fl>>2]=pl,Ta=pl):Ta=Il,ge(Ta|0,25784,520)|0,e[Ta>>2]=1,dd=gA+3460|0,hd=e[dd>>2]|0,fd=(hd|0)==0,fd||(Id=Ta+500|0,e[Id>>2]=1,Cl=Vs+(uA<<2)|0,Bl=e[Cl>>2]|0,Ql=Ta+504|0,e[Ql>>2]=Bl,yl=ld+(uA<<2)|0,wl=e[yl>>2]|0,En=Ta+508|0,e[En>>2]=wl,md=cd+(uA<<3)|0,vl=+l1[md>>3],kl=Ta+512|0,l1[kl>>3]=vl),Sl=+l1[N4>>3],Ed=e[lA>>2]|0,Cd=e[cA>>2]|0,Bd=e[p7>>2]|0,dA=e[f0>>2]|0,bl=dA+2864|0,Dl=e[bl>>2]|0,po=~~Sl,_l=dA+28|0,Qd=e[_l>>2]|0,xl=(Qd|0)>3,xl||(e[_l>>2]=4),yd=(Dl|0)==0,yd?(Ll=ce(1,520)|0,e[bl>>2]=Ll,Na=Ll):Na=Dl,ge(Na|0,25784,520)|0,e[Na>>2]=1,wd=dA+3460|0,vd=e[wd>>2]|0,Ml=(vd|0)==0,Ml||(Rl=Na+500|0,e[Rl>>2]=1,kd=Ed+(po<<2)|0,Js=e[kd>>2]|0,fA=Na+504|0,e[fA>>2]=Js,Fl=Cd+(po<<2)|0,Tl=e[Fl>>2]|0,bd=Na+508|0,e[bd>>2]=Tl,Dd=Bd+(po<<3)|0,_d=+l1[Dd>>3],xd=Na+512|0,l1[xd>>3]=_d)),Ld=(n0+3528|0)+(o<<5)|0,Md=+l1[Ld>>3],zs=T6+32|0,Ul=e[zs>>2]|0,Ks=T6+36|0,Rd=e[Ks>>2]|0,Pl=T6+44|0,Fd=e[Pl>>2]|0,lE(t,Md,0,Ul,Rd,Fd),Ol=n0+3560|0,Td=+l1[Ol>>3],Nd=e[zs>>2]|0,ql=e[Ks>>2]|0,IA=T6+52|0,Ud=e[IA>>2]|0,lE(t,Td,1,Nd,ql,Ud),J8||(Ws=n0+3592|0,Pd=+l1[Ws>>3],Zs=e[zs>>2]|0,Od=e[Ks>>2]|0,mA=e[IA>>2]|0,lE(t,Pd,2,Zs,Od,mA),qd=n0+3624|0,Hd=+l1[qd>>3],Vd=e[zs>>2]|0,Hl=e[Ks>>2]|0,Jd=T6+48|0,zd=e[Jd>>2]|0,lE(t,Hd,3,Vd,Hl,zd)),Kd=((n0+3528|0)+(o<<5)|0)+24|0,Vl=+l1[Kd>>3],Yl=T6+80|0,lr=e[Yl>>2]|0,Jl=T6+84|0,js=e[Jl>>2]|0,pA=~~Vl,EA=+(pA|0),zl=Vl-EA,Bn=e[f0>>2]|0,Wd=Bn+2852|0,Kl=e[Wd>>2]|0,Zd=js+(pA<<3)|0,jd=+l1[Zd>>3],Xd=1-zl,eh=jd*Xd,Xs=pA+1|0,CA=js+(Xs<<3)|0,th=+l1[CA>>3],ih=th*zl,Wl=ih+eh,BA=~~Wl,Zl=+(BA|0),jl=Wl-Zl,rh=jl==0,Xl=(BA|0)>0,KC=Xl&rh,$=KC?1:jl,nh=KC<<31>>31,F=nh+BA|0,QA=1-$,sh=F+1|0,gu=0;K9=(lr+(F*160|0)|0)+(gu<<2)|0,ah=e[K9>>2]|0,ec=+(ah|0),Ah=ec*QA,$h=(lr+(sh*160|0)|0)+(gu<<2)|0,yA=e[$h>>2]|0,lh=+(yA|0),wA=lh*$,tc=wA+Ah,gh=tc,ic=(Kl+336|0)+(gu<<2)|0,s[ic>>2]=gh,rc=gu+1|0,ty=(rc|0)==40,!ty;)gu=rc;for(uh=n0+3584|0,vA=+l1[uh>>3],kA=~~vA,nc=+(kA|0),oc=vA-nc,dh=Bn+2856|0,sc=e[dh>>2]|0,hh=js+(kA<<3)|0,ac=+l1[hh>>3],fh=1-oc,Ih=ac*fh,mh=kA+1|0,ph=js+(mh<<3)|0,Ac=+l1[ph>>3],$c=Ac*oc,bA=$c+Ih,ea=~~bA,Eh=+(ea|0),cc=bA-Eh,gc=cc==0,Ch=(ea|0)>0,WC=Ch&gc,g=WC?1:cc,Bh=WC<<31>>31,N=Bh+ea|0,Qh=1-g,uc=N+1|0,uu=0;yh=(lr+(N*160|0)|0)+(uu<<2)|0,wh=e[yh>>2]|0,vh=+(wh|0),Sh=vh*Qh,bh=(lr+(uc*160|0)|0)+(uu<<2)|0,dc=e[bh>>2]|0,Dh=+(dc|0),hc=Dh*g,_h=hc+Sh,Qn=_h,xh=(sc+336|0)+(uu<<2)|0,s[xh>>2]=Qn,fc=uu+1|0,iy=(fc|0)==40,!iy;)uu=fc;if(!J8){for(Lh=n0+3616|0,DA=+l1[Lh>>3],Mh=T6+88|0,ta=e[Mh>>2]|0,_A=~~DA,Rh=+(_A|0),xA=DA-Rh,mc=Bn+2860|0,Fh=e[mc>>2]|0,Th=ta+(_A<<3)|0,Nh=+l1[Th>>3],Uh=1-xA,pc=Nh*Uh,Ph=_A+1|0,Oh=ta+(Ph<<3)|0,qh=+l1[Oh>>3],ia=qh*xA,Co=ia+pc,LA=~~Co,Hh=+(LA|0),MA=Co-Hh,Yh=MA==0,Jh=(LA|0)>0,ZC=Jh&Yh,h=ZC?1:MA,Ec=ZC<<31>>31,G=Ec+LA|0,zh=1-h,Kh=G+1|0,du=0;Wh=(lr+(G*160|0)|0)+(du<<2)|0,Zh=e[Wh>>2]|0,jh=+(Zh|0),ra=jh*zh,Xh=(lr+(Kh*160|0)|0)+(du<<2)|0,Cc=e[Xh>>2]|0,tf=+(Cc|0),rf=tf*h,nf=rf+ra,of=nf,C7=(Fh+336|0)+(du<<2)|0,s[C7>>2]=of,Bc=du+1|0,ry=(Bc|0)==40,!ry;)du=Bc;for(B7=n0+3648|0,Qc=+l1[B7>>3],RA=~~Qc,r7=+(RA|0),Bo=Qc-r7,af=Bn+2864|0,Af=e[af>>2]|0,$f=ta+(RA<<3)|0,lf=+l1[$f>>3],cf=1-Bo,yc=lf*cf,gf=RA+1|0,uf=ta+(gf<<3)|0,df=+l1[uf>>3],hf=df*Bo,Qo=hf+yc,FA=~~Qo,ff=+(FA|0),vc=Qo-ff,If=vc==0,mf=(FA|0)>0,jC=mf&If,m=jC?1:vc,na=jC<<31>>31,U=na+FA|0,pf=1-m,kc=U+1|0,hu=0;Sc=(lr+(U*160|0)|0)+(hu<<2)|0,Cf=e[Sc>>2]|0,Bf=+(Cf|0),yn=Bf*pf,Qf=(lr+(kc*160|0)|0)+(hu<<2)|0,yf=e[Qf>>2]|0,wn=+(yf|0),wf=wn*m,bc=wf+yn,kf=bc,yo=(Af+336|0)+(hu<<2)|0,s[yo>>2]=kf,Dc=hu+1|0,ny=(Dc|0)==40,!ny;)hu=Dc}for(Sf=((n0+3528|0)+(o<<5)|0)+8|0,_c=+l1[Sf>>3],bf=T6+40|0,cr=e[bf>>2]|0,TA=~~_c,Df=+(TA|0),xc=_c-Df,_f=cr+(TA<<2)|0,xf=e[_f>>2]|0,Mc=+(xf|0),Lf=1-xc,Mf=Mc*Lf,Rf=TA+1|0,Rc=cr+(Rf<<2)|0,Ff=e[Rc>>2]|0,wo=+(Ff|0),Tf=wo*xc,Nf=Tf+Mf,Gf=Nf,NA=Kl+32|0,s[NA>>2]=Gf,Uf=n0+3568|0,GA=+l1[Uf>>3],UA=~~GA,Pf=+(UA|0),Fc=GA-Pf,Tc=cr+(UA<<2)|0,Of=e[Tc>>2]|0,Uc=+(Of|0),qf=1-Fc,Pc=Uc*qf,Oc=UA+1|0,Hf=cr+(Oc<<2)|0,Vf=e[Hf>>2]|0,qc=+(Vf|0),Hc=qc*Fc,Yf=Hc+Pc,Vc=Yf,Jf=sc+32|0,s[Jf>>2]=Vc,J8||(zf=n0+3600|0,Jc=+l1[zf>>3],PA=~~Jc,zc=+(PA|0),Kc=Jc-zc,Wc=Bn+2860|0,Zc=e[Wc>>2]|0,Kf=cr+(PA<<2)|0,Wf=e[Kf>>2]|0,jf=+(Wf|0),Xf=1-Kc,eI=jf*Xf,tI=PA+1|0,iI=cr+(tI<<2)|0,jc=e[iI>>2]|0,OA=+(jc|0),rI=OA*Kc,nI=rI+eI,oI=nI,eg=Zc+32|0,s[eg>>2]=oI,sI=n0+3632|0,tg=+l1[sI>>3],qA=~~tg,oa=+(qA|0),ig=tg-oa,aI=Bn+2864|0,AI=e[aI>>2]|0,$I=cr+(qA<<2)|0,lI=e[$I>>2]|0,sa=+(lI|0),cI=1-ig,gI=sa*cI,uI=qA+1|0,dI=cr+(uI<<2)|0,hI=e[dI>>2]|0,fI=+(hI|0),II=fI*ig,mI=II+gI,ng=mI,EI=AI+32|0,s[EI>>2]=ng),CI=((n0+3528|0)+(o<<5)|0)+16|0,BI=+l1[CI>>3],aa=T6+76|0,og=e[aa>>2]|0,QI=T6+60|0,yI=e[QI>>2]|0,kn=T6+56|0,sg=e[kn>>2]|0,Nl?Ag=0:(ag=n0+3408|0,wI=+l1[ag>>3],Ag=wI),cE(t,BI,0,og,yI,sg,Ag),vI=n0+3576|0,$g=+l1[vI>>3],lg=e[aa>>2]|0,kI=T6+64|0,SI=e[kI>>2]|0,bI=e[kn>>2]|0,cE(t,$g,1,lg,SI,bI,0),J8?(vo=e[f0>>2]|0,jI=vo+2852|0,Bg=e[jI>>2]|0,XI=vo+3496|0,JA=+l1[XI>>3],Qg=JA,em=Bg+4|0,s[em>>2]=Qg,im=vo+3504|0,rm=+l1[im>>3],yg=rm,nm=Bg+8|0,s[nm>>2]=yg,om=vo+2856|0,wg=e[om>>2]|0,ga=wg+4|0,s[ga>>2]=Qg,sm=wg+8|0,s[sm>>2]=yg,gr=vo):(DI=n0+3608|0,_I=+l1[DI>>3],VA=e[aa>>2]|0,xI=T6+68|0,LI=e[xI>>2]|0,MI=e[kn>>2]|0,cE(t,_I,2,VA,LI,MI,0),RI=n0+3640|0,cg=+l1[RI>>3],FI=e[aa>>2]|0,gg=T6+72|0,TI=e[gg>>2]|0,NI=e[kn>>2]|0,cE(t,cg,3,FI,TI,NI,0),Fr=e[f0>>2]|0,dg=Fr+2852|0,hg=e[dg>>2]|0,GI=Fr+3496|0,fg=+l1[GI>>3],$a=fg,UI=hg+4|0,s[UI>>2]=$a,PI=Fr+3504|0,OI=+l1[PI>>3],la=OI,qI=hg+8|0,s[qI>>2]=la,HI=Fr+2856|0,mg=e[HI>>2]|0,VI=mg+4|0,s[VI>>2]=$a,YI=mg+8|0,s[YI>>2]=la,YA=Fr+2860|0,ca=e[YA>>2]|0,JI=ca+4|0,s[JI>>2]=$a,zI=ca+8|0,s[zI>>2]=la,KI=Fr+2864|0,Cg=e[KI>>2]|0,WI=Cg+4|0,s[WI>>2]=$a,ZI=Cg+8|0,s[ZI>>2]=la,gr=Fr),am=+l1[N4>>3],Am=T6+152|0,vg=e[Am>>2]|0,kg=~~am,$m=vg+(kg<<3)|0,Sg=e[$m>>2]|0,bg=(vg+(kg<<3)|0)+4|0,x7=e[bg>>2]|0,Dg=e[gr>>2]|0,lm=gr+4|0,cm=e[lm>>2]|0,um=(Dg|0)==(cm|0),a=um?1:2,zA=gr+8|0,ua=gr+12|0,_g=t+8|0,xg=t+4|0,y7=0;;){if(dm=ce(1,3208)|0,da=(gr+544|0)+(y7<<2)|0,e[da>>2]=dm,So=ce(1,16)|0,hm=(gr+32|0)+(y7<<2)|0,e[hm>>2]=So,ha=26304+(y7<<4)|0,e[So>>2]=e[ha>>2]|0,e[So+4>>2]=e[ha+4>>2]|0,e[So+8>>2]=e[ha+8>>2]|0,e[So+12>>2]=e[ha+12>>2]|0,fm=e[zA>>2]|0,WA=(y7|0)<(fm|0),WA||(Im=y7+1|0,e[zA>>2]=Im),mm=(gr+288|0)+(y7<<2)|0,e[mm>>2]=0,Lg=e[da>>2]|0,fa=Sg+(y7*3208|0)|0,ge(Lg|0,fa|0,3208)|0,Mg=e[ua>>2]|0,pm=(y7|0)<(Mg|0),pm||(Em=y7+1|0,e[ua>>2]=Em),Cm=e[fa>>2]|0,Rg=(Cm|0)>0,Rg)for(EE=0;;){Qm=((Sg+(y7*3208|0)|0)+1092|0)+(EE<<2)|0,ni=e[Qm>>2]|0,_e=e[f0>>2]|0,n7=R9(2840)|0,ym=(_e+1568|0)+(ni<<2)|0,e[ym>>2]=n7,Fg=(x7+(ni<<5)|0)+12|0,Tg=e[Fg>>2]|0,ge(n7|0,Tg|0,2840)|0,ZA=_e+20|0,wm=e[ZA>>2]|0,bo=(wm|0)>(ni|0),bo||(vm=ni+1|0,e[ZA>>2]=vm),km=(x7+(ni<<5)|0)+8|0,Ng=e[km>>2]|0,jA=n7+8|0,e[jA>>2]=Ng,Sm=x7+(ni<<5)|0,Gg=e[Sm>>2]|0,Ug=(_e+1312|0)+(ni<<2)|0,e[Ug>>2]=Gg,Pg=_e+3420|0,XA=e[Pg>>2]|0,Og=(XA|0)==0,Do=n7+12|0,t$=e[Do>>2]|0,qg=(t$|0)>0;do if(Og){if(qg)for(Hg=(x7+(ni<<5)|0)+24|0,Ia=e[Hg>>2]|0,_m=n7+24|0,Ma=0;;)if(hr=_m+(Ma<<2)|0,Dn=Ia+(Ma<<4)|0,Ri=e[Dn>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[hr>>2]|0,Ba=Ti|1,e[hr>>2]=Ba),Qa=(Ia+(Ma<<4)|0)+4|0,tu=e[Qa>>2]|0,iu=(tu|0)==0,iu||(b2=e[hr>>2]|0,B5=b2|2,e[hr>>2]=B5),o5=(Ia+(Ma<<4)|0)+8|0,R2=e[o5>>2]|0,M2=(R2|0)==0,M2||(y2=e[hr>>2]|0,Q5=y2|4,e[hr>>2]=Q5),m5=(Ia+(Ma<<4)|0)+12|0,L5=e[m5>>2]|0,q5=(L5|0)==0,q5||(M5=e[hr>>2]|0,Y2=M5|8,e[hr>>2]=Y2),p5=Ma+1|0,$5=e[Do>>2]|0,u5=(p5|0)<($5|0),u5)Ma=p5;else{Sa=$5;break}else Sa=t$;ya=(x7+(ni<<5)|0)+16|0,l$=e[ya>>2]|0,Ni=_e+24|0,Ur=e[Ni>>2]|0,c$=(Ur|0)>0,ep=l$;e:do if(c$)for(kp=0;;){if(g$=(_e+1824|0)+(kp<<2)|0,tp=e[g$>>2]|0,u$=(tp|0)==(l$|0),u$){L=kp;break e}if(ru=kp+1|0,va=(ru|0)<(Ur|0),va)kp=ru;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,ip=Ur+1|0,e[Ni>>2]=ip,L=Ur),rp=n7+20|0,e[rp>>2]=L,np=(_e+1824|0)+(L<<2)|0,e[np>>2]=ep,_n=(Sa|0)>0,!_n)break;for(tt=(x7+(ni<<5)|0)+24|0,Le=n7+280|0,Hr=0,w$=0;;){if(nu=e[tt>>2]|0,op=nu+(w$<<4)|0,d$=e[op>>2]|0,ou=(d$|0)==0,sp=d$,ou)Mo=nu,fp=Hr;else{ba=e[Ni>>2]|0,Ap=(ba|0)>0;e:do if(Ap)for(Bp=0;;){if($p=(_e+1824|0)+(Bp<<2)|0,lp=e[$p>>2]|0,cp=(lp|0)==(d$|0),cp){M=Bp;break e}if(su=Bp+1|0,gp=(su|0)<(ba|0),gp)Bp=su;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,up=ba+1|0,e[Ni>>2]=up,M=ba),dp=Hr+1|0,o7=Le+(Hr<<2)|0,e[o7>>2]=M,xn=(_e+1824|0)+(M<<2)|0,e[xn>>2]=sp,c0=e[tt>>2]|0,Mo=c0,fp=dp}if(h$=(Mo+(w$<<4)|0)+4|0,Ro=e[h$>>2]|0,oi=(Ro|0)==0,Fo=Ro,oi)C2=Mo,Xe=fp;else{z1=e[Ni>>2]|0,q1=(z1|0)>0;e:do if(q1)for(pp=0;;){if(H1=(_e+1824|0)+(pp<<2)|0,Y1=e[H1>>2]|0,X1=(Y1|0)==(Ro|0),X1){D=pp;break e}if(o2=pp+1|0,j1=(o2|0)<(z1|0),j1)pp=o2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=z1+1|0,e[Ni>>2]=O1,D=z1),u2=fp+1|0,W1=Le+(fp<<2)|0,e[W1>>2]=D,I2=(_e+1824|0)+(D<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,Xe=u2}if(a2=(C2+(w$<<4)|0)+8|0,K1=e[a2>>2]|0,h2=(K1|0)==0,l2=K1,h2)L2=C2,B$=Xe;else{i2=e[Ni>>2]|0,c2=(i2|0)>0;e:do if(c2)for(Ep=0;;){if(r2=(_e+1824|0)+(Ep<<2)|0,$2=e[r2>>2]|0,e2=($2|0)==(K1|0),e2){y=Ep;break e}if(s2=Ep+1|0,m2=(s2|0)<(i2|0),m2)Ep=s2;else{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=i2+1|0,e[Ni>>2]=k2,y=i2),D2=Xe+1|0,S2=Le+(Xe<<2)|0,e[S2>>2]=y,Q2=(_e+1824|0)+(y<<2)|0,e[Q2>>2]=l2,Z=e[tt>>2]|0,L2=Z,B$=D2}if(G2=(L2+(w$<<4)|0)+12|0,P2=e[G2>>2]|0,p2=(P2|0)==0,K2=P2,p2)qC=B$;else{O2=e[Ni>>2]|0,U2=(O2|0)>0;e:do if(U2)for(Cp=0;;){if(H2=(_e+1824|0)+(Cp<<2)|0,W2=e[H2>>2]|0,A5=(W2|0)==(P2|0),A5){x=Cp;break e}if(V2=Cp+1|0,N1=(V2|0)<(O2|0),N1)Cp=V2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,e5=O2+1|0,e[Ni>>2]=e5,x=O2),T5=B$+1|0,t5=Le+(B$<<2)|0,e[t5>>2]=x,x5=(_e+1824|0)+(x<<2)|0,e[x5>>2]=K2,qC=T5}if(b5=w$+1|0,V5=e[Do>>2]|0,g5=(b5|0)<(V5|0),g5)Hr=qC,w$=b5;else break}}else{if(qg)for(bm=(x7+(ni<<5)|0)+28|0,Sn=e[bm>>2]|0,Dm=n7+24|0,La=0;;)if(L7=Dm+(La<<2)|0,xm=Sn+(La<<4)|0,Lm=e[xm>>2]|0,Mm=(Lm|0)==0,Mm||(Rm=e[L7>>2]|0,Fm=Rm|1,e[L7>>2]=Fm),Tm=(Sn+(La<<4)|0)+4|0,M7=e[Tm>>2]|0,Nm=(M7|0)==0,Nm||($6=e[L7>>2]|0,n3=$6|2,e[L7>>2]=n3),l3=(Sn+(La<<4)|0)+8|0,U3=e[l3>>2]|0,E6=(U3|0)==0,E6||(b3=e[L7>>2]|0,D3=b3|4,e[L7>>2]=D3),a6=(Sn+(La<<4)|0)+12|0,i6=e[a6>>2]|0,J3=(i6|0)==0,J3||(j5=e[L7>>2]|0,M3=j5|8,e[L7>>2]=M3),d3=La+1|0,z3=e[Do>>2]|0,h6=(d3|0)<(z3|0),h6)La=d3;else{Xg=z3;break}else Xg=t$;Gm=(x7+(ni<<5)|0)+20|0,Yg=e[Gm>>2]|0,Q7=_e+24|0,ma=e[Q7>>2]|0,i$=(ma|0)>0,Jg=Yg;e:do if(i$)for(mp=0;;){if(zg=(_e+1824|0)+(mp<<2)|0,Pm=e[zg>>2]|0,Kg=(Pm|0)==(Yg|0),Kg){B=mp;break e}if(Wg=mp+1|0,Om=(Wg|0)<(ma|0),Om)mp=Wg;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,jg=ma+1|0,e[Q7>>2]=jg,B=ma),Hm=n7+20|0,e[Hm>>2]=B,Vm=(_e+1824|0)+(B<<2)|0,e[Vm>>2]=Jg,Ym=(Xg|0)>0,!Ym)break;for(_o=(x7+(ni<<5)|0)+28|0,pa=n7+280|0,Po=0,Q$=0;;){if(Ea=e[_o>>2]|0,Jm=Ea+(Q$<<4)|0,r$=e[Jm>>2]|0,Km=(r$|0)==0,eu=r$,Km)Lo=Ea,Rn=Po;else{xo=e[Q7>>2]|0,Wm=(xo|0)>0;e:do if(Wm)for(vp=0;;){if(Zm=(_e+1824|0)+(vp<<2)|0,n$=e[Zm>>2]|0,o$=(n$|0)==(r$|0),o$){w=vp;break e}if(Ca=vp+1|0,s$=(Ca|0)<(xo|0),s$)vp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,a$=xo+1|0,e[Q7>>2]=a$,w=xo),Nr=Po+1|0,Gr=pa+(Po<<2)|0,e[Gr>>2]=w,A$=(_e+1824|0)+(w<<2)|0,e[A$>>2]=eu,J=e[_o>>2]|0,Lo=J,Rn=Nr}if($$=(Lo+(Q$<<4)|0)+4|0,dr=e[$$>>2]|0,bn=(dr|0)==0,jm=dr,bn)R5=Lo,Ln=Rn;else{y5=e[Q7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(Qp=0;;){if(d5=(_e+1824|0)+(Qp<<2)|0,l5=e[d5>>2]|0,j2=(l5|0)==(dr|0),j2){S=Qp;break e}if(d2=Qp+1|0,w5=(d2|0)<(y5|0),w5)Qp=d2;else{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,i5=y5+1|0,e[Q7>>2]=i5,S=y5),s5=Rn+1|0,h5=pa+(Rn<<2)|0,e[h5>>2]=S,z2=(_e+1824|0)+(S<<2)|0,e[z2>>2]=jm,j=e[_o>>2]|0,R5=j,Ln=s5}if(f5=(R5+(Q$<<4)|0)+8|0,X2=e[f5>>2]|0,c5=(X2|0)==0,F2=X2,c5)f3=R5,Mn=Ln;else{v5=e[Q7>>2]|0,J5=(v5|0)>0;e:do if(J5)for(yp=0;;){if(i3=(_e+1824|0)+(yp<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(X2|0),I3){b=yp;break e}if(h3=yp+1|0,r3=(h3|0)<(v5|0),r3)yp=h3;else{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=v5+1|0,e[Q7>>2]=a3,b=v5),B3=Ln+1|0,G5=pa+(Ln<<2)|0,e[G5>>2]=b,Z5=(_e+1824|0)+(b<<2)|0,e[Z5>>2]=F2,u0=e[_o>>2]|0,f3=u0,Mn=B3}if(x3=(f3+(Q$<<4)|0)+12|0,w3=e[x3>>2]|0,X3=(w3|0)==0,H3=w3,X3)q9=Mn;else{_3=e[Q7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(wp=0;;){if(s6=(_e+1824|0)+(wp<<2)|0,G3=e[s6>>2]|0,V3=(G3|0)==(w3|0),V3){v=wp;break e}if(c3=wp+1|0,g3=(c3|0)<(_3|0),g3)wp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=_3+1|0,e[Q7>>2]=u3,v=_3),Q3=Mn+1|0,z5=pa+(Mn<<2)|0,e[z5>>2]=v,Y5=(_e+1824|0)+(v<<2)|0,e[Y5>>2]=H3,q9=Q3}if(S5=Q$+1|0,Y3=e[Do>>2]|0,U5=(S5|0)<(Y3|0),U5)Po=q9,Q$=S5;else break}}while(!1);au=_e+3480|0,Au=+l1[au>>3],_a=Au*1e3,To=(_e+1056|0)+(y7<<2)|0,Go=e[To>>2]|0,hp=e[_g>>2]|0,Uo=+(hp|0),fr=Uo*.5,$u=_e+(y7<<2)|0,Pr=e[$u>>2]|0,s7=Pr>>1,f$=_a>fr,VC=f$?fr:_a,I$=VC/fr,X7=+(s7|0),p$=X7*I$,E$=~~p$,Or=Go+1116|0,e[Or>>2]=E$,u6=(x7+(ni<<5)|0)+4|0,xa=e[u6>>2]|0;do if((xa|0)==2)cu=250;else if((xa|0)==1){if(qr=e[Pg>>2]|0,lu=(qr|0)==0,x4=_e+2996|0,C$=_e+2968|0,dy=lu?C$:x4,uy=e[dy>>2]|0,gy=+(uy|0),YC=gy*1e3,kt=YC>fr,!kt){cu=YC;break}cu=fr}else cu=VC;while(!1);C0=e[Ug>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=_e+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(pE=0;;){if(y0=(_e+544|0)+(pE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(bp=0;;){W0=(w0+1092|0)+(bp<<2)|0,v0=e[W0>>2]|0,T0=(v0|0)==(ni|0);do if(T0){if(N0=e[xg>>2]|0,P0=(N0|0)>0,P0)HC=0,BE=0;else{Ip=0;break}for(;;)if(q0=(w0+4|0)+(BE<<2)|0,k0=e[q0>>2]|0,J0=(k0|0)==(bp|0),F0=J0&1,Y=F0+HC|0,L0=BE+1|0,ey=(L0|0)==(N0|0),ey){Ip=Y;break}else HC=Y,BE=L0}else Ip=0;while(!1);if(G0=bp+1|0,z0=(G0|0)<(B0|0),H0=(Ip|0)==0,Z0=z0&H0,Z0)bp=G0;else{fE=Ip;break}}else fE=0;if(O0=pE+1|0,V0=(O0|0)<(b0|0),s1=(fE|0)==0,Y0=V0&s1,Y0)pE=O0;else{hE=fE;break}}else hE=0;if(i1=cu/fr,x0=+(hE|0),o1=x0*X7,g1=o1*i1,m1=e[jA>>2]|0,h1=+(m1|0),u1=g1/h1,A1=u1+.9,c1=~~A1,a1=n5(c1,m1)|0,$1=n7+4|0,e[$1>>2]=a1,j0=n5(hE,s7)|0,E1=(a1|0)>(j0|0),!E1){q=$1,Z1=a1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,q=$1,Z1=p1,x1=m1}else{if(B1=cu/fr,w1=B1*X7,v1=e[jA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,b1=~~M1,_1=n5(b1,v1)|0,F1=n7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){q=F1,Z1=_1,x1=v1;break}D1=(s7|0)%(v1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,q=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[q>>2]=x1),m3=EE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)EE=m3;else break}if(S6=y7+1|0,r6=(S6|0)<(a|0),r6)y7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(v6=e[f0>>2]|0,R3=v6+3396|0,o6=e[R3>>2]|0,C6=v6+3400|0,K3=+l1[C6>>3],F3=~~K3,W3=+(F3|0),e6=K3-W3,R6=o6+4|0,l6=e[R6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(z6=e[xg>>2]|0,B6=l6+(F3<<3)|0,T3=+l1[B6>>3],H6=1-e6,A6=T3*H6,D6=F3+1|0,G6=l6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*e6,X6=Q6+A6,P3=+(z6|0),V6=X6*P3,hy=~~V6,Q=hy),o9=t+16|0,e[o9>>2]=Q),g9=n0+3424|0,U6=e[g9>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,s9=e[O3>>2]|0,d9=+(s9|0),n9=+(b6|0),B9=d9/n9,Q9=~~B9,g0=Q9),y9=t+24|0,e[y9>>2]=g0,h9=n0+3420|0,f9=e[h9>>2]|0,V9=(f9|0)==0,V9?(E=0,E|0):(y6=e[f6>>2]|0,a9=n0+3360|0,e[a9>>2]=y6,Y9=e[g9>>2]|0,w9=n0+3364|0,e[w9>>2]=Y9,we=e[F6>>2]|0,ue=n0+3368|0,e[ue>>2]=we,Ee=n0+3444|0,J9=e[Ee>>2]|0,re=n0+3372|0,e[re>>2]=J9,F9=n0+3448|0,v9=+l1[F9>>3],A9=n0+3376|0,l1[A9>>3]=v9,ve=n0+3432|0,Me=+l1[ve>>3],de=n0+3384|0,l1[de>>3]=Me,E=0,E|0)}function rD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0;if(Y=C,I=(a|0)<1,I)h=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,N=m,G=y+3400|0,Q=nD(o,a,N,0,G)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)h=-130;else return oD(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=iD(t)|0,D=(w|0)==0,D?(g=0,g|0):(LC(t),g=w,g|0);return LC(t),g=h,g|0}function lE(t,o,a,$,g,h){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,W=t+28|0,$0=e[W>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,h1=e[Z0>>2]|0,I1=+(h1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),N=F*E,G=($+(B*20|0)|0)+4|0,U=e[G>>2]|0,Y=+(U|0),X=Y*M,K=X+N,a0=K,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,J=e[s0>>2]|0,o0=+(J|0),q=o0*E,d0=($+(B*20|0)|0)+8|0,t0=e[d0>>2]|0,j=+(t0|0),u0=j*M,c0=u0+q,l0=c0,Z=N0+20|0,s[Z>>2]=l0,m0=($+(m*20|0)|0)+12|0,g0=+s[m0>>2],f0=g0,n0=f0*E,h0=($+(B*20|0)|0)+12|0,p0=+s[h0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,W0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,P0=T0*M,q0=P0+W0,k0=q0,J0=N0+28|0,s[J0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),K0=G0*E,z0=g+(B<<2)|0,H0=e[z0>>2]|0,O0=+(H0|0),V0=O0*M,s1=V0+K0,Y0=s1,i1=N0+496|0,s[i1>>2]=Y0,p1=0;x0=(h+(m*68|0)|0)+(p1<<2)|0,o1=e[x0>>2]|0,d1=+(o1|0),g1=d1*E,m1=(h+(B*68|0)|0)+(p1<<2)|0,u1=e[m1>>2]|0,A1=+(u1|0),c1=A1*M,a1=c1+g1,$1=a1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function cE(t,o,a,$,g,h,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),d0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,b1=e[j0>>2]|0,q1=+(b1|0),D=1-d0,X=q1*D,K=v+1|0,a0=$+(K<<2)|0,W=e[a0>>2]|0,r0=+(W|0),s0=r0*d0,J=s0+X,o0=J,q=x0+108|0,s[q>>2]=o0,t0=h+(a*12|0)|0,j=e[t0>>2]|0,u0=x0+120|0,e[u0>>2]=j,c0=(h+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,Z=(h+(a*12|0)|0)+8|0,m0=e[Z>>2]|0,g0=x0+128|0,e[g0>>2]=m0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,h0=e[f0>>2]|0,p0=+(h0|0),C0=p0*D,S0=(g+(K*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*d0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,W0=i2+1|0,K1=(W0|0)==17,K1){c2=0;break}else i2=W0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(c2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*D,U1=((g+(K*204|0)|0)+68|0)+(c2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),Z1=P1*d0,G1=Z1+F1,x1=G1,z1=(x0+200|0)+(c2<<2)|0,s[z1>>2]=x1,H1=c2+1|0,h2=(H1|0)==17,h2){r2=0;break}else c2=H1;for(;V1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[V1>>2]|0,X1=+(Y1|0),o2=X1*D,j1=((g+(K*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,u2=+(O1|0),W1=u2*d0,I2=W1+o2,y=I2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,l2=(M|0)==17,!l2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,N=R,G=N+m,U=G,Y=U>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,P0=N0,q0=P0>2]=$2,J0=M0+1|0,a2=(J0|0)==17,!a2;)M0=J0;for(F0=x0+200|0,G0=+s[F0>>2],K0=G0+6,z0=x0+200|0,H0=G0,Z0=H0+m,O0=Z0,V0=O0>2]=s2,s1=1;E=(x0+200|0)+(s1<<2)|0,S=+s[E>>2],Y0=(x0+200|0)+(s1<<2)|0,i1=S,o1=i1+m,d1=o1,g1=d1>2]=e2,m1=s1+1|0,C2=(m1|0)==17,!C2;)s1=m1;for(h1=x0+268|0,u1=+s[h1>>2],A1=u1+6,c1=x0+268|0,a1=u1,$1=a1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=m2,L1=Q1+1|0,A2=(L1|0)==17,!A2;)Q1=L1}function nD(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(J=26336,j0=0;;){if(s0=e[J>>2]|0,o0=s0+12|0,q=e[o0>>2]|0,d0=(q|0)==-1,j=(q|0)==(t|0),p1=d0|j,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,Z=e[l0>>2]|0,m0=(Z|0)<(o|0),!m0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,W0=t0+12|0,G0=e[W0>>2]|0,o1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=o1|A1,B1&&(c1=t0+16|0,D=e[c1>>2]|0,y=(D|0)>(o|0),!y&&(x=t0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[t0>>2]|0,F=t0+4|0,N=e[F>>2]|0,G=+l1[N>>3],U=Y>3],a0=Y>K,!a0))))){m=Y,I=R,E=h0,Q=N,u1=G;break e}if($1=E1+1|0,W=26336+($1<<2)|0,r0=($1|0)==17,r0){h=0;break}else h0=W,E1=$1}return h|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=u1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return P0=(I1|0)==(I|0),P0?(q0=+(I|0),k0=q0+-.001,w1=k0):(J0=Q+(I1<<3)|0,F0=+l1[J0>>3],L0=F0,K0=I1+1|0,z0=Q+(K0<<3)|0,H0=+l1[z0>>3],Z0=H0,O0=L0,V0=m-O0,s1=Z0-L0,Y0=s1,i1=V0/Y0,x0=i1,d1=+(I1|0),g1=x0+d1,m1=g1,w1=m1),l1[g>>3]=w1,h1=e[E>>2]|0,h=h1,h|0}function oD(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,P0=E+3456|0,e[P0>>2]=1,O0=E+3460|0,e[O0>>2]=1,s1=E+3400|0,Y0=+l1[s1>>3],Q=~~Y0,B=+(Q|0),S=Y0-B,b=E+3472|0,l1[b>>3]=Y0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,N=R*F,G=Q+1|0,U=x+(G<<3)|0,Y=+l1[U>>3],X=Y*S,K=X+N,a0=E+3480|0,l1[a0>>3]=K,g=G,h=F):($=1-S,m=Q+1|0,g=m,h=$),W=r0+112|0,s0=e[W>>2]|0,J=s0+(Q<<2)|0,o0=e[J>>2]|0,q=+(o0|0),d0=q*h,t0=s0+(g<<2)|0,j=e[t0>>2]|0,u0=+(j|0),c0=u0*S,$0=c0+d0,Z=E+3496|0,l1[Z>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,h0=+(n0|0),p0=h0*h,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=Y0,W0=E+3528|0,l1[W0>>3]=Y0,M0=E+3536|0,l1[M0>>3]=Y0,v0=E+3544|0,l1[v0>>3]=Y0,T0=E+3552|0,l1[T0>>3]=Y0,N0=E+3560|0,l1[N0>>3]=Y0,q0=E+3568|0,l1[q0>>3]=Y0,k0=E+3576|0,l1[k0>>3]=Y0,J0=E+3584|0,l1[J0>>3]=Y0,F0=E+3592|0,l1[F0>>3]=Y0,L0=E+3600|0,l1[L0>>3]=Y0,G0=E+3608|0,l1[G0>>3]=Y0,K0=E+3616|0,l1[K0>>3]=Y0,z0=E+3624|0,l1[z0>>3]=Y0,H0=E+3632|0,l1[H0>>3]=Y0,Z0=E+3640|0,l1[Z0>>3]=Y0,V0=E+3648|0,l1[V0>>3]=Y0}function sD(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0;if(H0=C,I=(g|0)!=0,E=I?$:0,L=I?h:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,W0=o+(L<<2)|0,M0=e[W0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,N=(S|0)/2&-1,G=N+y|0,m=(D|0)/-4&-1,U=G+m|0,Y=(D|0)/2&-1,X=U+Y|0,K=(M|0)>0,K?(a0=y-x|0,W=a0<<2,g4(t|0,0,W|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(J=y+R|0,o0=J-N0|0,q=o0-x|0,P0=N0,J0=0;u0=_0+(J0<<2)|0,c0=+s[u0>>2],$0=t+(P0<<2)|0,Z=+s[$0>>2],m0=Z*c0,s[$0>>2]=m0,g0=P0+1|0,f0=J0+1|0,T0=(f0|0)==(q|0),!T0;)P0=g0,J0=f0;if(d0=(D|0)>1,d0){for(t0=U+1|0,j=(X|0)>(t0|0),k0=U,L0=Y;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(X|0),B0;)k0=w0,L0=F0;K0=j?X:t0,q0=K0}else q0=U;n0=(S|0)>(q0|0),n0&&(G0=t+(q0<<2)|0,h0=S-q0|0,p0=h0<<2,g4(G0|0,0,p0|0)|0)}function aD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,C=C+64|0,$0=Z+32|0,c0=Z,$=R9(688)|0,g=$+408|0,Eb(g),D=~~o,rD(g,t,D,a)|0,X=$+440|0,Ib(X),mb(X,553008,553016),o0=$+456|0,KS(o0,g)|0,q=$+568|0,JS(o0,q)|0,d0=hQ(0)|0,dD(d0),t0=hD()|0,NS($,t0)|0,j=$+680|0,e[j>>2]=0,u0=$+684|0,e[u0>>2]=0,h=$+360|0,Cb(o0,X,h,$0,c0)|0,AE($,h)|0,AE($,$0)|0,AE($,c0)|0,m=$+392|0,I=IQ($,m)|0,E=(I|0)==0,E)return C=Z,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[j>>2]|0,N=W7(F,x)|0,e[j>>2]=N,G=e[u0>>2]|0,U=N+G|0,Y=e[m>>2]|0,K=e[Q>>2]|0,ge(U|0,Y|0,K|0)|0,a0=K+G|0,e[u0>>2]=a0,W=N+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ge(W|0,r0|0,s0|0)|0,J=s0+a0|0,e[u0>>2]=J),L=IQ($,m)|0,R=(L|0)==0,!R;);return C=Z,$|0}function AD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;E=C,GS(t)|0,o=t+568|0,zS(o)|0,a=t+456|0,CQ(a),$=t+440|0,pb($),g=t+408|0,LC(g),h=t+680|0,m=e[h>>2]|0,E2(m),E2(t)}function $D(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0;return h=C,a=t+456|0,$=BQ(a,o)|0,$|0}function lD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,a=t+456|0,WS(a,o)|0,$=t+568|0,w=QQ(a,$)|0,Y=(w|0)==1,!!Y)for(d0=t+360|0,t0=t+392|0,j=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,h=t+400|0;;){if(qS($,0)|0,YS($)|0,E=EQ(a,d0)|0,Q=(E|0)==0,!Q)for(;;){if(AE(t,d0)|0,b=mQ(t,t0)|0,v=(b|0)==0,!v)for(;D=e[j>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(G=e[$0>>2]|0,U=W7(G,L)|0,e[$0>>2]=U,X=e[j>>2]|0,K=U+X|0,a0=e[g>>2]|0,W=e[u0>>2]|0,ge(K|0,a0|0,W|0)|0,r0=W+X|0,e[j>>2]=r0,s0=U+r0|0,J=e[h>>2]|0,o0=e[c0>>2]|0,ge(s0|0,J|0,o0|0)|0,q=o0+r0|0,e[j>>2]=q),F=mQ(t,t0)|0,N=(F|0)==0,!N;);if(B=EQ(a,d0)|0,S=(B|0)==0,S)break}if(m=QQ(a,$)|0,I=(m|0)==1,!I)break}}function cD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function gD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;return h=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function gE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+uD(t,o),+a}function Hu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0;if(U3=C,C=C+688|0,n3=U3+424|0,W5=U3+192|0,t3=U3,o0=n5(a,o)|0,q=(o0|0)==0,q){C=U3;return}for(W=o0-a|0,V1=t3+4|0,e[V1>>2]=a,e[t3>>2]=a,t2=a,I5=a,x3=2;A2=t2+a|0,U2=A2+I5|0,N5=t3+(x3<<2)|0,e[N5>>2]=U2,D5=U2>>>0>>0,r5=x3+1|0,D5;)k2=I5,I5=U2,x3=r5,t2=k2;if(d0=0-a|0,n0=t+W|0,_0=(W|0)>0,_0)for(L0=(a|0)==0,x0=n0,b1=1,W2=0,G5=t,H5=1;;){j0=b1&3,z1=(j0|0)==3;do if(z1){e[W5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=G5,O1=G5,X5=1;;){if(H1=y+d0|0,Y1=B+-2|0,X1=t3+(Y1<<2)|0,o2=e[X1>>2]|0,U5=o2+a|0,r0=0-U5|0,j1=y+r0|0,u2=pi[$&15](O1,j1)|0,W1=(u2|0)>-1,W1&&(I2=pi[$&15](O1,H1)|0,a2=(I2|0)>-1,a2)){f3=X5;break}if(C2=pi[$&15](j1,H1)|0,K1=(C2|0)>-1,h2=X5+1|0,l2=W5+(X5<<2)|0,K1?(e[l2>>2]=j1,i2=B+-1|0,h=j1,E=i2):(e[l2>>2]=H1,h=H1,E=Y1),c2=(E|0)>1,!c2){f3=h2;break}Y=e[W5>>2]|0,B=E,y=h,O1=Y,X5=h2}if(r2=(f3|0)<2,!r2&&($2=W5+(f3<<2)|0,e[$2>>2]=n3,!L0))for(w=a,O2=n3;;){for(p2=w>>>0>256,s2=p2?256:w,K2=e[W5>>2]|0,ge(O2|0,K2|0,s2|0)|0,L2=K2,X3=0;D2=W5+(X3<<2)|0,S2=X3+1|0,Q2=W5+(S2<<2)|0,G2=e[Q2>>2]|0,ge(L2|0,G2|0,s2|0)|0,P2=L2+s2|0,e[D2>>2]=P2,r3=(S2|0)==(f3|0),!r3;)L2=G2,X3=S2;if(e2=(w|0)==(s2|0),e2)break e;m2=w-s2|0,K=e[$2>>2]|0,w=m2,O2=K}}while(!1);J2=b1>>>2,H2=W2<<30,A5=J2|H2,V2=W2>>>2,N1=H5+2|0,l0=A5,x1=V2,Y5=N1}else{if(e5=H5+-1|0,T5=t3+(e5<<2)|0,t5=e[T5>>2]|0,x5=G5,Z2=x0-x5|0,b5=t5>>>0>>0,b5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(S=H5,x=G5,M2=G5,_3=1;;){if(g5=x+d0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,o5=e[B5>>2]|0,$6=o5+a|0,s0=0-$6|0,R2=x+s0|0,y2=pi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=pi[$&15](M2,g5)|0,L5=(m5|0)>-1,L5)){w3=_3;break}if(q5=pi[$&15](R2,g5)|0,M5=(q5|0)>-1,Y2=_3+1|0,p5=W5+(_3<<2)|0,M5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){w3=Y2;break}X=e[W5>>2]|0,S=Q,x=m,M2=X,_3=Y2}if(y5=(w3|0)<2,!y5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,X2=n3;;){for(f5=D>>>0>256,l5=f5?256:D,R5=e[W5>>2]|0,ge(X2|0,R5|0,l5|0)|0,h5=R5,H3=0;d2=W5+(H3<<2)|0,w5=H3+1|0,i5=W5+(w5<<2)|0,s5=e[i5>>2]|0,ge(h5|0,s5|0,l5|0)|0,z2=h5+l5|0,e[d2>>2]=z2,a3=(w5|0)==(w3|0),!a3;)h5=s5,H3=w5;if(d5=(D|0)==(l5|0),d5)break e;j2=D-l5|0,a0=e[T1>>2]|0,D=j2,X2=a0}}while(!1)}else uE(G5,a,$,b1,W2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=W2<<1,v5=b1>>>31,J5=v5|F2,i3=b1<<1,l0=i3,x1=J5,Y5=0;break}else{E5=e5>>>0>31,I3=H5+-33|0,g=E5?0:b1,M=E5?b1:W2,L=E5?I3:e5,h3=M<>>t0,u0=j|h3,c0=g<>>0>>0,m0)b1=$0,W2=x1,G5=Z,H5=Y5;else{N=x1,G=$0,B3=Z,z5=Y5;break}}else N=0,G=1,B3=t,z5=1;if(uE(B3,a,$,G,N,z5,0,t3),g0=(z5|0)==1,f0=(G|0)==1,Q3=f0&g0,h0=(N|0)==0,u3=h0&Q3,u3){C=U3;return}else S0=G,v0=N,Z5=B3,S5=z5;for(;;){if(p0=(S5|0)<2,!p0){V0=v0<<2,s1=S0>>>30,Y0=s1|V0,i1=S5+-2|0,o1=S0<<1,d1=o1&2147483646,g1=s1<<31,m1=d1|g1,h1=m1^3,u1=Y0>>>1,A1=t3+(i1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,J=0-Y3|0,a1=Z5+J|0,$1=S5+-1|0,uE(a1,a,$,h1,u1,$1,1,t3),E1=u1<<1,I1=s1&1,Q1=E1|I1,p1=h1<<1,B1=p1|1,w1=Z5+d0|0,uE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,Z5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)O0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,W0=(B0|0)==0,W0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:z0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){O0=64,l3=56;break}if(N0=v0&1,P0=(N0|0)==0,P0)v=v0,G3=0;else{I=0,k1=S0,_1=v0,D1=0;break}for(;;)if(q0=G3+1|0,k0=v>>>1,J0=k0&1,F0=(J0|0)==0,F0)v=k0,G3=q0;else{F=q0,V3=G3;break}if(G0=V3+33|0,K0=(F|0)==0,K0){I=0,k1=S0,_1=v0,D1=0;break}else z0=G0}H0=z0>>>0>31,H0?(O0=z0,l3=56):(I=z0,k1=S0,_1=v0,D1=z0)}while(!1);if((l3|0)==56&&(l3=0,Z0=O0+-32|0,I=Z0,k1=v0,_1=0,D1=O0),v1=k1>>>I,L1=32-I|0,M1=_1<>>I,U1=D1+S5|0,U=Z5+d0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,Z5=U,S5=U1}C=U3}function uE(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,H2=y2+228|0,U2=y2,e[U2>>2]=t,q=0-o|0,d0=($|0)!=1,v0=(g|0)!=0,z0=v0|d0;e:do if(z0)if(g1=I+(h<<2)|0,Q1=e[g1>>2]|0,F1=0-Q1|0,Y1=t+F1|0,K1=pi[a&15](Y1,t)|0,k2=(K1|0)<1,k2)B=t,M=h,U=m,V2=1,M2=18;else for(v=t,N=h,Y=m,B0=Y1,V0=g,x5=1,b2=$;;){if(t0=(Y|0)==0,h0=(N|0)>1,g5=t0&h0,g5){if(b0=v+q|0,E0=N+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=pi[a&15](b0,B0)|0,W0=(_0|0)>-1,W0){S=v,L=N,e5=x5;break e}if(B5=w0+o|0,J=0-B5|0,M0=v+J|0,T0=pi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=N,e5=x5;break e}}P0=x5+1|0,q0=U2+(x5<<2)|0,e[q0>>2]=B0,k0=b2+-1|0,J0=(k0|0)==0;do if(J0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,K0=y>>>1,H0=K0&1,Z0=(H0|0)==0,Z0)y=K0,I5=G0;else{X=G0;break}O0=(X|0)==0,O0?M2=10:A1=X}else M2=10;if((M2|0)==10){if(M2=0,s1=(V0|0)==0,s1){$1=64,M2=15;break}if(Y0=V0&1,i1=(Y0|0)==0,i1)x=V0,b5=0;else{Q=0,E1=b2,B1=V0,L1=0;break}for(;;)if(x0=b5+1|0,o1=x>>>1,d1=o1&1,m1=(d1|0)==0,m1)x=o1,b5=x0;else{K=x0,V5=b5;break}if(h1=V5+33|0,u1=(K|0)==0,u1){Q=0,E1=b2,B1=V0,L1=0;break}else A1=h1}c1=A1>>>0>31,c1?($1=A1,M2=15):(Q=A1,E1=b2,B1=V0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,a1=$1+-32|0,Q=a1,E1=V0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+N|0,M1=(w1|0)!=1,b1=(v1|0)!=0,_1=b1|M1,!_1){S=B0,L=k1,e5=P0;break e}if(a0=e[U2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,Z1=pi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,U=0,V2=P0,M2=18;break}else w=B0,N=k1,Y=0,B0=P1,V0=v1,x5=P0,b2=w1,v=w}else B=t,M=h,U=m,V2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(U|0)==0,x1)S=B,L=M,e5=V2;else{C=y2;return}z1=(e5|0)<2;e:do if(!z1&&(q1=U2+(e5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,h2=R2;;){for(C2=F>>>0>256,X1=C2?256:F,A2=e[U2>>2]|0,ge(h2|0,A2|0,X1|0)|0,I2=A2,t5=0;j1=U2+(t5<<2)|0,O1=t5+1|0,u2=U2+(O1<<2)|0,W1=e[u2>>2]|0,ge(I2|0,W1|0,X1|0)|0,a2=I2+X1|0,e[j1>>2]=a2,A5=(O1|0)==(e5|0),!A5;)I2=W1,t5=O1;if(V1=(F|0)==(X1|0),V1)break e;o2=F-X1|0,s0=e[q1>>2]|0,F=o2,h2=s0}while(!1);e[H2>>2]=S,l2=(L|0)>1;e:do if(l2){for(D=L,G=S,s2=S,Z2=1;;){if(i2=G+q|0,c2=D+-2|0,r2=I+(c2<<2)|0,$2=e[r2>>2]|0,o5=$2+o|0,o0=0-o5|0,e2=G+o0|0,m2=pi[a&15](s2,e2)|0,t2=(m2|0)>-1,t2&&(D2=pi[a&15](s2,i2)|0,S2=(D2|0)>-1,S2)){N1=Z2;break}if(Q2=pi[a&15](e2,i2)|0,G2=(Q2|0)>-1,L2=Z2+1|0,P2=H2+(Z2<<2)|0,G2?(e[P2>>2]=e2,p2=D+-1|0,E=e2,b=p2):(e[P2>>2]=i2,E=i2,b=c2),K2=(b|0)>1,!K2){N1=L2;break}W=e[H2>>2]|0,D=b,G=E,s2=W,Z2=L2}if(O2=(N1|0)<2,O2)Q0=R2;else if(J2=H2+(N1<<2)|0,e[J2>>2]=R2,j=(o|0)==0,j)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[H2>>2]|0,ge(S0|0,C0|0,c0|0)|0,f0=C0,T5=0;l0=H2+(T5<<2)|0,Z=T5+1|0,m0=H2+(Z<<2)|0,g0=e[m0>>2]|0,ge(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,W2=(Z|0)==(N1|0),!W2;)f0=g0,T5=Z;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[J2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function K7(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,h=t+4503599627370496,m=h+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function HQ(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(h=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=h?I:Q,B=b==0,B?(S=h?-0:0,o=S,+o):(o=b,+o))}function uD(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0;return X=C,h=(o|0)>1023,h?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,U=M):($=y,U=m)):(F=(o|0)<-1022,F?(N=t*22250738585072014e-324,G=o+1022|0,I=(G|0)<-1022,I?(E=N*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,U=E):($=G,U=N)):($=o,U=t)),S=$+1023|0,b=JQ(S|0,0,52)|0,v=Z6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=U*w,+D}function dD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,h=g,e[h>>2]=0}function hD(){var t=0,o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=pD(E|0,S|0,1284865837,1481765933)|0,v=Z6,w=ns(b|0,v|0,1,0)|0,D=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,h=g,e[h>>2]=D,m=os(w|0,D|0,33)|0,I=Z6,m|0}function R9(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,S4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,V8=0,W8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,Z8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,d7=0,Ji=0,zi=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,J8=0,ii=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,di=0,z8=0,Li=0,_4=0,Mi=0,G8=0,hi=0,$9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,wr=0,As=0,Jn=0,$s=0,zn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,ds=0,hs=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,or=0,Ns=0,lo=0,dn=0,co=0,hn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,sr=0,Dr=0,Z7=0,_r=0,mo=0,j7=0,b7=0,D7=0,i7=0,_7=0,xr=0,ar=0,Ar=0,Lr=0,E7=0,Os=0,fi=0,al=0,In=0,mn=0,Vu=0,Al=0,qs=0,Yu=0,aA=0,$l=0,Ju=0,zu=0,Ku=0,AA=0,ll=0,cl=0,$A=0,pn=0,gl=0,Wu=0,Hs=0,$r=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,od=0,sd=0,ul=0,Mr=0,ad=0,Ad=0,dl=0,$d=0,lA=0,Vs=0,cA=0,ld=0,cd=0,gA=0,hl=0,fl=0,Il=0,uA=0,ml=0,Ys=0,gd=0,ud=0,pl=0,dd=0,hd=0,El=0,fd=0,Id=0,Cl=0,Bl=0,Ql=0,yl=0,wl=0,En=0,md=0,vl=0,pd=0,kl=0,Sl=0,Ed=0,Cd=0,Bd=0,dA=0,bl=0,Dl=0,po=0,_l=0,hA=0,Qd=0,xl=0,yd=0,Ll=0,wd=0,vd=0,Ml=0,Rl=0,kd=0,Js=0,Sd=0,fA=0,Fl=0,Tl=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,zs=0,Nl=0,Gl=0,Ul=0,Ks=0,Rd=0,Pl=0,Fd=0,Ol=0,Td=0,Nd=0,ql=0,IA=0,Gd=0,Ud=0,Ws=0,Pd=0,Zs=0,Od=0,mA=0,qd=0,Hd=0,Vd=0,Hl=0,Yd=0,Jd=0,zd=0,Kd=0,Vl=0,Yl=0,lr=0,Jl=0,js=0,pA=0,EA=0,Cn=0,zl=0,Bn=0,Wd=0,Kl=0,Zd=0,jd=0,Xd=0,eh=0,Xs=0,CA=0,Rr=0,th=0,ih=0,Wl=0,BA=0,Zl=0,jl=0,rh=0,Xl=0,nh=0,QA=0,oh=0,sh=0,K9=0,ah=0,ec=0,Ah=0,$h=0,yA=0,lh=0,wA=0,tc=0,ch=0,gh=0,ic=0,rc=0,uh=0,vA=0,kA=0,nc=0,oc=0,dh=0,sc=0,SA=0,hh=0,ac=0,fh=0,Ih=0,mh=0,ph=0,Ac=0,$c=0,bA=0,ea=0,lc=0,Eh=0,cc=0,gc=0,Ch=0,Bh=0,Qh=0,uc=0,yh=0,wh=0,vh=0,kh=0,Sh=0,bh=0,dc=0,Dh=0,hc=0,_h=0,Qn=0,xh=0,fc=0,Lh=0,Eo=0,Ic=0,DA=0,Mh=0,ta=0,_A=0,Rh=0,xA=0,mc=0,Fh=0,Th=0,Nh=0,Gh=0,Uh=0,pc=0,Ph=0,Oh=0,qh=0,ia=0,Co=0,LA=0,Hh=0,MA=0,Vh=0,Yh=0,Jh=0,Ec=0,zh=0,Kh=0,Wh=0,Zh=0,jh=0,ra=0,Xh=0,ef=0,Cc=0,tf=0,rf=0,nf=0,of=0,C7=0,Bc=0,B7=0,Qc=0,RA=0,sf=0,r7=0,Bo=0,af=0,Af=0,$f=0,lf=0,cf=0,yc=0,gf=0,uf=0,wc=0,df=0,hf=0,Qo=0,FA=0,ff=0,vc=0,If=0,mf=0,na=0,pf=0,Ef=0,kc=0,Sc=0,Cf=0,Bf=0,yn=0,Qf=0,yf=0,wn=0,wf=0,bc=0,vf=0,kf=0,yo=0,Dc=0,Sf=0,_c=0,bf=0,cr=0,TA=0,Df=0,xc=0,Lc=0,_f=0,xf=0,Mc=0,Lf=0,Mf=0,Rf=0,Rc=0,Ff=0,wo=0,Tf=0,vn=0,Nf=0,Gf=0,NA=0,Uf=0,GA=0,UA=0,Pf=0,Fc=0,Tc=0,Of=0,Nc=0,Gc=0,Uc=0,qf=0,Pc=0,Oc=0,Hf=0,Vf=0,qc=0,Hc=0,Yf=0,Vc=0,Yc=0,Jf=0,zf=0,Jc=0,PA=0,zc=0,Kc=0,Wc=0,Zc=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,jc=0,OA=0,rI=0,nI=0,oI=0,Xc=0,eg=0,sI=0,tg=0,qA=0,oa=0,ig=0,aI=0,AI=0,$I=0,lI=0,rg=0,sa=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,mI=0,ng=0,pI=0,EI=0,CI=0,BI=0,aa=0,og=0,QI=0,yI=0,kn=0,sg=0,ag=0,HA=0,wI=0,Ag=0,vI=0,$g=0,lg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,VA=0,xI=0,LI=0,MI=0,RI=0,cg=0,FI=0,gg=0,TI=0,NI=0,ug=0,Fr=0,dg=0,hg=0,GI=0,fg=0,$a=0,UI=0,PI=0,OI=0,la=0,Ig=0,qI=0,HI=0,mg=0,VI=0,YI=0,YA=0,ca=0,JI=0,zI=0,KI=0,pg=0,Eg=0,Cg=0,WI=0,ZI=0,vo=0,jI=0,Bg=0,XI=0,JA=0,Qg=0,em=0,tm=0,im=0,rm=0,yg=0,nm=0,om=0,wg=0,ga=0,sm=0,am=0,Am=0,ko=0,vg=0,kg=0,$m=0,Sg=0,bg=0,x7=0,Dg=0,gr=0,lm=0,cm=0,gm=0,um=0,zA=0,ua=0,_g=0,xg=0,dm=0,da=0,So=0,hm=0,ha=0,KA=0,fm=0,WA=0,Im=0,mm=0,Lg=0,fa=0,Mg=0,pm=0,Em=0,Cm=0,Bm=0,Rg=0,Qm=0,ni=0,_e=0,n7=0,ym=0,Fg=0,Tg=0,ZA=0,wm=0,Tr=0,bo=0,vm=0,km=0,Ng=0,jA=0,Sm=0,Gg=0,Ug=0,Pg=0,XA=0,e$=0,Og=0,Do=0,t$=0,qg=0,bm=0,Sn=0,Dm=0,Hg=0,Ia=0,_m=0,Vg=0,L7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,M7=0,Nm=0,Gm=0,Um=0,Yg=0,Q7=0,ma=0,i$=0,Jg=0,zg=0,Pm=0,Kg=0,Wg=0,Om=0,qm=0,Zg=0,jg=0,Hm=0,Vm=0,Xg=0,Ym=0,_o=0,pa=0,Ea=0,Jm=0,r$=0,zm=0,Km=0,eu=0,xo=0,Wm=0,Zm=0,n$=0,o$=0,Ca=0,s$=0,a$=0,ur=0,Nr=0,Gr=0,A$=0,$$=0,Lo=0,dr=0,bn=0,jm=0,hr=0,Dn=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,tu=0,iu=0,ya=0,l$=0,Ni=0,wa=0,Ur=0,c$=0,ep=0,g$=0,tp=0,u$=0,ru=0,va=0,ip=0,rp=0,ka=0,np=0,Sa=0,_n=0,tt=0,Le=0,nu=0,op=0,d$=0,ou=0,sp=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,su=0,gp=0,up=0,dp=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,au=0,Au=0,_a=0,To=0,No=0,Go=0,hp=0,Uo=0,fr=0,$u=0,Pr=0,s7=0,f$=0,I$=0,X7=0,m$=0,p$=0,E$=0,Or=0,u6=0,xa=0,qr=0,lu=0,x4=0,C$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Hr=0,Xe=0,B$=0;B$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,Ee=t+11|0,We=Ee&-8,_4=h2?16:We,qs=_4>>>3,mA=e[138262]|0,ia=mA>>>qs,Kc=ia&3,wg=(Kc|0)==0,!wg){l2=ia&1,f3=l2^1,g3=f3+qs|0,l3=g3<<1,d3=553088+(l3<<2)|0,S0=l3+2|0,N6=553088+(S0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,y9=(d3|0)==(F6|0);do if(y9)J9=1<>>0>>0,h4&&v2(),be=F6+12|0,b9=e[be>>2]|0,Pt=(b9|0)==(R6|0),Pt){e[be>>2]=d3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,b4=R6+w0|0,Ze=e[b4>>2]|0,A8=Ze|1,e[b4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,Z8=_4>>>0>X4>>>0,Z8){if(Hi=(ia|0)==0,!Hi){Yi=ia<>>12,gn=Ss&16,go=ro>>>gn,sr=go>>>5,ar=sr&8,Yu=ar|gn,gl=go>>>ar,nd=gl>>>2,cA=nd&4,ud=Yu|cA,wl=gl>>>cA,bl=wl>>>1,Ml=bl&2,xd=ud|Ml,Ol=wl>>>Ml,qd=Ol>>>1,Jl=qd&1,Xd=xd|Jl,rh=Ol>>>Jl,yA=Xd+rh|0,nc=yA<<1,Ac=553088+(nc<<2)|0,P1=nc+2|0,uc=553088+(P1<<2)|0,Qn=e[uc>>2]|0,xA=Qn+8|0,Co=e[xA>>2]|0,Zh=(Ac|0)==(Co|0);do if(Zh)Bc=1<>>0>>0,cr&&v2(),Rc=Co+12|0,Pf=e[Rc>>2]|0,Vf=(Pf|0)==(Qn|0),Vf){e[Rc>>2]=Ac,e[uc>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return Wc=yA<<3,OA=Wc-_4|0,aI=_4|3,fI=Qn+4|0,e[fI>>2]=aI,yI=Qn+_4|0,SI=OA|1,X1=_4|4,FI=Qn+X1|0,e[FI>>2]=SI,UI=Qn+Wc|0,e[UI>>2]=OA,Bg=(ca|0)==0,Bg||(ga=e[138267]|0,Dg=ca>>>3,da=Dg<<1,Mg=553088+(da<<2)|0,Fg=e[138262]|0,Gg=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(U=_o,Ca=i2)),e[U>>2]=ga,g5=Ca+12|0,e[g5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,j2=ga+12|0,e[j2>>2]=Mg),e[138264]=OA,e[138267]=yI,tt=xA,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=_4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,X3=w3>>>12,H3=X3&16,X5=w3>>>H3,_3=X5>>>5,t3=_3&8,s6=t3|H3,G3=X5>>>t3,V3=G3>>>2,c3=V3&4,u3=s6|c3,Q3=G3>>>c3,z5=Q3>>>1,H5=z5&2,Y5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,U5=Y3&1,$6=Y5|U5,n3=S5>>>U5,U3=$6+n3|0,E6=553352+(U3<<2)|0,b3=e[E6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,a6=D3&-8,i6=a6-_4|0,Da=i6,I$=b3,C$=b3;;){if(J3=I$+16|0,j5=e[J3>>2]|0,M3=(j5|0)==0,M3)if(z3=I$+20|0,h6=e[z3>>2]|0,m3=(h6|0)==0,m3){xn=Da,kt=C$;break}else L6=h6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,r6=S6-_4|0,f6=r6>>>0>>0,J=f6?r6:Da,A2=f6?L6:C$,Da=J,I$=L6,C$=A2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+_4|0,R3=kt>>>0>>0,R3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,K3=e[C6>>2]|0,F3=(K3|0)==(kt|0);do if(F3){if(H6=kt+20|0,A6=e[H6>>2]|0,D6=(A6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else dr=Q6,Ba=e9;else dr=A6,Ba=H6;for(;;){if(P3=dr+20|0,r9=e[P3>>2]|0,V6=(r9|0)==0,!V6){dr=r9,Ba=P3;continue}if(o9=dr+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){hr=dr,iu=Ba;break}else dr=g9,Ba=o9}if(Y6=iu>>>0>>0,Y6)v2();else{e[iu>>2]=0,Ri=hr;break}}else if(W3=kt+8|0,e6=e[W3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,z6=e[o3>>2]|0,A3=(z6|0)==(kt|0),A3||v2(),c6=K3+8|0,B6=e[c6>>2]|0,T3=(B6|0)==(kt|0),T3){e[o3>>2]=K3,e[c6>>2]=e6,Ri=K3;break}else v2();while(!1);t9=(o6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[O3>>2]=Ri,ip=(Ri|0)==0,ip){d9=1<>>0>>0,f9&&v2(),V9=o6+16|0,y6=e[V9>>2]|0,q6=(y6|0)==(kt|0),q6?e[V9>>2]=Ri:(a9=o6+20|0,e[a9>>2]=Ri),Y9=(Ri|0)==0,Y9)break;w9=e[138266]|0,we=Ri>>>0>>0,we&&v2(),ue=Ri+24|0,e[ue>>2]=o6,re=kt+16|0,F9=e[re>>2]|0,v9=(F9|0)==0;do if(!v9)if(K6=F9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=F9,ve=F9+24|0,e[ve>>2]=Ri;break}while(!1);if(Me=kt+20|0,de=e[Me>>2]|0,_9=(de|0)==0,!_9)if(Re=e[138266]|0,Ue=de>>>0>>0,Ue)v2();else{He=Ri+20|0,e[He>>2]=de,n4=de+24|0,e[n4>>2]=Ri;break}}while(!1);return ke=xn>>>0<16,ke?(Ve=xn+_4|0,z9=Ve|3,Ye=kt+4|0,e[Ye>>2]=z9,Z1=Ve+4|0,he=kt+Z1|0,Pe=e[he>>2]|0,Ce=Pe|1,e[he>>2]=Ce):(Z9=_4|3,k9=kt+4|0,e[k9>>2]=Z9,v4=xn|1,m0=_4|4,V4=kt+m0|0,e[V4>>2]=v4,f0=xn+_4|0,nt=kt+f0|0,e[nt>>2]=xn,Je=e[138264]|0,Y4=(Je|0)==0,Y4||(ze=e[138267]|0,o4=Je>>>3,R4=o4<<1,ne=553088+(R4<<2)|0,u4=e[138262]|0,Be=1<>2]|0,d4=e[138266]|0,oe=Te>>>0>>0,oe?v2():(N=fe,o$=Te)),e[N>>2]=ze,f4=o$+12|0,e[f4>>2]=ze,Se=ze+8|0,e[Se>>2]=o$,s4=ze+12|0,e[s4>>2]=ne),e[138264]=xn,e[138267]=v6),Oe=kt+8|0,tt=Oe,tt|0}}else Le=_4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(S9=t+11|0,I6=S9&-8,J4=e[138263]|0,Ie=(J4|0)==0,Ie)Le=I6;else{k4=0-I6|0,me=S9>>>8,J6=(me|0)==0,J6?_n=0:(F4=I6>>>0>16777215,F4?_n=31:(T4=me+1048320|0,st=T4>>>16,pe=st&8,xe=me<>>16,x9=Z3&4,qe=x9|pe,a4=xe<>>16,f8=N4&2,_8=qe|f8,e8=14-_8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,x8=i8|Ot,_n=x8)),Ht=553352+(_n<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ro=k4,m$=0,Mn=0,Xe=86;else for(_t=(_n|0)==31,xt=_n>>>1,Jt=25-xt|0,zt=_t?0:Jt,r8=I6<>2]|0,z4=Et&-8,G4=z4-I6|0,at=G4>>>0>>0,at)if(Lt=(z4|0)==(I6|0),Lt){Fo=G4,Or=X7,Hr=X7,Xe=90;break e}else Mo=G4,Ln=X7;else Mo=h$,Ln=Po;if(L9=X7+20|0,S4=e[L9>>2]|0,E8=_a>>>31,L8=(X7+16|0)+(E8<<2)|0,o8=e[L8>>2]|0,M8=(S4|0)==0,A4=(S4|0)==(o8|0),Ap=M8|A4,Au=Ap?au:S4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,m$=Au,Mn=Ln,Xe=86;break}else h$=Mo,au=Au,_a=Kt,X7=o8,Po=Ln}while(!1);if((Xe|0)==86){if(Mt=(m$|0)==0,At=(Mn|0)==0,sp=Mt&At,sp){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=J4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,Qt=ct>>>12,p4=Qt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,D4=gt&4,De=P4|D4,yt=E4>>>D4,a8=yt>>>1,E3=a8&2,Z4=De|E3,wt=yt>>>E3,$4=wt>>>1,j9=$4&1,l4=Z4|j9,T9=wt>>>j9,j4=l4+T9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,p$=C8,Rn=0}else p$=m$,Rn=Mn;$8=(p$|0)==0,$8?(oi=Ro,q9=Rn):(Fo=Ro,Or=p$,Hr=Rn,Xe=90)}if((Xe|0)==90)for(;;){if(Xe=0,Zt=Or+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,dt=ut>>>0>>0,o0=dt?ut:Fo,E$=dt?Or:Hr,Ft=Or+16|0,je=e[Ft>>2]|0,c8=(je|0)==0,!c8){Fo=o0,Or=je,Hr=E$,Xe=90;continue}if(Tt=Or+20|0,D9=e[Tt>>2]|0,g8=(D9|0)==0,g8){oi=o0,q9=E$;break}else Fo=o0,Or=D9,Hr=E$,Xe=90}if(et=(q9|0)==0,et)Le=I6;else if(V8=e[138264]|0,W8=V8-I6|0,R8=oi>>>0>>0,R8){u8=e[138266]|0,F8=q9>>>0>>0,F8&&v2(),c4=q9+I6|0,Y8=q9>>>0>>0,Y8||v2(),ht=q9+24|0,Nt=e[ht>>2]|0,T8=q9+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(X8=q9+20|0,Bi=e[X8>>2]|0,ei=(Bi|0)==0,ei)if(Qi=q9+16|0,li=e[Qi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dn=li,ya=Qi;else Dn=Bi,ya=X8;for(;;){if(yi=Dn+20|0,wi=e[yi>>2]|0,u7=(wi|0)==0,!u7){Dn=wi,ya=yi;continue}if(vi=Dn+16|0,ci=e[vi>>2]|0,d7=(ci|0)==0,d7){Xm=Dn,l$=ya;break}else Dn=ci,ya=vi}if(Ji=l$>>>0>>0,Ji)v2();else{e[l$>>2]=0,Ti=Xm;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,N8=Ae>>>0>>0,N8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(q9|0),Vi||v2(),Ei=Xt+8|0,j8=e[Ei>>2]|0,Ci=(j8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);zi=(Nt|0)==0;do if(!zi){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ti=(q9|0)==(Zi|0),ti){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(q9|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ri=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,di=q9+16|0,z8=e[di>>2]|0,Li=(z8|0)==0;do if(!Li)if(G8=z8>>>0>>0,G8)v2();else{hi=Ti+16|0,e[hi>>2]=z8,$9=z8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(U8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{wr=Ti+20|0,e[wr>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=oi>>>0<16;e:do if($s)zn=oi+I6|0,ls=zn|3,cs=q9+4|0,e[cs>>2]=ls,d1=zn+4|0,Kn=q9+d1|0,gs=e[Kn>>2]|0,on=gs|1,e[Kn>>2]=on;else{if(us=I6|3,ds=q9+4|0,e[ds>>2]=us,hs=oi|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=hs,C0=oi+I6|0,Zn=q9+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Is=oi>>>0<256,Is){sn=jn<<1,Xn=553088+(sn<<2)|0,an=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,vr=io>>>0>>0,vr?v2():(F=An,a$=io)),e[F>>2]=c4,$n=a$+12|0,e[$n>>2]=c4,V0=I6+8|0,Bs=q9+V0|0,e[Bs>>2]=a$,Y0=I6+12|0,Qs=q9+Y0|0,e[Qs>>2]=Xn;break}if(ln=oi>>>8,I7=(ln|0)==0,I7?Nr=0:(ys=oi>>>0>16777215,ys?Nr=31:(ws=ln+1048320|0,no=ws>>>16,oo=no&8,so=ln<>>16,cn=m7&4,ks=cn|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,kr=oi>>>Fs,un=kr&1,Ts=un|Rs,Nr=Ts)),or=553352+(Nr<<2)|0,h1=I6+28|0,Ns=q9+h1|0,e[Ns>>2]=Nr,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,dn=q9+x1|0,e[dn>>2]=0,e[lo>>2]=0,co=e[138263]|0,hn=1<>2]=c4,V1=I6+24|0,ho=q9+V1|0,e[ho>>2]=or,o2=I6+12|0,fo=q9+o2|0,e[fo>>2]=c4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=c4;break}Sr=e[or>>2]|0,Io=Sr+4|0,p7=e[Io>>2]|0,fn=p7&-8,br=(fn|0)==(oi|0);t:do if(br)Ni=Sr;else{for(Dr=(Nr|0)==31,Z7=Nr>>>1,_r=25-Z7|0,mo=Dr?0:_r,j7=oi<>>31,E7=(c$+16|0)+(Lr<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){v=E7,ep=c$;break}if(b7=A$<<1,D7=i7+4|0,_7=e[D7>>2]|0,xr=_7&-8,Ar=(xr|0)==(oi|0),Ar){Ni=i7;break t}else A$=b7,c$=i7}if(fi=e[138266]|0,al=v>>>0>>0,al)v2();else{e[v>>2]=c4,E0=I6+24|0,In=q9+E0|0,e[In>>2]=ep,q0=I6+12|0,mn=q9+q0|0,e[mn>>2]=c4,H0=I6+8|0,Vu=q9+H0|0,e[Vu>>2]=c4;break e}}while(!1);if(Al=Ni+8|0,aA=e[Al>>2]|0,$l=e[138266]|0,Ju=aA>>>0>=$l>>>0,nu=Ni>>>0>=$l>>>0,zu=Ju&nu,zu){Ku=aA+12|0,e[Ku>>2]=c4,e[Al>>2]=c4,u2=I6+8|0,AA=q9+u2|0,e[AA>>2]=aA,I2=I6+12|0,ll=q9+I2|0,e[ll>>2]=Ni,Q0=I6+24|0,cl=q9+Q0|0,e[cl>>2]=0;break}else v2()}while(!1);return $A=q9+8|0,tt=$A,tt|0}else Le=I6}while(!1);if(pn=e[138264]|0,Wu=pn>>>0>>0,!Wu)return Hs=pn-Le|0,$r=e[138267]|0,Zu=Hs>>>0>15,Zu?(ju=$r+Le|0,e[138267]=ju,e[138264]=Hs,Xu=Hs|1,m1=Le+4|0,ed=$r+m1|0,e[ed>>2]=Xu,td=$r+pn|0,e[td>>2]=Hs,id=Le|3,rd=$r+4|0,e[rd>>2]=id):(e[138264]=0,e[138267]=0,od=pn|3,sd=$r+4|0,e[sd>>2]=od,g0=pn+4|0,ul=$r+g0|0,Mr=e[ul>>2]|0,ad=Mr|1,e[ul>>2]=ad),Ad=$r+8|0,tt=Ad,tt|0;if(dl=e[138265]|0,$d=dl>>>0>Le>>>0,$d)return lA=dl-Le|0,e[138265]=lA,Vs=e[138268]|0,ld=Vs+Le|0,e[138268]=ld,cd=lA|1,q=Le+4|0,gA=Vs+q|0,e[gA>>2]=cd,hl=Le|3,fl=Vs+4|0,e[fl>>2]=hl,Il=Vs+8|0,tt=Il,tt|0;uA=e[138380]|0,ml=(uA|0)==0;do if(ml)if(Ys=SS(30)|0,gd=Ys+-1|0,pl=gd&Ys,dd=(pl|0)==0,dd){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,hd=hQ(0)|0,El=hd&-16,fd=El^1431655768,e[138380]=fd;break}else v2();while(!1);if(Id=Le+48|0,Cl=e[138382]|0,Bl=Le+47|0,Ql=Cl+Bl|0,yl=0-Cl|0,En=Ql&yl,md=En>>>0>Le>>>0,!md||(vl=e[138372]|0,pd=(vl|0)==0,!pd&&(kl=e[138370]|0,Sl=kl+En|0,Ed=Sl>>>0<=kl>>>0,Cd=Sl>>>0>vl>>>0,ba=Ed|Cd,ba)))return tt=0,tt|0;Bd=e[138373]|0,dA=Bd&4,Dl=(dA|0)==0;e:do if(Dl){po=e[138268]|0,_l=(po|0)==0;t:do if(_l)Xe=174;else{for(To=553496;;){if(hA=e[To>>2]|0,Qd=hA>>>0>po>>>0,!Qd&&(xl=To+4|0,yd=e[xl>>2]|0,Ll=hA+yd|0,wd=Ll>>>0>po>>>0,wd)){S=To,b=xl;break}if(vd=To+8|0,Rl=e[vd>>2]|0,kd=(Rl|0)==0,kd){Xe=174;break t}else To=Rl}if(Gd=e[138265]|0,Ud=Ql-Gd|0,Ws=Ud&yl,Pd=Ws>>>0<2147483647,Pd)if(Zs=Oi(Ws|0)|0,Od=e[S>>2]|0,Hd=e[b>>2]|0,Vd=Od+Hd|0,Hl=(Zs|0)==(Vd|0),o=Hl?Ws:0,Hl)if(Yd=(Zs|0)==-1,Yd)qr=o;else{u6=Zs,x4=o,Xe=194;break e}else va=Zs,s7=Ws,xa=o,Xe=184;else qr=0}while(!1);do if((Xe|0)==174)if(Js=Oi(0)|0,Sd=(Js|0)==-1,Sd)qr=0;else if(fA=Js,Fl=e[138381]|0,Tl=Fl+-1|0,bd=Tl&fA,Dd=(bd|0)==0,Dd?Pr=En:(_d=Tl+fA|0,Ld=0-Fl|0,Md=_d&Ld,zs=En-fA|0,Nl=zs+Md|0,Pr=Nl),Gl=e[138370]|0,Ul=Gl+Pr|0,Ks=Pr>>>0>Le>>>0,Rd=Pr>>>0<2147483647,ap=Ks&Rd,ap){if(Pl=e[138372]|0,Fd=(Pl|0)==0,!Fd&&(Td=Ul>>>0<=Gl>>>0,Nd=Ul>>>0>Pl>>>0,$p=Td|Nd,$p)){qr=0;break}if(ql=Oi(Pr|0)|0,IA=(ql|0)==(Js|0),$u=IA?Pr:0,IA){u6=Js,x4=$u,Xe=194;break e}else va=ql,s7=Pr,xa=$u,Xe=184}else qr=0;while(!1);t:do if((Xe|0)==184){Jd=0-s7|0,zd=(va|0)!=-1,Kd=s7>>>0<2147483647,cp=Kd&zd,Vl=Id>>>0>s7>>>0,gp=Vl&cp;do if(gp)if(Yl=e[138382]|0,lr=Bl-s7|0,js=lr+Yl|0,pA=0-Yl|0,EA=js&pA,Cn=EA>>>0<2147483647,Cn)if(zl=Oi(EA|0)|0,Bn=(zl|0)==-1,Bn){Oi(Jd|0)|0,qr=xa;break t}else{Wd=EA+s7|0,f$=Wd;break}else f$=s7;else f$=s7;while(!1);if(Kl=(va|0)==-1,Kl)qr=xa;else{u6=va,x4=f$,Xe=194;break e}}while(!1);Zd=e[138373]|0,jd=Zd|4,e[138373]=jd,lu=qr,Xe=191}else lu=0,Xe=191;while(!1);if((Xe|0)==191&&(eh=En>>>0<2147483647,eh&&(Xs=Oi(En|0)|0,CA=Oi(0)|0,Rr=(Xs|0)!=-1,th=(CA|0)!=-1,lp=Rr&th,ih=Xs>>>0>>0,up=ih&lp,up&&(Wl=CA,BA=Xs,Zl=Wl-BA|0,jl=Le+40|0,Xl=Zl>>>0>jl>>>0,C2=Xl?Zl:lu,Xl&&(u6=Xs,x4=C2,Xe=194)))),(Xe|0)==194){nh=e[138370]|0,QA=nh+x4|0,e[138370]=QA,oh=e[138371]|0,sh=QA>>>0>oh>>>0,sh&&(e[138371]=QA),K9=e[138268]|0,ah=(K9|0)==0;e:do if(ah){for(ec=e[138266]|0,Ah=(ec|0)==0,$h=u6>>>0>>0,dp=Ah|$h,dp&&(e[138266]=u6),e[138374]=u6,e[138375]=x4,e[138377]=0,lh=e[138380]|0,e[138271]=lh,e[138270]=-1,Sa=0;wA=Sa<<1,tc=553088+(wA<<2)|0,d0=wA+3|0,ch=553088+(d0<<2)|0,e[ch>>2]=tc,n0=wA+2|0,gh=553088+(n0<<2)|0,e[gh>>2]=tc,ic=Sa+1|0,np=(ic|0)==32,!np;)Sa=ic;rc=x4+-40|0,uh=u6+8|0,vA=uh,kA=vA&7,oc=(kA|0)==0,dh=0-vA|0,sc=dh&7,SA=oc?0:sc,hh=u6+SA|0,ac=rc-SA|0,e[138268]=hh,e[138265]=ac,fh=ac|1,j=SA+4|0,Ih=u6+j|0,e[Ih>>2]=fh,u1=x4+-36|0,mh=u6+u1|0,e[mh>>2]=40,ph=e[138384]|0,e[138269]=ph}else{for(Go=553496;;){if($c=e[Go>>2]|0,bA=Go+4|0,ea=e[bA>>2]|0,lc=$c+ea|0,Eh=(u6|0)==(lc|0),Eh){E=$c,Q=bA,B=ea,hp=Go,Xe=204;break}if(cc=Go+8|0,gc=e[cc>>2]|0,Ch=(gc|0)==0,Ch)break;Go=gc}if((Xe|0)==204&&(Bh=hp+12|0,Qh=e[Bh>>2]|0,yh=Qh&8,wh=(yh|0)==0,wh&&(vh=K9>>>0>=E>>>0,kh=K9>>>0>>0,su=kh&vh,su))){Sh=B+x4|0,e[Q>>2]=Sh,bh=e[138265]|0,dc=bh+x4|0,Dh=K9+8|0,hc=Dh,_h=hc&7,xh=(_h|0)==0,fc=0-hc|0,Lh=fc&7,Eo=xh?0:Lh,Ic=K9+Eo|0,DA=dc-Eo|0,e[138268]=Ic,e[138265]=DA,Mh=DA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=Mh,a1=dc+4|0,_A=K9+a1|0,e[_A>>2]=40,Rh=e[138384]|0,e[138269]=Rh;break}for(mc=e[138266]|0,Fh=u6>>>0>>0,Fh?(e[138266]=u6,yo=u6):yo=mc,Th=u6+x4|0,Uo=553496;;){if(Nh=e[Uo>>2]|0,Gh=(Nh|0)==(Th|0),Gh){I=Uo,fr=Uo,Xe=212;break}if(Uh=Uo+8|0,pc=e[Uh>>2]|0,Ph=(pc|0)==0,Ph){No=553496;break}else Uo=pc}if((Xe|0)==212)if(Oh=fr+12|0,qh=e[Oh>>2]|0,LA=qh&8,Hh=(LA|0)==0,Hh){e[I>>2]=u6,MA=fr+4|0,Vh=e[MA>>2]|0,Yh=Vh+x4|0,e[MA>>2]=Yh,Jh=u6+8|0,Ec=Jh,zh=Ec&7,Kh=(zh|0)==0,Wh=0-Ec|0,jh=Wh&7,ra=Kh?0:jh,Xh=u6+ra|0,B0=x4+8|0,ef=u6+B0|0,Cc=ef,tf=Cc&7,rf=(tf|0)==0,nf=0-Cc|0,of=nf&7,C7=rf?0:of,_0=C7+x4|0,B7=u6+_0|0,Qc=B7,RA=Xh,sf=Qc-RA|0,$0=ra+Le|0,r7=u6+$0|0,Bo=sf-Le|0,af=Le|3,p0=ra+4|0,Af=u6+p0|0,e[Af>>2]=af,$f=(B7|0)==(K9|0);t:do if($f)lf=e[138265]|0,yc=lf+Bo|0,e[138265]=yc,e[138268]=r7,gf=yc|1,H1=$0+4|0,uf=u6+H1|0,e[uf>>2]=gf;else{if(wc=e[138267]|0,df=(B7|0)==(wc|0),df){hf=e[138264]|0,Qo=hf+Bo|0,e[138264]=Qo,e[138267]=r7,FA=Qo|1,z1=$0+4|0,ff=u6+z1|0,e[ff>>2]=FA,q1=Qo+$0|0,vc=u6+q1|0,e[vc>>2]=Qo;break}if($1=x4+4|0,W0=$1+C7|0,mf=u6+W0|0,na=e[mf>>2]|0,pf=na&3,Ef=(pf|0)==1,Ef){kc=na&-8,Sc=na>>>3,Cf=na>>>0<256;i:do if(Cf){U1=C7|8,K0=U1+x4|0,Bf=u6+K0|0,yn=e[Bf>>2]|0,D1=x4+12|0,z0=D1+C7|0,Qf=u6+z0|0,wn=e[Qf>>2]|0,wf=Sc<<1,bc=553088+(wf<<2)|0,vf=(yn|0)==(bc|0);do if(!vf){if(kf=yn>>>0>>0,kf&&v2(),Dc=yn+12|0,Sf=e[Dc>>2]|0,_c=(Sf|0)==(B7|0),_c)break;v2()}while(!1);if(bf=(wn|0)==(yn|0),bf){TA=1<>>0>>0,xf&&v2(),Mc=wn+8|0,Lf=e[Mc>>2]|0,Mf=(Lf|0)==(B7|0),Mf){G=Mc;break}v2()}while(!1);Rf=yn+12|0,e[Rf>>2]=wn,e[G>>2]=yn}else{R1=C7|24,M0=R1+x4|0,Ff=u6+M0|0,wo=e[Ff>>2]|0,Y1=x4+12|0,v0=Y1+C7|0,Tf=u6+v0|0,vn=e[Tf>>2]|0,Nf=(vn|0)==(B7|0);do if(Nf){if(j1=C7|16,L0=$1+j1|0,Gc=u6+L0|0,Uc=e[Gc>>2]|0,qf=(Uc|0)==0,qf)if(G0=j1+x4|0,Pc=u6+G0|0,Oc=e[Pc>>2]|0,Hf=(Oc|0)==0,Hf){Fi=0;break}else bn=Oc,Qa=Pc;else bn=Uc,Qa=Gc;for(;;){if(qc=bn+20|0,Hc=e[qc>>2]|0,Yf=(Hc|0)==0,!Yf){bn=Hc,Qa=qc;continue}if(Vc=bn+16|0,Yc=e[Vc>>2]|0,Jf=(Yc|0)==0,Jf){jm=bn,tu=Qa;break}else bn=Yc,Qa=Vc}if(zf=tu>>>0>>0,zf)v2();else{e[tu>>2]=0,Fi=jm;break}}else if(F1=C7|8,T0=F1+x4|0,Gf=u6+T0|0,NA=e[Gf>>2]|0,Uf=NA>>>0>>0,Uf&&v2(),GA=NA+12|0,UA=e[GA>>2]|0,Fc=(UA|0)==(B7|0),Fc||v2(),Tc=vn+8|0,Of=e[Tc>>2]|0,Nc=(Of|0)==(B7|0),Nc){e[GA>>2]=vn,e[Tc>>2]=NA,Fi=vn;break}else v2();while(!1);if(Jc=(wo|0)==0,Jc)break;b1=x4+28|0,N0=b1+C7|0,PA=u6+N0|0,zc=e[PA>>2]|0,Zc=553352+(zc<<2)|0,Kf=e[Zc>>2]|0,Wf=(B7|0)==(Kf|0);do if(Wf){if(e[Zc>>2]=Fi,rp=(Fi|0)==0,!rp)break;Zf=1<>>0>>0,iI&&v2(),jc=wo+16|0,rI=e[jc>>2]|0,nI=(rI|0)==(B7|0),nI?e[jc>>2]=Fi:(oI=wo+20|0,e[oI>>2]=Fi),Xc=(Fi|0)==0,Xc)break i;while(!1);eg=e[138266]|0,sI=Fi>>>0>>0,sI&&v2(),tg=Fi+24|0,e[tg>>2]=wo,_1=C7|16,P0=_1+x4|0,qA=u6+P0|0,oa=e[qA>>2]|0,ig=(oa|0)==0;do if(!ig)if(AI=oa>>>0>>0,AI)v2();else{$I=Fi+16|0,e[$I>>2]=oa,lI=oa+24|0,e[lI>>2]=Fi;break}while(!1);if(J0=$1+_1|0,rg=u6+J0|0,sa=e[rg>>2]|0,cI=(sa|0)==0,cI)break;if(gI=e[138266]|0,uI=sa>>>0>>0,uI)v2();else{dI=Fi+20|0,e[dI>>2]=sa,hI=sa+24|0,e[hI>>2]=Fi;break}}while(!1);a2=kc|C7,F0=a2+x4|0,II=u6+F0|0,mI=kc+Bo|0,ou=II,o7=mI}else ou=B7,o7=Bo;if(ng=ou+4|0,pI=e[ng>>2]|0,EI=pI&-2,e[ng>>2]=EI,CI=o7|1,b0=$0+4|0,BI=u6+b0|0,e[BI>>2]=CI,y0=o7+$0|0,aa=u6+y0|0,e[aa>>2]=o7,og=o7>>>3,QI=o7>>>0<256,QI){kn=og<<1,sg=553088+(kn<<2)|0,ag=e[138262]|0,HA=1<>2]|0,kI=e[138266]|0,bI=lg>>>0>>0,!bI){R=$g,s$=lg;break}v2()}while(!1);e[R>>2]=r7,DI=s$+12|0,e[DI>>2]=r7,w1=$0+8|0,_I=u6+w1|0,e[_I>>2]=s$,v1=$0+12|0,Aa=u6+v1|0,e[Aa>>2]=sg;break}VA=o7>>>8,xI=(VA|0)==0;do if(xI)Gr=0;else{if(LI=o7>>>0>16777215,LI){Gr=31;break}MI=VA+1048320|0,RI=MI>>>16,cg=RI&8,gg=VA<>>16,ug=NI&4,Fr=ug|cg,dg=gg<>>16,fg=GI&2,$a=Fr|fg,PI=14-$a|0,OI=dg<>>15,Ig=PI+la|0,qI=Ig<<1,HI=Ig+7|0,mg=o7>>>HI,VI=mg&1,YI=VI|qI,Gr=YI}while(!1);if(YA=553352+(Gr<<2)|0,k0=$0+28|0,JI=u6+k0|0,e[JI>>2]=Gr,Z0=$0+16|0,zI=u6+Z0|0,O0=$0+20|0,KI=u6+O0|0,e[KI>>2]=0,e[zI>>2]=0,pg=e[138263]|0,Eg=1<>2]=r7,s1=$0+24|0,vo=u6+s1|0,e[vo>>2]=YA,i1=$0+12|0,jI=u6+i1|0,e[jI>>2]=r7,o1=$0+8|0,XI=u6+o1|0,e[XI>>2]=r7;break}JA=e[YA>>2]|0,Qg=JA+4|0,em=e[Qg>>2]|0,tm=em&-8,im=(tm|0)==(o7|0);i:do if(im)Ur=JA;else{for(rm=(Gr|0)==31,yg=Gr>>>1,nm=25-yg|0,om=rm?0:nm,sm=o7<>>31,bg=(g$+16|0)+(Sg<<2)|0,ko=e[bg>>2]|0,x7=(ko|0)==0,x7){a=bg,tp=g$;break}if(am=Lo<<1,Am=ko+4|0,vg=e[Am>>2]|0,kg=vg&-8,$m=(kg|0)==(o7|0),$m){Ur=ko;break i}else Lo=am,g$=ko}if(gr=e[138266]|0,lm=a>>>0>>0,lm)v2();else{e[a>>2]=r7,Q1=$0+24|0,cm=u6+Q1|0,e[cm>>2]=tp,p1=$0+12|0,gm=u6+p1|0,e[gm>>2]=r7,B1=$0+8|0,um=u6+B1|0,e[um>>2]=r7;break t}}while(!1);if(zA=Ur+8|0,ua=e[zA>>2]|0,_g=e[138266]|0,xg=ua>>>0>=_g>>>0,d$=Ur>>>0>=_g>>>0,dm=xg&d$,dm){So=ua+12|0,e[So>>2]=r7,e[zA>>2]=r7,j0=$0+8|0,hm=u6+j0|0,e[hm>>2]=ua,E1=$0+12|0,ha=u6+E1|0,e[ha>>2]=Ur,I1=$0+24|0,KA=u6+I1|0,e[KA>>2]=0;break}else v2()}while(!1);return g1=ra|8,fm=u6+g1|0,tt=fm,tt|0}else No=553496;for(;;){if(WA=e[No>>2]|0,Im=WA>>>0>K9>>>0,!Im&&(mm=No+4|0,Lg=e[mm>>2]|0,fa=WA+Lg|0,pm=fa>>>0>K9>>>0,pm)){g=WA,h=Lg,m=fa;break}Em=No+8|0,Cm=e[Em>>2]|0,No=Cm}if(u0=h+-47|0,h0=h+-39|0,Bm=g+h0|0,Rg=Bm,Qm=Rg&7,ni=(Qm|0)==0,_e=0-Rg|0,n7=_e&7,ym=ni?0:n7,c1=u0+ym|0,Tg=g+c1|0,ZA=K9+16|0,wm=Tg>>>0>>0,Tr=wm?K9:Tg,bo=Tr+8|0,vm=x4+-40|0,km=u6+8|0,Ng=km,jA=Ng&7,Sm=(jA|0)==0,Ug=0-Ng|0,Pg=Ug&7,XA=Sm?0:Pg,e$=u6+XA|0,Og=vm-XA|0,e[138268]=e$,e[138265]=Og,Do=Og|1,t0=XA+4|0,t$=u6+t0|0,e[t$>>2]=Do,A1=x4+-36|0,qg=u6+A1|0,e[qg>>2]=40,bm=e[138384]|0,e[138269]=bm,Sn=Tr+4|0,e[Sn>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=u6,e[138375]=x4,e[138377]=0,e[138376]=bo,Hg=Tr+28|0,e[Hg>>2]=7,Ia=Tr+32|0,_m=Ia>>>0>>0,_m)for(L7=Hg;Vg=L7+4|0,e[Vg>>2]=7,xm=L7+8|0,Lm=xm>>>0>>0,Lm;)L7=Vg;if(Mm=(Tr|0)==(K9|0),!Mm){if(Rm=Tr,Fm=K9,M7=Rm-Fm|0,Nm=e[Sn>>2]|0,Gm=Nm&-2,e[Sn>>2]=Gm,Um=M7|1,Yg=K9+4|0,e[Yg>>2]=Um,e[Tr>>2]=M7,Q7=M7>>>3,ma=M7>>>0<256,ma){i$=Q7<<1,Jg=553088+(i$<<2)|0,zg=e[138262]|0,Kg=1<>2]|0,Hm=e[138266]|0,Vm=jg>>>0>>0,Vm?v2():(L=Zg,n$=jg)),e[L>>2]=K9,Xg=n$+12|0,e[Xg>>2]=K9,Ym=K9+8|0,e[Ym>>2]=n$,pa=K9+12|0,e[pa>>2]=Jg;break}if(Ea=M7>>>8,Jm=(Ea|0)==0,Jm?ur=0:(r$=M7>>>0>16777215,r$?ur=31:(zm=Ea+1048320|0,Km=zm>>>16,eu=Km&8,xo=Ea<>>16,c2=Zm&4,r2=c2|eu,$2=xo<>>16,m2=s2&2,t2=r2|m2,k2=14-t2|0,D2=$2<>>15,G2=k2+S2|0,L2=G2<<1,P2=G2+7|0,p2=M7>>>P2,K2=p2&1,O2=K2|L2,ur=O2)),J2=553352+(ur<<2)|0,U2=K9+28|0,e[U2>>2]=ur,H2=K9+20|0,e[H2>>2]=0,e[ZA>>2]=0,W2=e[138263]|0,V2=1<>2]=K9,t5=K9+24|0,e[t5>>2]=J2,x5=K9+12|0,e[x5>>2]=K9,Z2=K9+8|0,e[Z2>>2]=K9;break}I5=e[J2>>2]|0,b5=I5+4|0,V5=e[b5>>2]|0,b2=V5&-8,B5=(b2|0)==(M7|0);t:do if(B5)wa=I5;else{for(o5=(ur|0)==31,R2=ur>>>1,M2=25-R2|0,y2=o5?0:M2,Q5=M7<>>31,u5=(u$+16|0)+($5<<2)|0,L5=e[u5>>2]|0,y5=(L5|0)==0,y5){$=u5,ru=u$;break}if(N5=$$<<1,m5=L5+4|0,M5=e[m5>>2]|0,Y2=M5&-8,p5=(Y2|0)==(M7|0),p5){wa=L5;break t}else $$=N5,u$=L5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=K9,d5=K9+24|0,e[d5>>2]=ru,l5=K9+12|0,e[l5>>2]=K9,d2=K9+8|0,e[d2>>2]=K9;break e}}while(!1);if(w5=wa+8|0,i5=e[w5>>2]|0,s5=e[138266]|0,h5=i5>>>0>=s5>>>0,op=wa>>>0>=s5>>>0,z2=h5&op,z2){f5=i5+12|0,e[f5>>2]=K9,e[w5>>2]=K9,r5=K9+8|0,e[r5>>2]=i5,R5=K9+12|0,e[R5>>2]=wa,X2=K9+24|0,e[X2>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return J5=F2-Le|0,e[138265]=J5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=J5|1,Z=Le+4|0,h3=i3+Z|0,e[h3>>2]=I3,W5=Le|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=dQ()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0,me=0,J6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,h8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){q=t+-8|0,K2=e[138266]|0,v6=q>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,re=f9&3,Ue=(re|0)==1,Ue&&v2(),Z9=f9&-8,Q=Z9+-8|0,ne=t+Q|0,d0=f9&1,n0=(d0|0)==0;do if(n0){if(_0=e[q>>2]|0,L0=(re|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+Z9|0,b1=x0>>>0>>0,b1&&v2(),q1=e[138267]|0,a2=(x0|0)==(q1|0),a2){if(X=Z9+-4|0,c0=t+X|0,$0=e[c0>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){Z3=x0,x9=j0;break}e[138264]=j0,m0=$0&-2,e[c0>>2]=m0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[ne>>2]=j0;return}if(s2=_0>>>3,O2=_0>>>0<256,O2){if(K=y+8|0,x5=t+K|0,y2=e[x5>>2]|0,a0=y+12|0,y5=t+a0|0,z2=e[y5>>2]|0,I3=s2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),h6=y2+12|0,R3=e[h6>>2]|0,z6=(R3|0)==(x0|0),z6||v2()),X6=(z2|0)==(y2|0),X6){V6=1<>>0>>0,F6&&v2(),t9=z2+8|0,P6=e[t9>>2]|0,O3=(P6|0)==(x0|0),O3?g=t9:v2()),O6=y2+12|0,e[O6>>2]=z2,e[g>>2]=y2,Z3=x0,x9=j0;break}M=y+24|0,s9=t+M|0,d9=e[s9>>2]|0,L=y+12|0,n9=t+L|0,B9=e[n9>>2]|0,Q9=(B9|0)==(x0|0);do if(Q9){if(F=y+20|0,ue=t+F|0,Ee=e[ue>>2]|0,J9=(Ee|0)==0,J9)if(R=y+16|0,F9=t+R|0,v9=e[F9>>2]|0,K6=(v9|0)==0,K6){S9=0;break}else Oe=v9,k4=F9;else Oe=Ee,k4=ue;for(;;){if(A9=Oe+20|0,ve=e[A9>>2]|0,Me=(ve|0)==0,!Me){Oe=ve,k4=A9;continue}if(de=Oe+16|0,_9=e[de>>2]|0,Re=(_9|0)==0,Re){I4=Oe,be=k4;break}else Oe=_9,k4=de}if(Fe=be>>>0>>0,Fe)v2();else{e[be>>2]=0,S9=I4;break}}else if(Y=y+8|0,y9=t+Y|0,h9=e[y9>>2]|0,V9=h9>>>0>>0,V9&&v2(),y6=h9+12|0,q6=e[y6>>2]|0,a9=(q6|0)==(x0|0),a9||v2(),Y9=B9+8|0,w9=e[Y9>>2]|0,we=(w9|0)==(x0|0),we){e[y6>>2]=B9,e[Y9>>2]=h9,S9=B9;break}else v2();while(!1);if(He=(d9|0)==0,He)Z3=x0,x9=j0;else{if(N=y+28|0,n4=t+N|0,ke=e[n4>>2]|0,Ve=553352+(ke<<2)|0,z9=e[Ve>>2]|0,Ye=(x0|0)==(z9|0),Ye){if(e[Ve>>2]=S9,pe=(S9|0)==0,pe){he=1<>>0>>0,v4&&v2(),V4=d9+16|0,nt=e[V4>>2]|0,Je=(nt|0)==(x0|0),Je?e[V4>>2]=S9:(Y4=d9+20|0,e[Y4>>2]=S9),ze=(S9|0)==0,ze){Z3=x0,x9=j0;break}o4=e[138266]|0,R4=S9>>>0>>0,R4&&v2(),ot=S9+24|0,e[ot>>2]=d9,G=y+16|0,u4=t+G|0,Be=e[u4>>2]|0,T6=(Be|0)==0;do if(!T6)if(Ke=Be>>>0>>0,Ke)v2();else{O9=S9+16|0,e[O9>>2]=Be,fe=Be+24|0,e[fe>>2]=S9;break}while(!1);if(U=y+20|0,Te=t+U|0,d4=e[Te>>2]|0,oe=(d4|0)==0,oe)Z3=x0,x9=j0;else if(h4=e[138266]|0,t0=d4>>>0

>>0,t0)v2();else{j=S9+20|0,e[j>>2]=d4,u0=d4+24|0,e[u0>>2]=S9,Z3=x0,x9=j0;break}}}else Z3=q,x9=Z9;while(!1);if(h0=Z3>>>0>>0,h0||v2(),D=Z9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(ne|0)==(y0|0),w0){if(B0=e[138265]|0,W0=B0+x9|0,e[138265]=W0,e[138268]=Z3,M0=W0|1,v0=Z3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(Z3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(P0=e[138267]|0,q0=(ne|0)==(P0|0),q0){k0=e[138264]|0,J0=k0+x9|0,e[138264]=J0,e[138267]=Z3,F0=J0|1,G0=Z3+4|0,e[G0>>2]=F0,K0=Z3+J0|0,e[K0>>2]=J0;return}z0=C0&-8,H0=z0+x9|0,Z0=C0>>>3,O0=C0>>>0<256;do if(O0){if(V0=t+Z9|0,s1=e[V0>>2]|0,w=Z9|4,Y0=t+w|0,i1=e[Y0>>2]|0,o1=Z0<<1,d1=553088+(o1<<2)|0,g1=(s1|0)==(d1|0),g1||(m1=e[138266]|0,h1=s1>>>0>>0,h1&&v2(),u1=s1+12|0,A1=e[u1>>2]|0,c1=(A1|0)==(ne|0),c1||v2()),a1=(i1|0)==(s1|0),a1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(ne|0),L1?$=v1:v2()),M1=s1+12|0,e[M1>>2]=i1,e[$>>2]=s1}else{W=Z9+16|0,_1=t+W|0,R1=e[_1>>2]|0,r0=Z9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(ne|0);do if(D1){if(J=Z9+12|0,j1=t+J|0,O1=e[j1>>2]|0,u2=(O1|0)==0,u2)if(s0=Z9+8|0,W1=t+s0|0,I2=e[W1>>2]|0,C2=(I2|0)==0,C2){Ie=0;break}else I6=I2,me=W1;else I6=O1,me=j1;for(;;){if(A2=I6+20|0,K1=e[A2>>2]|0,h2=(K1|0)==0,!h2){I6=K1,me=A2;continue}if(l2=I6+16|0,i2=e[l2>>2]|0,c2=(i2|0)==0,c2){J4=I6,J6=me;break}else I6=i2,me=l2}if(r2=e[138266]|0,$2=J6>>>0>>0,$2)v2();else{e[J6>>2]=0,Ie=J4;break}}else if(P1=t+Z9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),z1=Z1+12|0,H1=e[z1>>2]|0,V1=(H1|0)==(ne|0),V1||v2(),Y1=U1+8|0,X1=e[Y1>>2]|0,o2=(X1|0)==(ne|0),o2){e[z1>>2]=U1,e[Y1>>2]=Z1,Ie=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=Z9+20|0,m2=t+S|0,t2=e[m2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(ne|0)==(D2|0),S2){if(e[k2>>2]=Ie,xe=(Ie|0)==0,xe){Q2=1<>>0>>0,J2&&v2(),U2=R1+16|0,H2=e[U2>>2]|0,W2=(H2|0)==(ne|0),W2?e[U2>>2]=Ie:(A5=R1+20|0,e[A5>>2]=Ie),V2=(Ie|0)==0,V2)break;N1=e[138266]|0,e5=Ie>>>0>>0,e5&&v2(),T5=Ie+24|0,e[T5>>2]=R1,b=Z9+8|0,t5=t+b|0,Z2=e[t5>>2]|0,I5=(Z2|0)==0;do if(!I5)if(b5=Z2>>>0>>0,b5)v2();else{V5=Ie+16|0,e[V5>>2]=Z2,g5=Z2+24|0,e[g5>>2]=Ie;break}while(!1);if(v=Z9+12|0,b2=t+v|0,B5=e[b2>>2]|0,o5=(B5|0)==0,!o5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=Ie+20|0,e[Q5>>2]=B5,N5=B5+24|0,e[N5>>2]=Ie;break}}}while(!1);if(m5=H0|1,L5=Z3+4|0,e[L5>>2]=m5,q5=Z3+H0|0,e[q5>>2]=H0,M5=e[138267]|0,Y2=(Z3|0)==(M5|0),Y2){e[138264]=H0;return}else b9=H0}else p5=C0&-2,e[p0>>2]=p5,$5=x9|1,u5=Z3+4|0,e[u5>>2]=$5,T1=Z3+x9|0,e[T1>>2]=x9,b9=x9;if(D5=b9>>>3,d5=b9>>>0<256,d5){l5=D5<<1,j2=553088+(l5<<2)|0,d2=e[138262]|0,w5=1<>2]|0,R5=e[138266]|0,X2=r5>>>0>>0,X2?v2():(h=f5,f4=r5)),e[h>>2]=Z3,c5=f4+12|0,e[c5>>2]=Z3,F2=Z3+8|0,e[F2>>2]=f4,v5=Z3+12|0,e[v5>>2]=j2;return}J5=b9>>>8,i3=(J5|0)==0,i3?Se=0:(E5=b9>>>0>16777215,E5?Se=31:(h3=J5+1048320|0,W5=h3>>>16,r3=W5&8,a3=J5<>>16,Z5=G5&4,x3=Z5|r3,f3=a3<>>16,X5=H3&2,_3=x3|X5,t3=14-_3|0,s6=f3<>>15,V3=t3+G3|0,c3=V3<<1,g3=V3+7|0,u3=b9>>>g3,z5=u3&1,H5=z5|c3,Se=H5)),Y5=553352+(Se<<2)|0,S5=Z3+28|0,e[S5>>2]=Se,Y3=Z3+16|0,U5=Z3+20|0,e[U5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=Z3,L3=Z3+24|0,e[L3>>2]=Y5,D3=Z3+12|0,e[D3>>2]=Z3,a6=Z3+8|0,e[a6>>2]=Z3;else{i6=e[Y5>>2]|0,J3=i6+4|0,j5=e[J3>>2]|0,M3=j5&-8,d3=(M3|0)==(b9|0);t:do if(d3)F4=i6;else{for(z3=(Se|0)==31,m3=Se>>>1,x6=25-m3|0,L6=z3?0:x6,M6=b9<>>31,o6=(T4+16|0)+(n6<<2)|0,f6=e[o6>>2]|0,C6=(f6|0)==0,C6){o=o6,st=T4;break}if(S6=s4<<1,r6=f6+4|0,b6=e[r6>>2]|0,N6=b6&-8,j6=(N6|0)==(b9|0),j6){F4=f6;break t}else s4=S6,T4=f6}if(K3=e[138266]|0,F3=o>>>0>>0,F3)v2();else{e[o>>2]=Z3,W3=Z3+24|0,e[W3>>2]=st,e6=Z3+12|0,e[e6>>2]=Z3,R6=Z3+8|0,e[R6>>2]=Z3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){T3=o3+12|0,e[T3>>2]=Z3,e[l6>>2]=Z3,H6=Z3+8|0,e[H6>>2]=o3,A6=Z3+12|0,e[A6>>2]=F4,D6=Z3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)a4=553504;else return;for(;qe=e[a4>>2]|0,P3=(qe|0)==0,r9=qe+8|0,!P3;)a4=r9;e[138270]=-1}}function ce(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=n5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=R9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,h=w&3,m=(h|0)==0,m)||g4(S|0,0,D|0)|0,S|0}function W7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0;return K=C,a=(t|0)==0,a?($=R9(o)|0,Y=$,Y|0):(w=o>>>0>4294967231,w?(M=dQ()|0,e[M>>2]=12,Y=0,Y|0):(L=o>>>0<11,R=o+11|0,F=R&-8,N=L?16:F,G=t+-8|0,U=fD(G,N)|0,g=(U|0)==0,g?(m=R9(o)|0,I=(m|0)==0,I?(Y=0,Y|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ge(m|0,t|0,x|0)|0,E2(t),Y=m,Y|0)):(h=U+8|0,Y=h,Y|0)))}function fD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0;if(Z5=C,G=t+4|0,U=e[G>>2]|0,D1=U&-8,o2=t+D1|0,l2=e[138266]|0,S2=U&3,I3=t>>>0>=l2>>>0,h3=(S2|0)!=1,W5=h3&I3,W2=t>>>0>>0,r3=W5&W2,r3||v2(),x=D1|4,V5=t+x|0,L5=e[V5>>2]|0,l5=L5&1,Y=(l5|0)==0,Y&&v2(),t0=(S2|0)==0,t0)return h0=o>>>0<256,h0?(E5=0,E5|0):(W0=o+4|0,G0=D1>>>0>>0,!G0&&(o1=D1-o|0,E1=e[138382]|0,_1=E1<<1,F1=o1>>>0>_1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=U&1,z1=x1|o,q1=z1|2,e[G>>2]=q1,y=o+4|0,H1=t+y|0,V1=P1|3,e[H1>>2]=V1,Y1=e[V5>>2]|0,X1=Y1|1,e[V5>>2]=X1,VQ(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(o2|0)==(j1|0),O1)return u2=e[138265]|0,W1=u2+D1|0,I2=W1>>>0>o>>>0,I2?(a2=W1-o|0,C2=t+o|0,A2=U&1,K1=A2|o,h2=K1|2,e[G>>2]=h2,D=o+4|0,i2=t+D|0,c2=a2|1,e[i2>>2]=c2,e[138268]=C2,e[138265]=a2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,$2=(o2|0)==(r2|0),$2)return e2=e[138264]|0,s2=e2+D1|0,m2=s2>>>0>>0,m2?(E5=0,E5|0):(t2=s2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+s2|0,G2=U&1,L2=G2|o,P2=L2|2,e[G>>2]=P2,b=o+4|0,p2=t+b|0,K2=t2|1,e[p2>>2]=K2,e[Q2>>2]=t2,w=s2+4|0,O2=t+w|0,J2=e[O2>>2]|0,U2=J2&-2,e[O2>>2]=U2,a3=D2,B3=t2):(H2=U&1,A5=H2|s2,V2=A5|2,e[G>>2]=V2,S=s2+4|0,N1=t+S|0,e5=e[N1>>2]|0,T5=e5|1,e[N1>>2]=T5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(t5=L5&2,x5=(t5|0)==0,!x5||(Z2=L5&-8,I5=Z2+D1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=L5>>>3,B5=L5>>>0<256;do if(B5){if(Q=D1+8|0,o5=t+Q|0,R2=e[o5>>2]|0,B=D1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,N5=553088+(Q5<<2)|0,m5=(R2|0)==(N5|0),m5||(q5=R2>>>0>>0,q5&&v2(),M5=R2+12|0,Y2=e[M5>>2]|0,p5=(Y2|0)==(o2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0>>0,j2&&v2(),d2=y2+8|0,w5=e[d2>>2]|0,i5=(w5|0)==(o2|0),i5?$=d2:v2()),s5=R2+12|0,e[s5>>2]=y2,e[$>>2]=R2}else{g=D1+24|0,h5=t+g|0,z2=e[h5>>2]|0,v=D1+12|0,f5=t+v|0,r5=e[f5>>2]|0,R5=(r5|0)==(o2|0);do if(R5){if(L=D1+20|0,d0=t+L|0,j=e[d0>>2]|0,u0=(j|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else X2=$0,v5=c0;else X2=j,v5=d0;for(;;){if(Z=X2+20|0,m0=e[Z>>2]|0,g0=(m0|0)==0,!g0){X2=m0,v5=Z;continue}if(f0=X2+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=X2,J5=v5;break}else X2=n0,v5=f0}if(C0=J5>>>0>>0,C0)v2();else{e[J5>>2]=0,F2=c5;break}}else if(E=D1+8|0,X=t+E|0,K=e[X>>2]|0,a0=K>>>0>>0,a0&&v2(),W=K+12|0,r0=e[W>>2]|0,s0=(r0|0)==(o2|0),s0||v2(),J=r5+8|0,o0=e[J>>2]|0,q=(o0|0)==(o2|0),q){e[W>>2]=r5,e[J>>2]=K,F2=r5;break}else v2();while(!1);if(S0=(z2|0)==0,!S0){if(h=D1+28|0,Q0=t+h|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(o2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),P0=z2+16|0,q0=e[P0>>2]|0,k0=(q0|0)==(o2|0),k0?e[P0>>2]=F2:(J0=z2+20|0,e[J0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,K0=F2>>>0>>0,K0&&v2(),z0=F2+24|0,e[z0>>2]=z2,m=D1+16|0,H0=t+m|0,Z0=e[H0>>2]|0,O0=(Z0|0)==0;do if(!O0)if(V0=Z0>>>0>>0,V0)v2();else{s1=F2+16|0,e[s1>>2]=Z0,Y0=Z0+24|0,e[Y0>>2]=F2;break}while(!1);if(I=D1+20|0,i1=t+I|0,x0=e[i1>>2]|0,d1=(x0|0)==0,!d1)if(g1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{h1=F2+20|0,e[h1>>2]=x0,u1=x0+24|0,e[u1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(c1=U&1,a1=I5|c1,$1=a1|2,e[G>>2]=$1,N=I5|4,j0=t+N|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=U&1,w1=B1|o,v1=w1|2,e[G>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,VQ(p1,g5),E5=t,E5|0)}function VQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0,G0=0,K0=0,z0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,J2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,T5=0,t5=0,x5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,j2=0,d2=0,w5=0,i5=0,s5=0,h5=0,z2=0,f5=0,r5=0,R5=0,X2=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,W5=0,r3=0,a3=0,B3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,J3=0,j5=0,M3=0,d3=0,z3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,z6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,d9=0,n9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,J9=0,re=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,de=0,_9=0,Re=0,Fe=0,Ue=0,He=0,n4=0,ke=0,Ve=0,z9=0,Ye=0,he=0,Pe=0,Ce=0,w4=0,Z9=0,k9=0,v4=0,V4=0,nt=0,Je=0,Y4=0,ze=0,o4=0,R4=0,ot=0,ne=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,d4=0,oe=0,h4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,J4=0,Ie=0,k4=0,be=0;be=C,j=t+o|0,u0=t+4|0,H2=e[u0>>2]|0,C6=H2&1,X6=(C6|0)==0;do if(X6){if(P6=e[t>>2]|0,V9=H2&3,F9=(V9|0)==0,F9)return;if(He=0-P6|0,k9=t+He|0,c0=P6+o|0,S0=e[138266]|0,T0=k9>>>0>>0,T0&&v2(),H0=e[138267]|0,m1=(k9|0)==(H0|0),m1){if(v=o+4|0,ne=t+v|0,$0=e[ne>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){a=k9,$=c0;break}e[138264]=c0,m0=$0&-2,e[ne>>2]=m0,g0=c0|1,L=4-P6|0,f0=t+L|0,e[f0>>2]=g0,e[j>>2]=c0;return}if(p1=P6>>>3,U1=P6>>>0<256,U1){if(W=8-P6|0,X1=t+W|0,h2=e[X1>>2]|0,r0=12-P6|0,D2=t+r0|0,W2=e[D2>>2]|0,V5=p1<<1,L5=553088+(V5<<2)|0,l5=(h2|0)==(L5|0),l5||(X2=h2>>>0>>0,X2&&v2(),a3=h2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(k9|0),S5||v2()),a6=(W2|0)==(h2|0),a6){M6=1<>>0>>0,H6&&v2(),A6=W2+8|0,D6=e[A6>>2]|0,G6=(D6|0)==(k9|0),G6?E=A6:v2()),e9=h2+12|0,e[e9>>2]=W2,e[E>>2]=h2,a=k9,$=c0;break}R=24-P6|0,Q6=t+R|0,P3=e[Q6>>2]|0,F=12-P6|0,r9=t+F|0,V6=e[r9>>2]|0,o9=(V6|0)==(k9|0);do if(o9){if(N=16-P6|0,G=N+4|0,d9=t+G|0,n9=e[d9>>2]|0,B9=(n9|0)==0,B9)if(Q9=t+N|0,y9=e[Q9>>2]|0,h9=(y9|0)==0,h9){fe=0;break}else Ke=y9,h4=Q9;else Ke=n9,h4=d9;for(;;){if(f9=Ke+20|0,y6=e[f9>>2]|0,q6=(y6|0)==0,!q6){Ke=y6,h4=f9;continue}if(a9=Ke+16|0,Y9=e[a9>>2]|0,w9=(Y9|0)==0,w9){O9=Ke,f4=h4;break}else Ke=Y9,h4=a9}if(we=f4>>>0>>0,we)v2();else{e[f4>>2]=0,fe=O9;break}}else if(a0=8-P6|0,g9=t+a0|0,U6=e[g9>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(k9|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,s9=(O6|0)==(k9|0),s9){e[F6>>2]=V6,e[O3>>2]=U6,fe=V6;break}else v2();while(!1);if(ue=(P3|0)==0,ue)a=k9,$=c0;else{if(Y=28-P6|0,Ee=t+Y|0,J9=e[Ee>>2]|0,re=553352+(J9<<2)|0,v9=e[re>>2]|0,K6=(k9|0)==(v9|0),K6){if(e[re>>2]=fe,I6=(fe|0)==0,I6){A9=1<>>0<_9>>>0,Re&&v2(),Fe=P3+16|0,Ue=e[Fe>>2]|0,n4=(Ue|0)==(k9|0),n4?e[Fe>>2]=fe:(ke=P3+20|0,e[ke>>2]=fe),Ve=(fe|0)==0,Ve){a=k9,$=c0;break}z9=e[138266]|0,Ye=fe>>>0>>0,Ye&&v2(),he=fe+24|0,e[he>>2]=P3,X=16-P6|0,Pe=t+X|0,Ce=e[Pe>>2]|0,w4=(Ce|0)==0;do if(!w4)if(Z9=Ce>>>0>>0,Z9)v2();else{v4=fe+16|0,e[v4>>2]=Ce,V4=Ce+24|0,e[V4>>2]=fe;break}while(!1);if(K=X+4|0,nt=t+K|0,Je=e[nt>>2]|0,Y4=(Je|0)==0,Y4)a=k9,$=c0;else if(ze=e[138266]|0,o4=Je>>>0>>0,o4)v2();else{R4=fe+20|0,e[R4>>2]=Je,ot=Je+24|0,e[ot>>2]=fe,a=k9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,h0=j>>>0>>0,h0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(j|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,W0=a+4|0,e[W0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,P0=(j|0)==(N0|0),P0){q0=e[138264]|0,k0=q0+$|0,e[138264]=k0,e[138267]=a,J0=k0|1,F0=a+4|0,e[F0>>2]=J0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,K0=G0+$|0,z0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,O0=t+x|0,V0=e[O0>>2]|0,M=o+12|0,s1=t+M|0,Y0=e[s1>>2]|0,i1=z0<<1,x0=553088+(i1<<2)|0,o1=(V0|0)==(x0|0),o1||(d1=V0>>>0>>0,d1&&v2(),g1=V0+12|0,h1=e[g1>>2]|0,u1=(h1|0)==(j|0),u1||v2()),A1=(Y0|0)==(V0|0),A1){c1=1<>>0>>0,I1&&v2(),Q1=Y0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(j|0),w1?I=Q1:v2()),v1=V0+12|0,e[v1>>2]=Y0,e[I>>2]=V0}else{U=o+24|0,k1=t+U|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(j|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,Y1)if(J=o+16|0,o2=t+J|0,j1=e[o2>>2]|0,O1=(j1|0)==0,O1){oe=0;break}else Te=j1,Se=o2;else Te=V1,Se=H1;for(;;){if(u2=Te+20|0,W1=e[u2>>2]|0,I2=(W1|0)==0,!I2){Te=W1,Se=u2;continue}if(a2=Te+16|0,C2=e[a2>>2]|0,A2=(C2|0)==0,A2){d4=Te,s4=Se;break}else Te=C2,Se=a2}if(K1=s4>>>0>>0,K1)v2();else{e[s4>>2]=0,oe=d4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(j|0),G1||v2(),x1=b1+8|0,z1=e[x1>>2]|0,q1=(z1|0)==(j|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(l2=(L1|0)==0,!l2){if(d0=o+28|0,i2=t+d0|0,c2=e[i2>>2]|0,r2=553352+(c2<<2)|0,$2=e[r2>>2]|0,e2=(j|0)==($2|0),e2){if(e[r2>>2]=oe,J4=(oe|0)==0,J4){s2=1<>>0>>0,Q2&&v2(),G2=L1+16|0,L2=e[G2>>2]|0,P2=(L2|0)==(j|0),P2?e[G2>>2]=oe:(p2=L1+20|0,e[p2>>2]=oe),K2=(oe|0)==0,K2)break;O2=e[138266]|0,J2=oe>>>0>>0,J2&&v2(),U2=oe+24|0,e[U2>>2]=L1,t0=o+16|0,A5=t+t0|0,V2=e[A5>>2]|0,N1=(V2|0)==0;do if(!N1)if(e5=V2>>>0>>0,e5)v2();else{T5=oe+16|0,e[T5>>2]=V2,t5=V2+24|0,e[t5>>2]=oe;break}while(!1);if(D=o+20|0,x5=t+D|0,Z2=e[x5>>2]|0,I5=(Z2|0)==0,!I5)if(b5=e[138266]|0,g5=Z2>>>0>>0,g5)v2();else{b2=oe+20|0,e[b2>>2]=Z2,B5=Z2+24|0,e[B5>>2]=oe;break}}}while(!1);if(o5=K0|1,R2=a+4|0,e[R2>>2]=o5,M2=a+K0|0,e[M2>>2]=K0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=K0;return}else g=K0}else N5=C0&-2,e[p0>>2]=N5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,M5=a+$|0,e[M5>>2]=$,g=$;if(Y2=g>>>3,p5=g>>>0<256,p5){$5=Y2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,i5=e[138266]|0,s5=w5>>>0>>0,s5?v2():(Q=d2,u4=w5)),e[Q>>2]=a,h5=u4+12|0,e[h5>>2]=a,z2=a+8|0,e[z2>>2]=u4,f5=a+12|0,e[f5>>2]=u5;return}if(r5=g>>>8,R5=(r5|0)==0,R5?Be=0:(c5=g>>>0>16777215,c5?Be=31:(F2=r5+1048320|0,v5=F2>>>16,J5=v5&8,i3=r5<>>16,h3=I3&4,W5=h3|J5,r3=i3<>>16,Z5=G5&2,x3=W5|Z5,f3=14-x3|0,w3=r3<>>15,H3=f3+X3|0,X5=H3<<1,_3=H3+7|0,s6=g>>>_3,G3=s6&1,V3=G3|X5,Be=V3)),c3=553352+(Be<<2)|0,g3=a+28|0,e[g3>>2]=Be,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,z5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}U3=e[c3>>2]|0,E6=U3+4|0,b3=e[E6>>2]|0,L3=b3&-8,D3=(L3|0)==(g|0);e:do if(D3)Oe=U3;else{for(i6=(Be|0)==31,J3=Be>>>1,j5=25-J3|0,M3=i6?0:j5,d3=g<>>31,f6=(I4+16|0)+(r6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){h=f6,S9=I4;break}if(z3=T6<<1,h6=m3+4|0,x6=e[h6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Oe=m3;break e}else T6=z3,I4=m3}N6=e[138266]|0,j6=h>>>0>>0,j6&&v2(),e[h>>2]=a,v6=a+24|0,e[v6>>2]=S9,R3=a+12|0,e[R3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Oe+8|0,F3=e[o6>>2]|0,W3=e[138266]|0,e6=F3>>>0>=W3>>>0,Ie=Oe>>>0>=W3>>>0,R6=e6&Ie,R6||v2(),l6=F3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=F3,z6=a+12|0,e[z6>>2]=Oe,A3=a+24|0,e[A3>>2]=0}function ID(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,h=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(h|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function ol(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function YQ(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(ol(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function JQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,h=o+$+(g>>>0>>0|0)>>>0,Z6=h,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ge(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return kS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function sA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ge(t,o,a)|0;return t|0}function TC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return g=t-a>>>0,h=o-$>>>0,h=o-$-(a>>>0>t>>>0|0)>>>0,Z6=h,g|0|0}function W_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function zQ(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function mD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=n5($,a)|0,h=t>>>16,m=(g>>>16)+(n5($,h)|0)|0,I=o>>>16,E=n5(I,a)|0,Z6=((m>>>16)+(n5(I,h)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function Z_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,h=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,h^o,g,h)|0,Q=Z6,B=ss(m^a,I^$,m,I)|0,S=m^g,b=I^h,v=dE(E,Q,B,Z6,0)|0,w=ss(v^S,Z6^b,S,b)|0,w|0}function j_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,h=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=ss(h^t,m^o,h,m)|0,B=Z6,S=ss(I^a,E^$,I,E)|0,dE(Q,B,S,Z6,g)|0,b=ss(e[g>>2]^h,e[g+4>>2]^m,h,m)|0,v=Z6,C=w,Z6=v,b|0}function pD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0;return g=t,h=a,m=mD(g,h)|0,I=Z6,E=n5(o,h)|0,Z6=((n5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function X_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=dE(t,o,a,$,0)|0,g|0}function ex(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return h=C,C=C+8|0,g=h|0,dE(t,o,a,$,g)|0,C=h,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function dE(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,J0=0,F0=0,L0=0;if(h=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0):(S&&(e[g>>2]=(h>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(h>>>0)/(E>>>0)>>>0,Z6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(K=rs(B|0)|0,a0=K-(rs(I|0)|0)|0,a0>>>0<=31){W=a0+1|0,r0=31-a0|0,s0=a0-31>>31,t0=W,d0=h>>>(W>>>0)&s0|I<>>(W>>>0)&s0,o0=0,J=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(rs(E|0)|0)+33|0,F=R-(rs(I|0)|0)|0,N=64-F|0,G=32-F|0,U=G>>31,Y=F-32|0,X=Y>>31,t0=F,d0=G-1>>31&I>>>(Y>>>0)|(I<>>(F>>>0))&X,q=X&I>>>(F>>>0),o0=h<>>(Y>>>0))&U|h<>31;break}return g|0&&(e[g>>2]=M&h,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,Z6=L0,F0|0):(L=zQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|h>>>(L>>>0)|0,Z6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,Z6=L0,F0|0;if(!(h|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,Z6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((zQ(B|0)|0)>>>0),Z6=L0,F0|0;if(w=rs(B|0)|0,D=w-(rs(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,t0=y,d0=I<>>(y>>>0),q=I>>>(y>>>0),o0=0,J=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}while(!1);if(!(t0|0))P0=J,N0=o0,T0=q,v0=d0,M0=0,W0=0;else{for(j=0|a&-1,u0=Q|$&0,c0=ns(j|0,u0|0,-1,-1)|0,$0=Z6,n0=J,f0=o0,g0=q,m0=d0,Z=t0,l0=0;h0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(m0<<1|n0>>>31),S0=m0>>>31|g0<<1|0,ss(c0,$0,C0,S0)|0,Q0=Z6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=ss(C0,S0,b0&j,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=Z6,_0=Z-1|0,_0|0;)n0=h0,f0=p0,g0=B0,m0=w0,Z=_0,l0=E0;P0=h0,N0=p0,T0=B0,v0=w0,M0=0,W0=E0}return q0=N0,k0=0,J0=P0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|q0)>>>31|J0<<1|(k0<<1|q0>>>31)&0|M0,F0=(q0<<1|0)&-2|W0,Z6=L0,F0|0}function ED(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,UC[t&3](o|0,a|0,$|0,g|0)|0}function CD(t,o){t=t|0,o=o|0,as[t&7](o|0)}function BD(t,o,a){t=t|0,o=o|0,a=a|0,PC[t&3](o|0,a|0)}function QD(t,o){return t=t|0,o=o|0,ZQ[t&1](o|0)|0}function yD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,jQ[t&1](o|0,a|0,$|0)}function wD(t,o,a,$,g,h,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,XQ[t&3](o|0,a|0,$|0,g|0,h|0,m|0,I|0,E|0)|0}function vD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function kD(t,o,a,$,g,h){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,OC[t&7](o|0,a|0,$|0,g|0,h|0)|0}function SD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function NC(t){t=t|0,rn(1)}function KQ(t,o){t=t|0,o=o|0,rn(2)}function bD(t){return t=t|0,rn(3),0}function DD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function WQ(t,o,a,$,g,h,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,rn(5),0}function sl(t,o){return t=t|0,o=o|0,rn(6),0}function GC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var UC=[SD,hb,XS,eb],as=[NC,gb,ub,wb,Nb,Gb,NC,NC],PC=[KQ,$b,Ub,KQ],ZQ=[bD,vb],jQ=[DD,Qb],XQ=[WQ,Hb,zb,WQ],pi=[sl,lb,cb,db,yb,kb,Pb,Ob,fb,Tb,eD,sl,sl,sl,sl,sl],OC=[GC,qb,Vb,Yb,Jb,Kb,GC,GC];return{_memmove:sA,_strlen:ol,_strcat:YQ,_free:E2,_i64Add:ns,_encoder_clear:AD,_encoder_transfer_data:gD,_encoder_data_len:cD,_memset:g4,_malloc:R9,_memcpy:ge,_encoder_init:aD,_encoder_process:lD,_bitshift64Lshr:os,_bitshift64Shl:JQ,_strcpy:TC,_encoder_analysis_buffer:$D,runPostSets:ID,stackAlloc:DS,stackSave:_S,stackRestore:xS,establishStackSpace:LS,setThrew:MS,setTempRet0:RS,getTempRet0:FS,dynCall_iiiii:ED,dynCall_vi:CD,dynCall_vii:BD,dynCall_ii:QD,dynCall_viii:yD,dynCall_iiiiiiiii:wD,dynCall_iii:vD,dynCall_iiiiii:kD}}(n.asmGlobalArg,n.asmLibraryArg,q7),w_=n.runPostSets=te.runPostSets,cS=n._strlen=te._strlen,gS=n._strcat=te._strcat,wC=n._free=te._free,v_=n._encoder_init=te._encoder_init,uS=n._i64Add=te._i64Add,dS=n._memmove=te._memmove,k_=n._encoder_transfer_data=te._encoder_transfer_data,S_=n._encoder_process=te._encoder_process,b_=n._encoder_data_len=te._encoder_data_len,hS=n._memset=te._memset,Nu=n._malloc=te._malloc,fS=n._memcpy=te._memcpy,D_=n._encoder_clear=te._encoder_clear,IS=n._bitshift64Lshr=te._bitshift64Lshr,__=n._encoder_analysis_buffer=te._encoder_analysis_buffer,mS=n._strcpy=te._strcpy,pS=n._bitshift64Shl=te._bitshift64Shl,x_=n.dynCall_iiiii=te.dynCall_iiiii,L_=n.dynCall_vi=te.dynCall_vi,M_=n.dynCall_vii=te.dynCall_vii,R_=n.dynCall_ii=te.dynCall_ii,F_=n.dynCall_viii=te.dynCall_viii,T_=n.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,N_=n.dynCall_iii=te.dynCall_iii,G_=n.dynCall_iiiiii=te.dynCall_iiiiii;_.stackAlloc=te.stackAlloc,_.stackSave=te.stackSave,_.stackRestore=te.stackRestore,_.establishStackSpace=te.establishStackSpace,_.setTempRet0=te.setTempRet0,_.getTempRet0=te.getTempRet0;var U_=function(){var r={math:{}};r.math.Long=function(z,D0){this.low_=z|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(z){if(-128<=z&&z<128){var D0=r.math.Long.IntCache_[z];if(D0)return D0}var e1=new r.math.Long(z|0,z<0?-1:0);return-128<=z&&z<128&&(r.math.Long.IntCache_[z]=e1),e1},r.math.Long.fromNumber=function(z){return isNaN(z)||!isFinite(z)?r.math.Long.ZERO:z<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:z+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:z<0?r.math.Long.fromNumber(-z).negate():new r.math.Long(z%r.math.Long.TWO_PWR_32_DBL_|0,z/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(z,D0){return new r.math.Long(z,D0)},r.math.Long.fromString=function(z,D0){if(z.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+z);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var z=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(z&1<0},r.math.Long.prototype.greaterThanOrEqual=function(z){return this.compare(z)>=0},r.math.Long.prototype.compare=function(z){if(this.equals(z))return 0;var D0=this.isNegative(),e1=z.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(z).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(z){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,N3=z.high_&65535,i9=z.low_>>>16,H9=z.low_&65535,P9=0,i4=0,Ai=0,nr=0;return nr+=e3+H9,Ai+=nr>>>16,nr&=65535,Ai+=B2+i9,i4+=Ai>>>16,Ai&=65535,i4+=e1+N3,P9+=i4>>>16,i4&=65535,P9+=D0+O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|i4)},r.math.Long.prototype.subtract=function(z){return this.add(z.negate())},r.math.Long.prototype.multiply=function(z){if(this.isZero())return r.math.Long.ZERO;if(z.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return z.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(z.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().multiply(z.negate()):this.negate().multiply(z).negate();if(z.isNegative())return this.multiply(z.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&z.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*z.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,N3=z.high_&65535,i9=z.low_>>>16,H9=z.low_&65535,P9=0,i4=0,Ai=0,nr=0;return nr+=e3*H9,Ai+=nr>>>16,nr&=65535,Ai+=B2*H9,i4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,i4+=Ai>>>16,Ai&=65535,i4+=e1*H9,P9+=i4>>>16,i4&=65535,i4+=B2*i9,P9+=i4>>>16,i4&=65535,i4+=e3*N3,P9+=i4>>>16,i4&=65535,P9+=D0*H9+e1*i9+B2*N3+e3*O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|i4)},r.math.Long.prototype.div=function(z){if(z.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(z.equals(r.math.Long.ONE)||z.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(z).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return z.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(z.multiply(e1)),B2=e1.add(O5.div(z));return B2}else if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().div(z.negate()):this.negate().div(z).negate();if(z.isNegative())return this.div(z.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(z);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/z.toNumber())),N3=Math.ceil(Math.log(e1)/Math.LN2),i9=N3<=48?1:Math.pow(2,N3-48),H9=r.math.Long.fromNumber(e1),P9=H9.multiply(z);P9.isNegative()||P9.greaterThan(O5);)e1-=i9,H9=r.math.Long.fromNumber(e1),P9=H9.multiply(z);H9.isZero()&&(H9=r.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}return e3},r.math.Long.prototype.modulo=function(z){return this.subtract(this.div(z).multiply(z))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(z){return r.math.Long.fromBits(this.low_&z.low_,this.high_&z.high_)},r.math.Long.prototype.or=function(z){return r.math.Long.fromBits(this.low_|z.low_,this.high_|z.high_)},r.math.Long.prototype.xor=function(z){return r.math.Long.fromBits(this.low_^z.low_,this.high_^z.high_)},r.math.Long.prototype.shiftLeft=function(z){if(z&=63,z==0)return this;var D0=this.low_;if(z<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-z)}else return r.math.Long.fromBits(0,D0<>>z|D0<<32-z,D0>>z)}else return r.math.Long.fromBits(D0>>z-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(z){if(z&=63,z==0)return this;var D0=this.high_;if(z<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>z|D0<<32-z,D0>>>z)}else return z==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>z-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,V=(f&16777215)==15715070;function e(z,D0,e1){z!=null&&(typeof z=="number"?this.fromNumber(z,D0,e1):D0==null&&typeof z!="string"?this.fromString(z,256):this.fromString(z,D0))}function X0(){return new e(null)}function r1(z,D0,e1,B2,e3,O5){for(;--O5>=0;){var N3=D0*this[z++]+e1[B2]+e3;e3=Math.floor(N3/67108864),e1[B2++]=N3&67108863}return e3}function x2(z,D0,e1,B2,e3,O5){for(var N3=D0&32767,i9=D0>>15;--O5>=0;){var H9=this[z]&32767,P9=this[z++]>>15,i4=i9*H9+P9*N3;H9=N3*H9+((i4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(H9>>>30)+(i4>>>15)+i9*P9+(e3>>>30),e1[B2++]=H9&1073741823}return e3}function s(z,D0,e1,B2,e3,O5){for(var N3=D0&16383,i9=D0>>14;--O5>=0;){var H9=this[z]&16383,P9=this[z++]>>14,i4=i9*H9+P9*N3;H9=N3*H9+((i4&16383)<<14)+e1[B2]+e3,e3=(H9>>28)+(i4>>14)+i9*P9,e1[B2++]=H9&268435455}return e3}V&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):V&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)z[D0]=this[D0];z.t=this.t,z.s=this.s}function Dt(z){this.t=1,this.s=z<0?-1:0,z>0?this[0]=z:z<-1?this[0]=z+DV:this.t=0}function ie(z){var D0=X0();return D0.fromInt(z),D0}function It(z,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(z,D0);return}this.t=0,this.s=0;for(var B2=z.length,e3=!1,O5=0;--B2>=0;){var N3=e1==8?z[B2]&255:W9(z,B2);if(N3<0){z.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=N3:O5+e1>this.DB?(this[this.t-1]|=(N3&(1<>this.DB-O5):this[this.t-1]|=N3<=this.DB&&(O5-=this.DB)}e1==8&&z[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==z;)--this.t}function J7(z){if(this.s<0)return"-"+this.negate().toString(z);var D0;if(z==16)D0=4;else if(z==8)D0=3;else if(z==2)D0=1;else if(z==32)D0=5;else if(z==4)D0=2;else return this.toRadix(z);var e1=(1<0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));N3>=0;)i9>(i9+=this.DB-D0)):(B2=this[N3]>>(i9-=D0)&e1,i9<=0&&(i9+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function z7(){var z=X0();return e.ZERO.subTo(this,z),z}function yr(){return this.s<0?this.negate():this}function il(z){var D0=this.s-z.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-z.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-z[e1])!=0)return D0;return 0}function sE(z){var D0=1,e1;return(e1=z>>>16)!=0&&(z=e1,D0+=16),(e1=z>>8)!=0&&(z=e1,D0+=8),(e1=z>>4)!=0&&(z=e1,D0+=4),(e1=z>>2)!=0&&(z=e1,D0+=2),(e1=z>>1)!=0&&(z=e1,D0+=1),D0}function JB(){return this.t<=0?0:this.DB*(this.t-1)+sE(this[this.t-1]^this.s&this.DM)}function zB(z,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+z]=this[e1];for(e1=z-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+z,D0.s=this.s}function KB(z,D0){for(var e1=z;e1=0;--i9)D0[i9+O5+1]=this[i9]>>B2|N3,N3=(this[i9]&e3)<=0;--i9)D0[i9]=0;D0[O5]=N3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function ZB(z,D0){D0.s=this.s;var e1=Math.floor(z/this.DB);if(e1>=this.t){D0.t=0;return}var B2=z%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var N3=e1+1;N3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=z.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function jB(z,D0){var e1=this.abs(),B2=z.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)z[e1]=0;for(e1=0;e1=D0.DV&&(z[e1+D0.t]-=D0.DV,z[e1+D0.t+1]=1)}z.t>0&&(z[z.t-1]+=D0.am(e1,D0[e1],z,2*e1,0,1)),z.s=0,z.clamp()}function eQ(z,D0,e1){var B2=z.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var P9=O5.t,i4=O5[P9-1];if(i4!=0){var Ai=i4*(1<1?O5[P9-2]>>this.F2:0),nr=this.FV/Ai,gQ=(1<=0&&(e1[e1.t++]=1,e1.subTo(Oi,e1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var aE=e1[--oA]==i4?this.DM:Math.floor(e1[oA]*nr+(e1[oA-1]+uQ)*gQ);if((e1[oA]+=O5.am(0,aE,e1,Uu,0,P9))0&&e1.rShiftTo(H9,e1),N3<0&&e.ZERO.subTo(e1,e1)}}}function tQ(z){var D0=X0();return this.abs().divRemTo(z,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&z.subTo(D0,D0),D0}function iA(z){this.m=z}function iQ(z){return z.s<0||z.compareTo(this.m)>=0?z.mod(this.m):z}function rQ(z){return z}function nQ(z){z.divRemTo(this.m,null,z)}function oQ(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}function rA(z,D0){z.squareTo(D0),this.reduce(D0)}iA.prototype.convert=iQ,iA.prototype.revert=rQ,iA.prototype.reduce=nQ,iA.prototype.mulTo=oQ,iA.prototype.sqrTo=rA;function rr(){if(this.t<1)return 0;var z=this[0];if(!(z&1))return 0;var D0=z&3;return D0=D0*(2-(z&15)*D0)&15,D0=D0*(2-(z&255)*D0)&255,D0=D0*(2-((z&65535)*D0&65535))&65535,D0=D0*(2-z*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function Hn(z){this.m=z,this.mp=z.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function nA(z){var D0=X0();return z.copyTo(D0),this.reduce(D0),D0}function Vn(z){for(;z.t<=this.mt2;)z[z.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&z.DM;for(e1=D0+this.m.t,z[e1]+=this.m.am(0,B2,z,D0,0,this.m.t);z[e1]>=z.DV;)z[e1]-=z.DV,z[++e1]++}z.clamp(),z.drShiftTo(this.m.t,z),z.compareTo(this.m)>=0&&z.subTo(this.m,z)}function sQ(z,D0){z.squareTo(D0),this.reduce(D0)}function aQ(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}Hn.prototype.convert=Gu,Hn.prototype.revert=nA,Hn.prototype.reduce=Vn,Hn.prototype.mulTo=aQ,Hn.prototype.sqrTo=sQ;function AQ(){return(this.t>0?this[0]&1:this.s)==0}function is(z,D0){if(z>4294967295||z<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=sE(z)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(z&1<0)D0.mulTo(B2,e3,e1);else{var N3=e1;e1=B2,B2=N3}return D0.revert(e1)}function $Q(z,D0){var e1;return z<256||D0.isEven()?e1=new iA(D0):e1=new Hn(D0),this.exp(z,e1)}e.prototype.copyTo=ye,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=zB,e.prototype.drShiftTo=KB,e.prototype.lShiftTo=WB,e.prototype.rShiftTo=ZB,e.prototype.subTo=Z6,e.prototype.multiplyTo=jB,e.prototype.squareTo=XB,e.prototype.divRemTo=eQ,e.prototype.invDigit=rr,e.prototype.isEven=AQ,e.prototype.exp=is,e.prototype.toString=J7,e.prototype.negate=z7,e.prototype.abs=yr,e.prototype.compareTo=il,e.prototype.bitLength=JB,e.prototype.mod=tQ,e.prototype.modPowInt=$Q,e.ZERO=ie(0),e.ONE=ie(1);function Yn(z,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,N3=0,i9=0;i9=e1&&(this.dMultiply(B2),this.dAddOffset(N3,0),O5=0,N3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(N3,0)),e3&&e.ZERO.subTo(this,this)}function tn(z){return Math.floor(Math.LN2*this.DB/Math.log(z))}function kC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function n5(z){this[this.t]=this.am(0,z-1,this,0,0,this.t),++this.t,this.clamp()}function lQ(z,D0){if(z!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=z;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function rs(z){if(z==null&&(z=10),this.signum()==0||z<2||z>36)return"0";var D0=this.chunkSize(z),e1=Math.pow(z,D0),B2=ie(e1),e3=X0(),O5=X0(),N3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)N3=(e1+O5.intValue()).toString(z).substr(1)+N3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(z)+N3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=z.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=tn,e.prototype.signum=kC,e.prototype.dMultiply=n5,e.prototype.dAddOffset=lQ,e.prototype.toRadix=rs,e.prototype.intValue=rn,e.prototype.addTo=cQ;var c7={abs:function(z,D0){var e1=new r.math.Long(z,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,G9[bt>>2]=B2.low_,G9[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(z,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(z.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(z,D0,e1){var B2=new r.math.Long(z,D0).toString();if(e1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(z,D0,e1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(z,D0);var N3=new e;N3.fromString(e1,10);var i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(N3)<0?(O5=N3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var i4=r.math.Long.fromString(O5.toString());if(G9[bt>>2]=i4.low_,G9[bt+4>>2]=i4.high_,P9)throw"range error"}};return c7}();function tA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}tA.prototype=new Error,tA.prototype.constructor=tA;var qB,oE=null,ES=!1;V7=function r(){n.calledRun||vC(),n.calledRun||(V7=r)},n.callMain=n.callMain=function(l){Ge(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ge(Xp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)V.push(0)}var V=[C3(en(n.thisProgram),"i8",ja)];f();for(var e=0;e0||(Fu(),k8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!i0&&(Zo(),MB(),c&&oE!==null&&n.printErr("pre-main prep time: "+(Date.now()-oE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&YB&&n.callMain(r),K$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=vC;function HB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(i0=!0,n1=r,k7=qB,eE(),n.onExit&&n.onExit(r)),d?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):T&&typeof quit=="function"&&quit(r),new tA(r)}n.exit=n.exit=HB;var VB=[];function ts(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",i0=!0,n1=1;var l=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+Wp()+l;throw VB&&VB.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=ts,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var YB=!0;n.noInitialRun&&(YB=!1),vC();var CS=n._encoder_init,BS=n._encoder_clear,QS=n._encoder_analysis_buffer,yS=n._encoder_process,wS=n._encoder_data_len,vS=n._encoder_transfer_data,S7=n.HEAPU8,X$=n.HEAPU32,el=n.HEAPF32,tl=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=CS(this.numChannels,r,u)};tl.prototype.encode=function(r){for(var l=r[0].length,u=QS(this.encoder,l)>>2,f=0;f>2);this.process(l)},tl.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},tl.prototype.cancel=tl.prototype.cleanup=function(){BS(this.encoder),delete this.encoder,delete this.oggBuffers},tl.prototype.process=function(r){yS(this.encoder,r);var l=wS(this.encoder);if(l>0){var u=vS(this.encoder);this.oggBuffers.push(new Uint8Array(S7.subarray(u,u+l)))}},uC.OggVorbisEncoder=tl}};typeof window<"u"&&window===self&&uC.init();function Dk(n,i,A,c){let d=new uC.OggVorbisEncoder(A,i,c);d.encode(n);let p=d.finish(),T=p.reduce((e0,U0)=>e0+U0.length,0),H=new Uint8Array(T),O=0;for(let e0 of p)H.set(e0,O),O+=e0.length;return H}var dC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",d=>{d.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async d=>{d.preventDefault(),c.classList.add("hidden");let p=d.dataTransfer.files[0];if(!p)return;let T=p.name,H=await p.arrayBuffer(),O=H.slice(0,4),e0=new TextDecoder;if(e0.decode(O)==="RIFF"){let U0=H.slice(8,12);if(e0.decode(U0)==="RMID"){i({buf:H,name:T});return}A(H);return}i({buf:H,name:T})})}};async function _k(){let n="locale.exportAudio.formats.formats.dls.warning.";Ne(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;le(i.id),R7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),d=Vo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&yu(d,c);let p=d.writeDLS(),T=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(T,`${d.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var g_=!1,Wr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,d=g_){this.localeManager=c,this.context=i,this.enableDebug=d,this.isExporting=!1,this.compressionFunc=Dk;let p;this.ready=new Promise(T=>p=T),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),d=document.createElement("a");d.href=c,d.download=A,d.click(),_5(d)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let P of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path"));for(let P of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(P,"title",P.getAttribute("translate-path-title")+".description");this.soundFont=A;let d=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":bk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+d,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let T=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),O=await(await fetch(T)).arrayBuffer();this.impulseResponseRaw=O,this.impulseResponse=await i.decodeAudioData(O.slice(0,O.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new Iu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",P=>{this.sfError&&this.sfError(P.message)}),await this.synth.isReady,this.midHandler=new zE,this.wml=new KE(this.synth),this.keyboard=new Lp(this.channelColors,this.synth);let e0=document.getElementById("note_canvas");e0.width=window.innerWidth*window.devicePixelRatio,e0.height=window.innerHeight*window.devicePixelRatio,this.renderer=new N7(this.channelColors,this.synth,e0,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let U0=!1,_=()=>{if(e0.width=window.innerWidth*window.devicePixelRatio,e0.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),T7){if(window.innerWidth/window.innerHeight>1){if(!U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!0,P.parentElement.insertBefore(i0,P)}}else if(U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!1,P.parentElement.insertBefore(P,i0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),T7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new zr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new eC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Oo(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new dC(P=>{this.play([{binary:P.buf,altName:P.name}]),P.name.length>20&&(P.name=P.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P.name},P=>{this.reloadSf(P)}),document.addEventListener("keydown",P=>{switch(P.key.toLowerCase()){case si.cinematicMode:this.seq&&this.seq.pause();let i0=window.prompt(`Cinematic mode activated! Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),i0===null)return;e0.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${i0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case si.videoMode:this.seq&&this.seq.pause();let n1=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(n1===null)return;let S1=document.createElement("video");S1.src=n1,S1.classList.add("secret_video"),e0.parentElement.appendChild(S1),S1.play(),window.video=S1,this.seq&&(S1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),S1.play(),this.seq.currentTime=0),document.addEventListener("keydown",f1=>{f1.key===" "&&(S1.paused?S1.play():S1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);Q4(new K5(i),4).toLowerCase()==="dls "&&Ne(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{le(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{le(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new PE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),A=Yo(this.soundFont),c=UE(A.writeDLS(),i,A),d=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(d,`${i.midiName}.rmi`)}downloadDesfont(){let i=Yo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Wr.prototype.exportSong=vk;Wr.prototype._exportAudioData=Tv;Wr.prototype._doExportAudioData=Fv;Wr.prototype.exportMidi=Nv;Wr.prototype._exportSoundfont=wk;Wr.prototype._exportDLS=Dk;Wr.prototype._exportRMIDI=kk;var g_=44100,u_="GeneralUserGS.sf3",gC=document.getElementById("title"),za=document.getElementById("midi_file_input"),d_=document.getElementById("sf_file_input"),_k=document.getElementById("demo_song"),pB=document.getElementById("export_button"),M$=document.getElementsByClassName("loading")[0],U7=document.getElementById("loading_message"),h_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=h_.version;var f_="spessasynth-db",F$="soundFontStore";function BB(n){let i=indexedDB.open(f_,1);i.onsuccess=()=>{let A=i.result;n(A)},i.onupgradeneeded=A=>{A.target.result.createObjectStore(F$,{keyPath:"id"})}}async function I_(){return await new Promise(n=>{BB(i=>{let d=i.transaction([F$],"readonly").objectStore(F$).get("buffer");d.onerror=p=>{console.error("Database error"),console.error(p),n(void 0)},d.onsuccess=async()=>{let p=d.result;if(!p){n(void 0);return}n(p.data)}})})}function R$(n,i=!0){let A=M$.getElementsByClassName("loading_icon")[0];A.innerHTML=n,A.style.animation=i?"none":""}async function xk(n){BB(i=>{let c=i.transaction([F$],"readwrite").objectStore(F$);try{let d=c.put({id:"buffer",data:n});d.onsuccess=()=>{_5("SoundFont stored successfully")},d.onerror=p=>{console.error("Error saving soundfont",p)}}catch(d){I9("Failed saving soundfont:",d)}})}async function m_(n){let i=new jE(n);try{let d=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new d({sampleRate:g_})}catch(d){throw R$(Np(256)),U7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),d}U7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let A=await I_(),c=!0;if(A===void 0){I9("Failed to load from db, fetching online instead"),c=!1;let d=document.getElementById("progress_bar"),p=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");U7.textContent=p,A=await p_(`soundfonts/${u_}`,U=>{U7.textContent=`${p} ${U}%`}),d.style.width="0"}else _5("Loaded the soundfont from the database succesfully");window.soundFontParser=A,c||(U7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await xk(A)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),U7.textContent=i.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Wr(audioContextMain,soundFontParser,i),window.manager.sfError=d=>{R$(Np(256)),c?(I9("Invalid soundfont in the database. Resetting."),BB(p=>{let O=p.transaction([F$],"readwrite").objectStore(F$).delete("buffer");O.onsuccess=()=>{location.reload()}})):gC.innerHTML=`Error parsing soundfont:
${d}
`,U7.innerHTML=`Error parsing soundfont:
${d}
`},await manager.ready,za.files[0]?await EB(za.files):(za.onclick=void 0,za.onchange=()=>{za.files[0]&&EB(za.files).then()}),R$(sB(256)),U7.textContent=i.getLocaleString("locale.synthInit.done")}async function p_(n,i){let A=await fetch(n);if(!A.ok)throw gC.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),d=await(await A.body).getReader(),p=!1,U=new Uint8Array(parseInt(c)),Z=0;do{let O=await d.read();O.value&&(U.set(O.value,Z),Z+=O.value.length),p=O.done;let e0=Math.round(Z/c*100);i(e0)}while(!p);return U.buffer}async function EB(n){_k.style.display="none";let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(A):manager.play(A),pB.style.display="flex",pB.onclick=window.manager.exportSong.bind(window.manager)}function E_(n){localStorage.setItem("spessasynth-settings",JSON.stringify(n)),_5("saved as",n)}window.saveSettings=E_;var qp=JSON.parse(localStorage.getItem("spessasynth-settings"));qp!==null&&(window.savedSettings=new Promise(n=>{n(qp)}));var CB;qp&&qp.interface&&qp.interface.language?CB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():CB=navigator.language.split("-")[0].toLowerCase();za.value="";za.focus();pB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function C_(n){gC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+n);i.name=n,await EB([i])}m_(CB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",M$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{M$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),T7&&window.chrome&&Ne(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),d_.onchange=n=>{if(!n.target.files[0])return;let i=n.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,M$.style.display="",setTimeout(async()=>{M$.classList.remove("done"),R$(Wy(256),!1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let A=performance.now()/1e3,c;try{c=await i.arrayBuffer(),window.soundFontParser=c}catch(p){throw U7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),R$(Np(256)),Ne(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p}window.manager.sfError=p=>{U7.innerHTML=`Error parsing soundfont:
${p}
`,R$(Np(256)),console.error(p)},U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(c),window.manager.seq&&(window.manager.seq.currentTime-=.1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await xk(c);let d=performance.now()/1e3-A;await new Promise(p=>setTimeout(p,1e3-d)),R$(sB(256)),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),M$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{M$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},_k.onclick=async()=>{let n=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];gC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),A=JSON.parse(i);for(let c of A)n.push({type:"button",textContent:c.name,onClick:d=>{le(d.id),Ne(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:c.credits.replace(` +Note: the video will be available in console as 'video'`,"");if(n1===null)return;let S1=document.createElement("video");S1.src=n1,S1.classList.add("secret_video"),e0.parentElement.appendChild(S1),S1.play(),window.video=S1,this.seq&&(S1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),S1.play(),this.seq.currentTime=0),document.addEventListener("keydown",f1=>{f1.key===" "&&(S1.paused?S1.play():S1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);Q4(new K5(i),4).toLowerCase()==="dls "&&Ne(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{le(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{le(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new HE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),A=Vo(this.soundFont),c=qE(A.writeDLS(),i,A),d=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(d,`${i.midiName}.rmi`)}downloadDesfont(){let i=Vo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Wr.prototype.exportSong=kk;Wr.prototype._exportAudioData=Nv;Wr.prototype._doExportAudioData=Tv;Wr.prototype.exportMidi=Gv;Wr.prototype._exportSoundfont=vk;Wr.prototype._exportDLS=_k;Wr.prototype._exportRMIDI=Sk;var u_=44100,d_="GeneralUserGS.sf3",hC=document.getElementById("title"),za=document.getElementById("midi_file_input"),h_=document.getElementById("sf_file_input"),xk=document.getElementById("demo_song"),EB=document.getElementById("export_button"),M$=document.getElementsByClassName("loading")[0],U7=document.getElementById("loading_message"),f_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=f_.version;var I_="spessasynth-db",F$="soundFontStore";function QB(n){let i=indexedDB.open(I_,1);i.onsuccess=()=>{let A=i.result;n(A)},i.onupgradeneeded=A=>{A.target.result.createObjectStore(F$,{keyPath:"id"})}}async function m_(){return await new Promise(n=>{QB(i=>{let d=i.transaction([F$],"readonly").objectStore(F$).get("buffer");d.onerror=p=>{console.error("Database error"),console.error(p),n(void 0)},d.onsuccess=async()=>{let p=d.result;if(!p){n(void 0);return}n(p.data)}})})}function R$(n,i=!0){let A=M$.getElementsByClassName("loading_icon")[0];A.innerHTML=n,A.style.animation=i?"none":""}async function Lk(n){QB(i=>{let c=i.transaction([F$],"readwrite").objectStore(F$);try{let d=c.put({id:"buffer",data:n});d.onsuccess=()=>{_5("SoundFont stored successfully")},d.onerror=p=>{console.error("Error saving soundfont",p)}}catch(d){I9("Failed saving soundfont:",d)}})}async function p_(n){let i=new tC(n);try{let d=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new d({sampleRate:u_})}catch(d){throw R$(Up(256)),U7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),d}U7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let A=await m_(),c=!0;if(A===void 0){I9("Failed to load from db, fetching online instead"),c=!1;let d=document.getElementById("progress_bar"),p=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");U7.textContent=p,A=await E_(`soundfonts/${d_}`,T=>{U7.textContent=`${p} ${T}%`}),d.style.width="0"}else _5("Loaded the soundfont from the database succesfully");window.soundFontParser=A,c||(U7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await Lk(A)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),U7.textContent=i.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Wr(audioContextMain,soundFontParser,i),window.manager.sfError=d=>{R$(Up(256)),c?(I9("Invalid soundfont in the database. Resetting."),QB(p=>{let O=p.transaction([F$],"readwrite").objectStore(F$).delete("buffer");O.onsuccess=()=>{location.reload()}})):hC.innerHTML=`Error parsing soundfont:
${d}
`,U7.innerHTML=`Error parsing soundfont:
${d}
`},await manager.ready,za.files[0]?await CB(za.files):(za.onclick=void 0,za.onchange=()=>{za.files[0]&&CB(za.files).then()}),R$(aB(256)),U7.textContent=i.getLocaleString("locale.synthInit.done")}async function E_(n,i){let A=await fetch(n);if(!A.ok)throw hC.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),d=await(await A.body).getReader(),p=!1,T=new Uint8Array(parseInt(c)),H=0;do{let O=await d.read();O.value&&(T.set(O.value,H),H+=O.value.length),p=O.done;let e0=Math.round(H/c*100);i(e0)}while(!p);return T.buffer}async function CB(n){xk.style.display="none";let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(A):manager.play(A),EB.style.display="flex",EB.onclick=window.manager.exportSong.bind(window.manager)}function C_(n){localStorage.setItem("spessasynth-settings",JSON.stringify(n)),_5("saved as",n)}window.saveSettings=C_;var Vp=JSON.parse(localStorage.getItem("spessasynth-settings"));Vp!==null&&(window.savedSettings=new Promise(n=>{n(Vp)}));var BB;Vp&&Vp.interface&&Vp.interface.language?BB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():BB=navigator.language.split("-")[0].toLowerCase();za.value="";za.focus();EB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function B_(n){hC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+n);i.name=n,await CB([i])}p_(BB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",M$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{M$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),T7&&window.chrome&&Ne(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),h_.onchange=n=>{if(!n.target.files[0])return;let i=n.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,M$.style.display="",setTimeout(async()=>{M$.classList.remove("done"),R$(Zy(256),!1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let A=performance.now()/1e3,c;try{c=await i.arrayBuffer(),window.soundFontParser=c}catch(p){throw U7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),R$(Up(256)),Ne(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p}window.manager.sfError=p=>{U7.innerHTML=`Error parsing soundfont:
${p}
`,R$(Up(256)),console.error(p)},U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(c),window.manager.seq&&(window.manager.seq.currentTime-=.1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await Lk(c);let d=performance.now()/1e3-A;await new Promise(p=>setTimeout(p,1e3-d)),R$(aB(256)),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),M$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{M$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},xk.onclick=async()=>{let n=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];hC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),A=JSON.parse(i);for(let c of A)n.push({type:"button",textContent:c.name,onClick:d=>{le(d.id),Ne(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:c.credits.replace(` `,`\r \r -`),attributes:{style:"white-space: pre-line;"}},{type:"button",textContent:"Ok",onClick:p=>{le(p.id)}}],999999,!0,void 0,void 0,async()=>{await C_(c.fileName)})}});Ne(window.manager.localeManager.getLocaleString("locale.demoSongButton"),n,999999,!0,void 0)}}); +`),attributes:{style:"white-space: pre-line;"}},{type:"button",textContent:"Ok",onClick:p=>{le(p.id)}}],999999,!0,void 0,void 0,async()=>{await B_(c.fileName)})}});Ne(window.manager.localeManager.getLocaleString("locale.demoSongButton"),n,999999,!0,void 0)}}); diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index 53586215..8422c859 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -1,4 +1,4 @@ -var BE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var K5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((h,p)=>h+p.length,0),A=new K5(i),c=0;for(let h of n)A.set(h,c),c+=h.length;return A}function w$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function YC(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var Z3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function Ay(n){let i=n&240,A=n&15,c=-1,h=n;return i>=128&&i<=224&&(c=A,h=i),{status:h,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var QE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}},this.timeDelay=0}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(c=>c(A))},this.timeDelay*1e3):Object.values(this.events[i]).forEach(c=>c(A)))}};var Yr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},vp=class{constructor(i,A=Yr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let h=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],U=[],j=A.oscillatorFrequency,O=A.defaultDelay;for(let X=0;X{let p=await h.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var B4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},kp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,v$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var ly=!1,cy=!0,yE=!1,kD=!0;function gy(n,i,A,c){ly=n,cy=i,yE=A,kD=c}function U5(...n){ly&&console.info(...n)}function T9(...n){cy&&console.warn(...n)}function R7(...n){yE&&console.group(...n)}function y8(...n){yE&&console.groupCollapsed(...n)}function u9(){yE&&console.groupEnd()}var uy={chorusEnabled:!0,chorusConfig:Yr,reverbEnabled:!0,reverbImpulseResponse:void 0};var Sp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var wE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(h=>h.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(Sp.addNewSoundFont,[i,A,c]),await new Promise(h=>this.synth.resolveWhenReady=h),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){T9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){T9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(Sp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(Sp.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(Sp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var I0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},W6=[];W6[I0.startAddrsOffset]={min:0,max:32768,def:0};W6[I0.endAddrOffset]={min:-32768,max:32768,def:0};W6[I0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[I0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[I0.initialFilterFc]={min:1500,max:13500,def:13500};W6[I0.initialFilterQ]={min:0,max:960,def:0};W6[I0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.modLfoToVolume]={min:-960,max:960,def:0};W6[I0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[I0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[I0.pan]={min:-500,max:500,def:0};W6[I0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqModLFO]={min:-16e3,max:4500,def:0};W6[I0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[I0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[I0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[I0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainModEnv]={min:0,max:1e3,def:0};W6[I0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[I0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainVolEnv]={min:0,max:1440,def:0};W6[I0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[I0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.keyNum]={min:-1,max:127,def:-1};W6[I0.velocity]={min:-1,max:127,def:-1};W6[I0.initialAttenuation]={min:-250,max:1440,def:0};W6[I0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.coarseTune]={min:-120,max:120,def:0};W6[I0.fineTune]={min:-12700,max:12700,def:0};W6[I0.scaleTuning]={min:0,max:1200,def:100};W6[I0.exclusiveClass]={min:0,max:99999,def:0};W6[I0.overridingRootKey]={min:-1,max:127,def:-1};W6[I0.sampleModes]={min:0,max:3,def:0};var h6=class{generatorType=I0.INVALID;generatorValue=0;constructor(i=I0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let h=W6[i];h!==void 0&&(this.generatorValue=Math.max(h.min,Math.min(h.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},j7={linear:0,concave:1,convex:2,switch:3},l9=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=I0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===I0.reverbEffectsSend||this.modulatorDestination===I0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A,c=!1){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType&&(!c||i.transformAmount===A.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(h,p){return Object.keys(h).find(U=>h[U]===p)}let A=i(j7,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(j7,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: +var yE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var K5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((h,p)=>h+p.length,0),A=new K5(i),c=0;for(let h of n)A.set(h,c),c+=h.length;return A}function w$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function wE(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var v3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function $y(n){let i=n&240,A=n&15,c=-1,h=n;return i>=128&&i<=224&&(c=A,h=i),{status:h,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var vE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}},this.timeDelay=0}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(c=>c(A))},this.timeDelay*1e3):Object.values(this.events[i]).forEach(c=>c(A)))}};var Yr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},kp=class{constructor(i,A=Yr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let h=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],T=[],H=A.oscillatorFrequency,O=A.defaultDelay;for(let X=0;X{let p=await h.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var B4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},Sp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,v$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var cy=!1,gy=!0,kE=!1,SD=!0;function uy(n,i,A,c){cy=n,gy=i,kE=A,SD=c}function U5(...n){cy&&console.info(...n)}function T9(...n){gy&&console.warn(...n)}function R7(...n){kE&&console.group(...n)}function y8(...n){kE&&console.groupCollapsed(...n)}function u9(){kE&&console.groupEnd()}var hy={chorusEnabled:!0,chorusConfig:Yr,reverbEnabled:!0,reverbImpulseResponse:void 0};var bp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var SE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(h=>h.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(bp.addNewSoundFont,[i,A,c]),await new Promise(h=>this.synth.resolveWhenReady=h),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){T9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){T9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(bp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(bp.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(bp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var I0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},W6=[];W6[I0.startAddrsOffset]={min:0,max:32768,def:0};W6[I0.endAddrOffset]={min:-32768,max:32768,def:0};W6[I0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[I0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[I0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[I0.initialFilterFc]={min:1500,max:13500,def:13500};W6[I0.initialFilterQ]={min:0,max:960,def:0};W6[I0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[I0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.modLfoToVolume]={min:-960,max:960,def:0};W6[I0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[I0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[I0.pan]={min:-500,max:500,def:0};W6[I0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqModLFO]={min:-16e3,max:4500,def:0};W6[I0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[I0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[I0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[I0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[I0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainModEnv]={min:0,max:1e3,def:0};W6[I0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[I0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[I0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[I0.sustainVolEnv]={min:0,max:1440,def:0};W6[I0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[I0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[I0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[I0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.keyNum]={min:-1,max:127,def:-1};W6[I0.velocity]={min:-1,max:127,def:-1};W6[I0.initialAttenuation]={min:-250,max:1440,def:0};W6[I0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[I0.coarseTune]={min:-120,max:120,def:0};W6[I0.fineTune]={min:-12700,max:12700,def:0};W6[I0.scaleTuning]={min:0,max:1200,def:100};W6[I0.exclusiveClass]={min:0,max:99999,def:0};W6[I0.overridingRootKey]={min:-1,max:127,def:-1};W6[I0.sampleModes]={min:0,max:3,def:0};var h6=class{generatorType=I0.INVALID;generatorValue=0;constructor(i=I0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let h=W6[i];h!==void 0&&(this.generatorValue=Math.max(h.min,Math.min(h.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},j7={linear:0,concave:1,convex:2,switch:3},l9=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=I0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===I0.reverbEffectsSend||this.modulatorDestination===I0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A,c=!1){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType&&(!c||i.transformAmount===A.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(h,p){return Object.keys(h).find(T=>h[T]===p)}let A=i(j7,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(j7,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: Source: ${A} Secondary source: ${c} Destination: ${i(I0,this.modulatorDestination)} @@ -6,12 +6,12 @@ var BE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( Transform type: ${this.transformType} -`}},VC=960,zC=j7.concave;function Vr(n,i,A,c,h){return n<<10|i<<9|A<<8|c<<7|h}var vE=[new l9({srcEnum:Vr(zC,0,1,0,q4.noteOnVelocity),dest:I0.initialAttenuation,amt:VC,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(zC,0,1,1,$3.mainVolume),dest:I0.initialAttenuation,amt:VC,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:I0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:I0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(zC,0,1,1,$3.expressionController),dest:I0.initialAttenuation,amt:VC,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(j7.linear,0,0,0,q4.polyPressure),dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(j7.linear,0,0,1,$3.tremoloDepth),dest:I0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(j7.linear,1,0,1,$3.releaseTime),dest:I0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(j7.linear,1,0,1,$3.brightness),dest:I0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:Vr(j7.linear,1,0,1,$3.timbreHarmonicContent),dest:I0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var k$=128,hy=147,SD=new Int16Array(hy).fill(0),A7=(n,i)=>SD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(k$+q4.pitchWheel,64);A7(k$+q4.pitchWheelRange,2);var kE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},dy=Object.keys(kE).length,bD=new Float32Array(dy);bD[kE.modulationMultiplier]=1;var fy={velocityOverride:128};var SE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},bE={addMapping:0,deleteMapping:1,clearMappings:2};var DE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let h=c?.velocity??-1,p=c?.patch?.program??-1,U=c?.patch?.bank??-1,j=new SE(h,U,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=j,this._sendToWorklet(bE.addMapping,[i,A,j])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(bE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(bE.clearMappings,void 0),this._keyModifiers=[]}};var DD="spessasynth-worklet-system",JC=350,F7=9,_D=16;var hu=class{constructor(i,A,c=!0,h=void 0,p=uy){U5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let U=h?.oneOutput===!0;this.eventHandler=new QE,this._voiceCap=JC,this._destroyed=!1,this._outputsAmount=_D,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(X=>this.resolveWhenReady=X),this.channelProperties=[];for(let X=0;Xthis.handleMessage(X.data),this.soundfontManager=new wE(this),this.keyModifierManager=new DE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!U&&(this.reverbProcessor=$y(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!U&&(this.chorusProcessor=new vp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),U)this.worklet.connect(i,0);else for(let X=2;X{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(kp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,h){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,h]})}_setMasterParam(i,A){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(kp.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case v$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,h)=>c+h.voicesAmount,0);break;case v$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case v$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case v$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case v$.ready:this.resolveWhenReady();break;case v$.soundfontError:T9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,h]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(kp.mainVolume,i)}setMasterPan(i){this._setMasterParam(kp.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[fy.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){T9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:B4.setDrums,messageData:A})}sendMessage(i,A=0){let c=Ay(i[0]);switch(c.channel+=A,c.status){case Z3.noteOn:let h=i[2];h>0?this.noteOn(c.channel,i[1],h):this.noteOff(c.channel,i[1]);break;case Z3.noteOff:this.noteOff(c.channel,i[1]);break;case Z3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case Z3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case Z3.programChange:this.programChange(c.channel,i[1]);break;case Z3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case Z3.channelPressure:this.channelPressure(c.channel,i[1]);break;case Z3.systemExclusive:this.systemExclusive(new K5(i.slice(1)));break;case Z3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new vp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:B4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,h)=>{let p;if(Ir)p=127;else{let j=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let O=h.clientX-j.left,X=j.width;p=Math.floor((X-O)/X*127)}else{let O=h.clientY-j.top,X=j.height;p=Math.floor(O/X*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let h=c.touches?Array.from(c.touches):[c],p=new Set;h.forEach(U=>{let j=document.elementFromPoint(U.clientX,U.clientY),O=parseInt(j.id.replace("note",""));p.add(O),!(isNaN(O)||O<0||this.pressedKeys.has(O))&&(this.pressedKeys.add(O),i(O,U))}),this.pressedKeys.forEach(U=>{p.has(U)||n(U)})};Ir||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var my=20,bp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let h=0;h<128;h++)this.releaseNote(h,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(U=A(i+1)),U&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):U&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let h=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,U;for(let j of p)if(j.selectorText==="#keyboard .key"){U=j;break}if(U.style.setProperty("--pressed-transform-skew",`${8e-4/(h/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let j=getComputedStyle(this.keyboard),O=parseFloat(j.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),X=this.keyboard.getBoundingClientRect().height,U0=h/O,_=X*U0-X,P=(this._keyRange.min+this._keyRange.max)/2,i0=(i.min+i.max)/2;this._keyRange=i;let n1=this.keys.find(g2=>g2.classList.contains("sharp_key")).getBoundingClientRect().width,S1=(P-i0)*n1,f1=parseFloat(j.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${U0}) translateX(${S1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${f1/U0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${h}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${h}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let h=this.keys[i-this._keyRange.min];if(h===void 0)return;h.classList.add("pressed");let p=h.classList.contains("sharp_key"),U=c/127,j=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),O;if(!p&&this.mode==="light"?O=`rgba(${j.slice(0,3).map(U0=>255-(255-U0)*U).join(", ")}, ${j[3]})`:O=`rgba(${j.slice(0,3).map(U0=>U0*U).join(", ")}, ${j[3]})`,h.style.background=O,this.mode==="dark"){let X=my*U;h.style.boxShadow=`${O} 0px 0px ${X}px ${X/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let h=this.keyColors[i-this._keyRange.min];if(!h)return;let p=h.findLastIndex(U=>U===this.channelColors[A]);p!==-1&&(h.splice(p,1),c.style.background=h[h.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${my}px ${h[h.length-1]}`),h.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};bp.prototype._handlePointers=Iy;function S$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var LD="#000";function py(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let h=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*h,A){i.fillRect(c.xPos,c.yPos-c.height*h,c.width,c.height*(h*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*h,c.yPos,c.width*(h*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=LD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var KC=!1;function Ey(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(KC){n&&requestAnimationFrame(this.render.bind(this));return}else KC=!0;else KC=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||py(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let h=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${_E}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,_E*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(h).toString()+" FPS",this.canvas.width,_E+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function Cy(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,h=i/(c+1),p=h-D$*2,U=this.noteFallingTimeMs/1e3,j=this.noteAfterTriggerTimeMs/1e3,O=this.seq.currentHighResolutionTime-this.timeOffset,X=O-j,U0=U+j,_=X+U0,P=Qy/U0,i0=[];this.synth.channelProperties.forEach(S1=>{if(this.showVisualPitch){let f1=S1.pitchBend-8192+this.visualPitchBendOffset;i0.push(S1.pitchBendRangeSemitones*(f1/8192*h))}else i0.push(0)});let n1=[];return this.noteTimes.forEach((S1,f1)=>{if(S1.renderStartIndex>=S1.notes.length||!this.renderChannels[f1])return;let g2=S1.renderStartIndex,n2=S1.notes,f2=n2[g2],a5=-1;for(;f2.start<=_&&(g2++,!(this.notesOnScreen>yy));){let T2=f2.start+f2.length;if(T2>X&&f2.length>0){let A0=f2.length/U0*A-D$*2;if(this.notesOnScreen<1e3||A0>P){a5===-1&&(a5=g2-1);let C5=(f2.start-X)/U0*A,y3;if(this._notesFall?y3=A-A0-C5+D$:y3=C5+D$,f2.midiNotethis.keyRange.max){if(g2>=n2.length)break;f2=n2[g2];continue}let v3=f2.midiNote-this.keyRange.min,g6=h*v3+D$,k3,c9,N9,p3;if(this.sideways?(k3=y3,c9=g6,p3=p,N9=A0):(c9=y3,k3=g6,N9=p,p3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[f1],this.drawingContext.fillRect(k3+b$+D$,c9+b$,N9-b$*2,p3-b$*2);else{let w6;if(f2.start>O||T2=n2.length)break;f2=n2[g2]}a5>-1&&(S1.renderStartIndex=a5)}),n1.sort((S1,f1)=>f1.height-S1.height),n1}function wy(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let h=c%4,p=Math.floor(c/4),U=!1;for(let _=c;_0){U=!0;break}if(!U){let _=this.canvas.width/4,P=this.canvas.height/4,i0=_*h,n1=P*p+P/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(i0,n1),this.drawingContext.lineTo(i0+_,n1),this.drawingContext.stroke();return}let j=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(j);let O=n*h,X=i*p+i/2,U0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=j.length/4,P=n/_,i0=Math.floor(_/2),n1=j.length-i0;for(let n2=n1;n2>=1;n2--)if(j[n2-1]<0&&j[n2]>=0){n1=n2;break}let S1=O,f1=n1-i0,g2=n1+i0;for(let n2=f1;n2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function Sy(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function Dy(){for(let n of this.channelAnalysers)n.disconnect();U5("%cAnalysers disconnected!",C1.recognized)}function _y(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),h=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${h}), rgba(0, 0, 0, ${h})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function xy(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function WC(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function Dp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var du=.02;function Ly(n){function i(X){return X.messageData=new K5(X.messageData.buffer),X.messageData.currentIndex=0,6e7/WC(X.messageData,3)}let A=[],h=n.tracks.flat();h.sort((X,U0)=>X.ticks-U0.ticks);for(let X=0;X<16;X++)A.push({renderStartIndex:0,notes:[]});let p=0,U=60/(120*n.timeDivision),j=0,O=0;for(;j>4,_=X.messageStatusByte&15;if(U0===8){let P=A[_].notes.findLast(i0=>i0.midiNote===X.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0i0.midiNote===X.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0=h.length)break;p+=U*(h[j].ticks-X.ticks)}O>0&&A.forEach((X,U0)=>X.notes.filter(_=>_.length===-1).forEach(_=>{let P=p-_.start;_.length=Pi.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*LE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*LE*xE)),A.addColorStop(1,S$(i,c=>c*xE)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*LE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*LE*xE)),A.addColorStop(1,S$(i,c=>c*xE)),A})}};T7.prototype.render=Ey;T7.prototype.computeNotePositions=Cy;T7.prototype.createChannelAnalysers=ky;T7.prototype.updateFftSize=Sy;T7.prototype.connectChannelAnalysers=by;T7.prototype.disconnectChannelAnalysers=Dy;T7.prototype.connectSequencer=_y;T7.prototype.calculateNoteTimes=Ly;T7.prototype.resetIndexes=xy;T7.prototype.renderWaveforms=wy;function s3(n,i){let A=0;for(let c=0;c>>0}function Ii(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function m9(n,i){Ii(n,i,4)}function Ua(n,i){let A=i<<8|n;return A>32767?A-65536:A}function My(n){return n>127?n-256:n}function Q4(n,i,A=void 0,c=!0){if(A){let h=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(h.buffer)}else{let h=!1,p="";for(let U=0;U127)&&j!==10){if(c){h=!0;continue}else if(j===0){h=!0;continue}}p+=String.fromCharCode(j)}}return p}}function fu(n,i=0){let A=n.length;i>0&&(A=i);let c=new K5(A);return U8(c,n,i),c}function Fn(n){return fu(n,n.length+1)}function U8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,Q4(A.chunkData,4)===i))}function ME(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function RE(n){let i=[];for(let h of n.tracks){let p=[],U=0,j;for(let O of h){let X=O.ticks-U,U0;O.messageStatusByte<=Z3.keySignature||O.messageStatusByte===Z3.sequenceSpecific?U0=[255,O.messageStatusByte,...ME(O.messageData.length),...O.messageData]:O.messageStatusByte===Z3.systemExclusive?U0=[240,...ME(O.messageData.length),...O.messageData]:(U0=[],j!==O.messageStatusByte&&(j=O.messageStatusByte,U0.push(O.messageStatusByte)),U0.push(...O.messageData)),p.push(...ME(X)),p.push(...U0),U+=X}i.push(new Uint8Array(p))}function A(h,p){for(let U=0;U{n.tracks.forEach((n1,S1)=>{if(n.midiPorts[S1]===i0)for(let f1=n1.length-1;f1>=0;f1--)n1[f1].messageStatusByte>=128&&n1[f1].messageStatusByte<240&&(n1[f1].messageStatusByte&15)===P&&n1.splice(f1,1)})};c.forEach(P=>{let i0=P%16,n1=P-i0,S1=n.midiPortChannelOffsets.findIndex(f1=>f1===n1);p(i0,S1),U5(`%cRemoving channel %c${P}%c!`,C1.info,C1.recognized,C1.info)});let U=!1,j="gs",O=[],X=[];n.tracks.forEach((P,i0)=>{P.forEach(n1=>{let S1=n1.messageStatusByte&240;S1===Z3.controllerChange?O.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):S1===Z3.programChange?X.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):n1.messageStatusByte===Z3.systemExclusive&&(n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[5]===126&&n1.messageData[6]===0?(U5("%cXG system on detected",C1.info),j="xg",U=!0):n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[3]===8&&n1.messageData[5]===3&&X.push({track:i0,message:n1,channel:n1.messageData[4]}))})});let U0=(P,i0,n1)=>n.tracks.reduce((S1,f1,g2)=>{if(n.usedChannelsOnTrack[g2].has(P)&&n.midiPorts[g2]===i0){let n2;n1?n2=f1.findIndex(f2=>(f2.messageStatusByte&240)===Z3.noteOn):n2=f1.findIndex(f2=>f2.messageStatusByte>128&&f2.messageStatusByte<240&&(f2.messageStatusByte&15)===P&&!(f2.messageStatusByte&Z3.controllerChange===240&&(f2.messageData[0]===$3.resetAllControllers||f2.messageData[0]===$3.allNotesOff||f2.messageData[0]===$3.allSoundOff))),n2!==-1&&S1.push({index:n2,track:g2})}return S1},[]),_=(P,i0,n1)=>{let S1=O.filter(f1=>f1.channel===P&&f1.message.messageData[0]===n1&&n.midiPorts[f1.track]===i0);for(let f1=0;f1{let i0=P.channel,n1=i0%16,S1=i0-n1,f1=n.midiPortChannelOffsets.findIndex(A0=>A0===S1),g2=P.controllerValue,n2=P.controllerNumber;_(n1,f1,n2),U5(`%cNo controller %c${n2}%c on channel %c${i0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let f2=U0(n1,f1,!0);if(f2.length===0){T9("Program change but no notes... ignoring!");return}let a5=f2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let i0=P.channel%16,n1=P.channel-i0,S1=n.midiPortChannelOffsets.findIndex(v3=>v3===n1),f1=P.isDrum?0:P.bank,g2=P.program,n2=X.filter(v3=>n.midiPorts[v3.track]===S1&&v3.channel===i0);if(_(i0,S1,$3.bankSelect),_(i0,S1,$3.lsbForControl0BankSelect),(P.isDrum||f1>0)&&!U&&(n.tracks.forEach(v3=>{for(let g6=0;g60);if(f2.length===0){T9("Program change but no notes... ignoring!");return}let a5=f2.reduce((v3,g6)=>n.tracks[g6.track][g6.index].ticks{if(n.midiPorts[n2]!==n1||!n.usedChannelsOnTrack[n2].has(i0))return;let f2=Z3.noteOn|i0,a5=Z3.noteOff|i0,T2=Z3.polyPressure|i0;g2.forEach(A0=>{A0.messageStatusByte!==f2&&A0.messageStatusByte!==a5&&A0.messageStatusByte!==T2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+S1)))})}),f1!==0){let g2=n.tracks.find((k3,c9)=>n.usedChannelsOnTrack[c9].has(P.channel));if(g2===void 0){T9(`Channel ${P.channel} unused but transpose requested???`);continue}let n2=Z3.noteOn|P.channel%16,f2=g2.findIndex(k3=>k3.messageStatusByte===n2);if(f2===-1){T9(`No notes on channel ${P.channel} but transpose requested???`);continue}let a5=g2[f2].ticks,T2=f1*64+64,A0=Z3.controllerChange|P.channel%16,C5=new w7(a5,A0,new K5([$3.RPNMsb,0])),y3=new w7(a5,A0,new K5([$3.RPNLsb,1])),v3=new w7(a5,A0,new K5([$3.dataEntryMsb,T2])),g6=new w7(a5,A0,new K5([$3.lsbForControl6DataEntry,0]));g2.splice(f2,0,g6),g2.splice(f2,0,v3),g2.splice(f2,0,y3),g2.splice(f2,0,C5)}}u9()}function Pa(n,i){let A=[],c=[],h=[],p=[];i.channelSnapshots.forEach((U,j)=>{if(U.isMuted){c.push(j);return}let O=U.channelTransposeKeyShift+U.customControllers[kE.channelTransposeFine]/100;O!==0&&A.push({channel:j,keyShift:O}),U.lockPreset&&h.push({channel:j,program:U.program,bank:U.bank,isDrum:U.drumChannel}),U.lockedControllers.forEach((X,U0)=>{if(!X||U0>127||U0===$3.bankSelect)return;let _=U.midiControllers[U0]>>7;p.push({channel:j,controllerNumber:U0,controllerValue:_})})}),GD(n,h,p,c,A)}var P8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",UD="Created using SpessaSynth";function FE(n,i,A,c=0,h="Shift_JIS",p={},U=!0){if(R7("%cWriting the RMIDI File...",C1.info),U5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${h}`,C1.info,C1.value,C1.info,C1.value),U5("metadata",p),U5("Initial bank offset",i.bankOffset),U){let g2=function(){let T2=0,A0=1/0;return i.tracks.forEach((C5,y3)=>{S1[y3]>=C5.length||C5[S1[y3]].ticksA0>T2?A0:T2),a5=[];for(let T2=0;T20;){let T2=g2(),A0=i.tracks[T2];if(S1[T2]>=A0.length){f1--;continue}let C5=A0[S1[T2]];S1[T2]++;let y3=i.midiPortChannelOffsets[n2[T2]];if(C5.messageStatusByte===Z3.midiPort){n2[T2]=C5.messageData[0];continue}let v3=C5.messageStatusByte&240;if(v3!==Z3.controllerChange&&v3!==Z3.programChange&&v3!==Z3.systemExclusive)continue;if(v3===Z3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?i0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?i0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(i0="gm",n1.push({tNum:T2,e:C5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+y3;a5[c9].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let g6=(C5.messageStatusByte&15)+y3,k3=a5[g6];if(v3===Z3.programChange){k3.drums?A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank===128)?.program||0):A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank!==128)?.program||0),k3.program=C5.messageData[0];let c9=Math.max(0,k3.lastBank?.messageData[1]-i.bankOffset),N9=k3.drums?128:c9;if(k3.lastBank===void 0)continue;if(i0==="xg"&&k3.drums&&(a5[g6].lastBank.messageData[1]=127),A.presets.findIndex(p3=>p3.bank===N9&&p3.program===C5.messageData[0])===-1){let p3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;k3.lastBank.messageData[1]=p3,U5(`%cNo preset %c${N9}:${C5.messageData[0]}%c. Changing bank to ${p3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(N9===128?i0==="xg"?127:0:c9)+c;k3.lastBank.messageData[1]=w6,U5(`%cPreset %c${N9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(k3.hasBankSelect=!0,i0==="xg"&&(k3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),k3.lastBank=C5)}if(a5.forEach((T2,A0)=>{if(T2.hasBankSelect===!0)return;let C5=A0%16,y3=Z3.programChange|C5,v3=Math.floor(A0/16)*16,g6=i.midiPortChannelOffsets.indexOf(v3),k3=i.tracks.find((w6,L4)=>i.midiPorts[L4]===g6&&i.usedChannelsOnTrack[L4].has(C5));if(k3===void 0)return;let c9=k3.findIndex(w6=>w6.messageStatusByte===y3);if(c9===-1){let w6=k3.findIndex(O8=>O8.messageStatusByte>128&&O8.messageStatusByte<240&&(O8.messageStatusByte&15)===C5);if(w6===-1)return;let L4=k3[w6].ticks,G7=A.getPreset(0,0).program;k3.splice(w6,0,new w7(L4,Z3.programChange|C5,new K5([G7]))),c9=w6}U5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let N9=k3[c9].ticks,p3=A.getPreset(0,T2.program)?.bank+c||c;k3.splice(c9,0,new w7(N9,Z3.controllerChange|C5,new K5([$3.bankSelect,p3])))}),i0!=="gs"&&i0!=="xg"){for(let A0 of n1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let T2=0;i.tracks[0][0].messageStatusByte===Z3.trackName&&T2++,i.tracks[0].splice(T2,0,jC(0))}}let j=new K5(RE(i).buffer),O=[fu("INFO")],X=new TextEncoder;if(O.push(k6(P8.software,X.encode("SpessaSynth"),!0)),p.name!==void 0?(O.push(k6(P8.name,X.encode(p.name),!0)),h=Oa):O.push(k6(P8.name,i.rawMidiName,!0)),p.creationDate!==void 0)h=Oa,O.push(k6(P8.creationDate,X.encode(p.creationDate),!0));else{let i0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});O.push(k6(P8.creationDate,Fn(i0),!0))}if(p.comment!==void 0&&(h=Oa,O.push(k6(P8.comment,X.encode(p.comment)))),p.engineer!==void 0&&O.push(k6(P8.engineer,X.encode(p.engineer),!0)),p.album!==void 0&&(h=Oa,O.push(k6(P8.album,X.encode(p.album),!0))),p.artist!==void 0&&(h=Oa,O.push(k6(P8.artist,X.encode(p.artist),!0))),p.genre!==void 0&&(h=Oa,O.push(k6(P8.genre,X.encode(p.genre),!0))),p.picture!==void 0&&O.push(k6(P8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)h=Oa,O.push(k6(P8.copyright,X.encode(p.copyright),!0));else{let i0=i.copyright.length>0?i.copyright:UD;O.push(k6(P8.copyright,Fn(i0)))}let U0=new K5(2);Ii(U0,c,2),O.push(k6(P8.bankOffset,U0)),p.midiEncoding!==void 0&&(O.push(k6(P8.midiEncoding,X.encode(p.midiEncoding))),h=Oa),O.push(k6(P8.encoding,Fn(h)));let _=St(O),P=St([fu("RMID"),k6("data",j),k6("LIST",_),n]);return U5("%cFinished!",C1.info),u9(),k6("RIFF",P)}function _p(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case qa.songChange:let h=A[0];this.songIndex=A[1],this.midiData=h,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(j=>j[1](h)),A[2]===!0&&this.unpause();break;case qa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case qa.timeChange:let U=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(j=>j[1](U)),this._recalculateStartTime(U),this.paused&&this._preservePlaybackState?this.pausedTime=U:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(j=>j[1]());break;case qa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(A)}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=Ry,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){T9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var xp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Fy(n){return` +`}},JC=960,KC=j7.concave;function zr(n,i,A,c,h){return n<<10|i<<9|A<<8|c<<7|h}var bE=[new l9({srcEnum:zr(KC,0,1,0,q4.noteOnVelocity),dest:I0.initialAttenuation,amt:JC,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:zr(KC,0,1,1,$3.mainVolume),dest:I0.initialAttenuation,amt:JC,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:I0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:I0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:zr(KC,0,1,1,$3.expressionController),dest:I0.initialAttenuation,amt:JC,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:zr(j7.linear,0,0,0,q4.polyPressure),dest:I0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:zr(j7.linear,0,0,1,$3.tremoloDepth),dest:I0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:zr(j7.linear,1,0,1,$3.releaseTime),dest:I0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:zr(j7.linear,1,0,1,$3.brightness),dest:I0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:zr(j7.linear,1,0,1,$3.timbreHarmonicContent),dest:I0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var k$=128,dy=147,bD=new Int16Array(dy).fill(0),A7=(n,i)=>bD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(k$+q4.pitchWheel,64);A7(k$+q4.pitchWheelRange,2);var DE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},fy=Object.keys(DE).length,DD=new Float32Array(fy);DD[DE.modulationMultiplier]=1;var Iy={velocityOverride:128};var _E=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},xE={addMapping:0,deleteMapping:1,clearMappings:2};var LE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let h=c?.velocity??-1,p=c?.patch?.program??-1,T=c?.patch?.bank??-1,H=new _E(h,T,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=H,this._sendToWorklet(xE.addMapping,[i,A,H])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(xE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(xE.clearMappings,void 0),this._keyModifiers=[]}};var _D="spessasynth-worklet-system",WC=350,F7=9,xD=16;var hu=class{constructor(i,A,c=!0,h=void 0,p=hy){U5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let T=h?.oneOutput===!0;this.eventHandler=new vE,this._voiceCap=WC,this._destroyed=!1,this._outputsAmount=xD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(X=>this.resolveWhenReady=X),this.channelProperties=[];for(let X=0;Xthis.handleMessage(X.data),this.soundfontManager=new SE(this),this.keyModifierManager=new LE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!T&&(this.reverbProcessor=ly(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!T&&(this.chorusProcessor=new kp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),T)this.worklet.connect(i,0);else for(let X=2;X{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(Sp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,h){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,h]})}_setMasterParam(i,A){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(Sp.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case v$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,h)=>c+h.voicesAmount,0);break;case v$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case v$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case v$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case v$.ready:this.resolveWhenReady();break;case v$.soundfontError:T9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,h]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(Sp.mainVolume,i)}setMasterPan(i){this._setMasterParam(Sp.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[Iy.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){T9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:B4.setDrums,messageData:A})}sendMessage(i,A=0){let c=$y(i[0]);switch(c.channel+=A,c.status){case v3.noteOn:let h=i[2];h>0?this.noteOn(c.channel,i[1],h):this.noteOff(c.channel,i[1]);break;case v3.noteOff:this.noteOff(c.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case v3.programChange:this.programChange(c.channel,i[1]);break;case v3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(c.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new K5(i.slice(1)));break;case v3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new kp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:B4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,h)=>{let p;if(mr)p=127;else{let H=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let O=h.clientX-H.left,X=H.width;p=Math.floor((X-O)/X*127)}else{let O=h.clientY-H.top,X=H.height;p=Math.floor(O/X*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let h=c.touches?Array.from(c.touches):[c],p=new Set;h.forEach(T=>{let H=document.elementFromPoint(T.clientX,T.clientY),O=parseInt(H.id.replace("note",""));p.add(O),!(isNaN(O)||O<0||this.pressedKeys.has(O))&&(this.pressedKeys.add(O),i(O,T))}),this.pressedKeys.forEach(T=>{p.has(T)||n(T)})};mr||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var py=20,Dp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let h=0;h<128;h++)this.releaseNote(h,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(T=A(i+1)),T&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):T&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let h=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,T;for(let H of p)if(H.selectorText==="#keyboard .key"){T=H;break}if(T.style.setProperty("--pressed-transform-skew",`${8e-4/(h/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let H=getComputedStyle(this.keyboard),O=parseFloat(H.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),X=this.keyboard.getBoundingClientRect().height,U0=h/O,_=X*U0-X,P=(this._keyRange.min+this._keyRange.max)/2,i0=(i.min+i.max)/2;this._keyRange=i;let n1=this.keys.find(g2=>g2.classList.contains("sharp_key")).getBoundingClientRect().width,S1=(P-i0)*n1,f1=parseFloat(H.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${U0}) translateX(${S1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${f1/U0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${h}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${h}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let h=this.keys[i-this._keyRange.min];if(h===void 0)return;h.classList.add("pressed");let p=h.classList.contains("sharp_key"),T=c/127,H=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),O;if(!p&&this.mode==="light"?O=`rgba(${H.slice(0,3).map(U0=>255-(255-U0)*T).join(", ")}, ${H[3]})`:O=`rgba(${H.slice(0,3).map(U0=>U0*T).join(", ")}, ${H[3]})`,h.style.background=O,this.mode==="dark"){let X=py*T;h.style.boxShadow=`${O} 0px 0px ${X}px ${X/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let h=this.keyColors[i-this._keyRange.min];if(!h)return;let p=h.findLastIndex(T=>T===this.channelColors[A]);p!==-1&&(h.splice(p,1),c.style.background=h[h.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${py}px ${h[h.length-1]}`),h.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Dp.prototype._handlePointers=my;function S$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var MD="#000";function Ey(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let h=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*h,A){i.fillRect(c.xPos,c.yPos-c.height*h,c.width,c.height*(h*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*h,c.yPos,c.width*(h*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=MD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var ZC=!1;function Cy(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(ZC){n&&requestAnimationFrame(this.render.bind(this));return}else ZC=!0;else ZC=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||Ey(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let h=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${ME}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,ME*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(h).toString()+" FPS",this.canvas.width,ME+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function By(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,h=i/(c+1),p=h-D$*2,T=this.noteFallingTimeMs/1e3,H=this.noteAfterTriggerTimeMs/1e3,O=this.seq.currentHighResolutionTime-this.timeOffset,X=O-H,U0=T+H,_=X+U0,P=yy/U0,i0=[];this.synth.channelProperties.forEach(S1=>{if(this.showVisualPitch){let f1=S1.pitchBend-8192+this.visualPitchBendOffset;i0.push(S1.pitchBendRangeSemitones*(f1/8192*h))}else i0.push(0)});let n1=[];return this.noteTimes.forEach((S1,f1)=>{if(S1.renderStartIndex>=S1.notes.length||!this.renderChannels[f1])return;let g2=S1.renderStartIndex,n2=S1.notes,f2=n2[g2],a5=-1;for(;f2.start<=_&&(g2++,!(this.notesOnScreen>wy));){let T2=f2.start+f2.length;if(T2>X&&f2.length>0){let A0=f2.length/U0*A-D$*2;if(this.notesOnScreen<1e3||A0>P){a5===-1&&(a5=g2-1);let C5=(f2.start-X)/U0*A,y3;if(this._notesFall?y3=A-A0-C5+D$:y3=C5+D$,f2.midiNotethis.keyRange.max){if(g2>=n2.length)break;f2=n2[g2];continue}let k3=f2.midiNote-this.keyRange.min,g6=h*k3+D$,S3,c9,N9,p3;if(this.sideways?(S3=y3,c9=g6,p3=p,N9=A0):(c9=y3,S3=g6,N9=p,p3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[f1],this.drawingContext.fillRect(S3+b$+D$,c9+b$,N9-b$*2,p3-b$*2);else{let w6;if(f2.start>O||T2=n2.length)break;f2=n2[g2]}a5>-1&&(S1.renderStartIndex=a5)}),n1.sort((S1,f1)=>f1.height-S1.height),n1}function vy(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let h=c%4,p=Math.floor(c/4),T=!1;for(let _=c;_0){T=!0;break}if(!T){let _=this.canvas.width/4,P=this.canvas.height/4,i0=_*h,n1=P*p+P/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(i0,n1),this.drawingContext.lineTo(i0+_,n1),this.drawingContext.stroke();return}let H=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(H);let O=n*h,X=i*p+i/2,U0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=H.length/4,P=n/_,i0=Math.floor(_/2),n1=H.length-i0;for(let n2=n1;n2>=1;n2--)if(H[n2-1]<0&&H[n2]>=0){n1=n2;break}let S1=O,f1=n1-i0,g2=n1+i0;for(let n2=f1;n2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function by(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function _y(){for(let n of this.channelAnalysers)n.disconnect();U5("%cAnalysers disconnected!",C1.recognized)}function xy(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),h=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${h}), rgba(0, 0, 0, ${h})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function Ly(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function _p(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function xp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var du=.02;function My(n){function i(X){return X.messageData=new K5(X.messageData.buffer),X.messageData.currentIndex=0,6e7/_p(X.messageData,3)}let A=[],h=n.tracks.flat();h.sort((X,U0)=>X.ticks-U0.ticks);for(let X=0;X<16;X++)A.push({renderStartIndex:0,notes:[]});let p=0,T=60/(120*n.timeDivision),H=0,O=0;for(;H>4,_=X.messageStatusByte&15;if(U0===8){let P=A[_].notes.findLast(i0=>i0.midiNote===X.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0i0.midiNote===X.messageData[0]&&i0.length===-1);if(P){let i0=p-P.start;P.length=i0=h.length)break;p+=T*(h[H].ticks-X.ticks)}O>0&&A.forEach((X,U0)=>X.notes.filter(_=>_.length===-1).forEach(_=>{let P=p-_.start;_.length=Pi.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*FE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*FE*RE)),A.addColorStop(1,S$(i,c=>c*RE)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*FE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*FE*RE)),A.addColorStop(1,S$(i,c=>c*RE)),A})}};T7.prototype.render=Cy;T7.prototype.computeNotePositions=By;T7.prototype.createChannelAnalysers=Sy;T7.prototype.updateFftSize=by;T7.prototype.connectChannelAnalysers=Dy;T7.prototype.disconnectChannelAnalysers=_y;T7.prototype.connectSequencer=xy;T7.prototype.calculateNoteTimes=My;T7.prototype.resetIndexes=Ly;T7.prototype.renderWaveforms=vy;function s3(n,i){let A=0;for(let c=0;c>>0}function Ii(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function m9(n,i){Ii(n,i,4)}function Ua(n,i){let A=i<<8|n;return A>32767?A-65536:A}function Ry(n){return n>127?n-256:n}function Q4(n,i,A=void 0,c=!0){if(A){let h=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(h.buffer)}else{let h=!1,p="";for(let T=0;T127)&&H!==10){if(c){h=!0;continue}else if(H===0){h=!0;continue}}p+=String.fromCharCode(H)}}return p}}function fu(n,i=0){let A=n.length;i>0&&(A=i);let c=new K5(A);return U8(c,n,i),c}function Fn(n){return fu(n,n.length+1)}function U8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,Q4(A.chunkData,4)===i))}function TE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function NE(n){let i=[];for(let h of n.tracks){let p=[],T=0,H;for(let O of h){let X=O.ticks-T,U0;O.messageStatusByte<=v3.keySignature||O.messageStatusByte===v3.sequenceSpecific?U0=[255,O.messageStatusByte,...TE(O.messageData.length),...O.messageData]:O.messageStatusByte===v3.systemExclusive?U0=[240,...TE(O.messageData.length),...O.messageData]:(U0=[],H!==O.messageStatusByte&&(H=O.messageStatusByte,U0.push(O.messageStatusByte)),U0.push(...O.messageData)),p.push(...TE(X)),p.push(...U0),T+=X}i.push(new Uint8Array(p))}function A(h,p){for(let T=0;T{n.tracks.forEach((n1,S1)=>{if(n.midiPorts[S1]===i0)for(let f1=n1.length-1;f1>=0;f1--)n1[f1].messageStatusByte>=128&&n1[f1].messageStatusByte<240&&(n1[f1].messageStatusByte&15)===P&&n1.splice(f1,1)})};c.forEach(P=>{let i0=P%16,n1=P-i0,S1=n.midiPortChannelOffsets.findIndex(f1=>f1===n1);p(i0,S1),U5(`%cRemoving channel %c${P}%c!`,C1.info,C1.recognized,C1.info)});let T=!1,H="gs",O=[],X=[];n.tracks.forEach((P,i0)=>{P.forEach(n1=>{let S1=n1.messageStatusByte&240;S1===v3.controllerChange?O.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):S1===v3.programChange?X.push({track:i0,message:n1,channel:n1.messageStatusByte&15}):n1.messageStatusByte===v3.systemExclusive&&(n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[5]===126&&n1.messageData[6]===0?(U5("%cXG system on detected",C1.info),H="xg",T=!0):n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[3]===8&&n1.messageData[5]===3&&X.push({track:i0,message:n1,channel:n1.messageData[4]}))})});let U0=(P,i0,n1)=>n.tracks.reduce((S1,f1,g2)=>{if(n.usedChannelsOnTrack[g2].has(P)&&n.midiPorts[g2]===i0){let n2;n1?n2=f1.findIndex(f2=>(f2.messageStatusByte&240)===v3.noteOn):n2=f1.findIndex(f2=>f2.messageStatusByte>128&&f2.messageStatusByte<240&&(f2.messageStatusByte&15)===P&&!(f2.messageStatusByte&v3.controllerChange===240&&(f2.messageData[0]===$3.resetAllControllers||f2.messageData[0]===$3.allNotesOff||f2.messageData[0]===$3.allSoundOff))),n2!==-1&&S1.push({index:n2,track:g2})}return S1},[]),_=(P,i0,n1)=>{let S1=O.filter(f1=>f1.channel===P&&f1.message.messageData[0]===n1&&n.midiPorts[f1.track]===i0);for(let f1=0;f1{let i0=P.channel,n1=i0%16,S1=i0-n1,f1=n.midiPortChannelOffsets.findIndex(A0=>A0===S1),g2=P.controllerValue,n2=P.controllerNumber;_(n1,f1,n2),U5(`%cNo controller %c${n2}%c on channel %c${i0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let f2=U0(n1,f1,!0);if(f2.length===0){T9("Program change but no notes... ignoring!");return}let a5=f2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let i0=P.channel%16,n1=P.channel-i0,S1=n.midiPortChannelOffsets.findIndex(k3=>k3===n1),f1=P.isDrum?0:P.bank,g2=P.program,n2=X.filter(k3=>n.midiPorts[k3.track]===S1&&k3.channel===i0);if(_(i0,S1,$3.bankSelect),_(i0,S1,$3.lsbForControl0BankSelect),(P.isDrum||f1>0)&&!T&&(n.tracks.forEach(k3=>{for(let g6=0;g60);if(f2.length===0){T9("Program change but no notes... ignoring!");return}let a5=f2.reduce((k3,g6)=>n.tracks[g6.track][g6.index].ticks{if(n.midiPorts[n2]!==n1||!n.usedChannelsOnTrack[n2].has(i0))return;let f2=v3.noteOn|i0,a5=v3.noteOff|i0,T2=v3.polyPressure|i0;g2.forEach(A0=>{A0.messageStatusByte!==f2&&A0.messageStatusByte!==a5&&A0.messageStatusByte!==T2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+S1)))})}),f1!==0){let g2=n.tracks.find((S3,c9)=>n.usedChannelsOnTrack[c9].has(P.channel));if(g2===void 0){T9(`Channel ${P.channel} unused but transpose requested???`);continue}let n2=v3.noteOn|P.channel%16,f2=g2.findIndex(S3=>S3.messageStatusByte===n2);if(f2===-1){T9(`No notes on channel ${P.channel} but transpose requested???`);continue}let a5=g2[f2].ticks,T2=f1*64+64,A0=v3.controllerChange|P.channel%16,C5=new w7(a5,A0,new K5([$3.RPNMsb,0])),y3=new w7(a5,A0,new K5([$3.RPNLsb,1])),k3=new w7(a5,A0,new K5([$3.dataEntryMsb,T2])),g6=new w7(a5,A0,new K5([$3.lsbForControl6DataEntry,0]));g2.splice(f2,0,g6),g2.splice(f2,0,k3),g2.splice(f2,0,y3),g2.splice(f2,0,C5)}}u9()}function Pa(n,i){let A=[],c=[],h=[],p=[];i.channelSnapshots.forEach((T,H)=>{if(T.isMuted){c.push(H);return}let O=T.channelTransposeKeyShift+T.customControllers[DE.channelTransposeFine]/100;O!==0&&A.push({channel:H,keyShift:O}),T.lockPreset&&h.push({channel:H,program:T.program,bank:T.bank,isDrum:T.drumChannel}),T.lockedControllers.forEach((X,U0)=>{if(!X||U0>127||U0===$3.bankSelect)return;let _=T.midiControllers[U0]>>7;p.push({channel:H,controllerNumber:U0,controllerValue:_})})}),UD(n,h,p,c,A)}var P8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",PD="Created using SpessaSynth";function GE(n,i,A,c=0,h="Shift_JIS",p={},T=!0){if(R7("%cWriting the RMIDI File...",C1.info),U5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${h}`,C1.info,C1.value,C1.info,C1.value),U5("metadata",p),U5("Initial bank offset",i.bankOffset),T){let g2=function(){let T2=0,A0=1/0;return i.tracks.forEach((C5,y3)=>{S1[y3]>=C5.length||C5[S1[y3]].ticksA0>T2?A0:T2),a5=[];for(let T2=0;T20;){let T2=g2(),A0=i.tracks[T2];if(S1[T2]>=A0.length){f1--;continue}let C5=A0[S1[T2]];S1[T2]++;let y3=i.midiPortChannelOffsets[n2[T2]];if(C5.messageStatusByte===v3.midiPort){n2[T2]=C5.messageData[0];continue}let k3=C5.messageStatusByte&240;if(k3!==v3.controllerChange&&k3!==v3.programChange&&k3!==v3.systemExclusive)continue;if(k3===v3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?i0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?i0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(i0="gm",n1.push({tNum:T2,e:C5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+y3;a5[c9].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let g6=(C5.messageStatusByte&15)+y3,S3=a5[g6];if(k3===v3.programChange){S3.drums?A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank===128)?.program||0):A.presets.findIndex(p3=>p3.program===C5.messageData[0]&&p3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(p3=>p3.bank!==128)?.program||0),S3.program=C5.messageData[0];let c9=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),N9=S3.drums?128:c9;if(S3.lastBank===void 0)continue;if(i0==="xg"&&S3.drums&&(a5[g6].lastBank.messageData[1]=127),A.presets.findIndex(p3=>p3.bank===N9&&p3.program===C5.messageData[0])===-1){let p3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;S3.lastBank.messageData[1]=p3,U5(`%cNo preset %c${N9}:${C5.messageData[0]}%c. Changing bank to ${p3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(N9===128?i0==="xg"?127:0:c9)+c;S3.lastBank.messageData[1]=w6,U5(`%cPreset %c${N9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(S3.hasBankSelect=!0,i0==="xg"&&(S3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),S3.lastBank=C5)}if(a5.forEach((T2,A0)=>{if(T2.hasBankSelect===!0)return;let C5=A0%16,y3=v3.programChange|C5,k3=Math.floor(A0/16)*16,g6=i.midiPortChannelOffsets.indexOf(k3),S3=i.tracks.find((w6,L4)=>i.midiPorts[L4]===g6&&i.usedChannelsOnTrack[L4].has(C5));if(S3===void 0)return;let c9=S3.findIndex(w6=>w6.messageStatusByte===y3);if(c9===-1){let w6=S3.findIndex(O8=>O8.messageStatusByte>128&&O8.messageStatusByte<240&&(O8.messageStatusByte&15)===C5);if(w6===-1)return;let L4=S3[w6].ticks,G7=A.getPreset(0,0).program;S3.splice(w6,0,new w7(L4,v3.programChange|C5,new K5([G7]))),c9=w6}U5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let N9=S3[c9].ticks,p3=A.getPreset(0,T2.program)?.bank+c||c;S3.splice(c9,0,new w7(N9,v3.controllerChange|C5,new K5([$3.bankSelect,p3])))}),i0!=="gs"&&i0!=="xg"){for(let A0 of n1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let T2=0;i.tracks[0][0].messageStatusByte===v3.trackName&&T2++,i.tracks[0].splice(T2,0,XC(0))}}let H=new K5(NE(i).buffer),O=[fu("INFO")],X=new TextEncoder;if(O.push(k6(P8.software,X.encode("SpessaSynth"),!0)),p.name!==void 0?(O.push(k6(P8.name,X.encode(p.name),!0)),h=Oa):O.push(k6(P8.name,i.rawMidiName,!0)),p.creationDate!==void 0)h=Oa,O.push(k6(P8.creationDate,X.encode(p.creationDate),!0));else{let i0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});O.push(k6(P8.creationDate,Fn(i0),!0))}if(p.comment!==void 0&&(h=Oa,O.push(k6(P8.comment,X.encode(p.comment)))),p.engineer!==void 0&&O.push(k6(P8.engineer,X.encode(p.engineer),!0)),p.album!==void 0&&(h=Oa,O.push(k6(P8.album,X.encode(p.album),!0))),p.artist!==void 0&&(h=Oa,O.push(k6(P8.artist,X.encode(p.artist),!0))),p.genre!==void 0&&(h=Oa,O.push(k6(P8.genre,X.encode(p.genre),!0))),p.picture!==void 0&&O.push(k6(P8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)h=Oa,O.push(k6(P8.copyright,X.encode(p.copyright),!0));else{let i0=i.copyright.length>0?i.copyright:PD;O.push(k6(P8.copyright,Fn(i0)))}let U0=new K5(2);Ii(U0,c,2),O.push(k6(P8.bankOffset,U0)),p.midiEncoding!==void 0&&(O.push(k6(P8.midiEncoding,X.encode(p.midiEncoding))),h=Oa),O.push(k6(P8.encoding,Fn(h)));let _=St(O),P=St([fu("RMID"),k6("data",H),k6("LIST",_),n]);return U5("%cFinished!",C1.info),u9(),k6("RIFF",P)}var Lp=class n{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];firstNoteOn=0;keyRange={min:0,max:127};lastVoiceEventTick=0;midiPorts=[0];midiPortChannelOffsets=[0];usedChannelsOnTrack=[];loop={start:0,end:0};midiName="";midiNameUsesFileName=!1;fileName="";rawMidiName=void 0;embeddedSoundFont=void 0;format=0;RMIDInfo={};bankOffset=0;tracks=[];static copyFrom(i){let A=new n;return A.midiName=i.midiName,A.midiNameUsesFileName=i.midiNameUsesFileName,A.fileName=i.fileName,A.timeDivision=i.timeDivision,A.duration=i.duration,A.copyright=i.copyright,A.tracksAmount=i.tracksAmount,A.firstNoteOn=i.firstNoteOn,A.keyRange={...i.keyRange},A.lastVoiceEventTick=i.lastVoiceEventTick,A.loop={...i.loop},A.format=i.format,A.bankOffset=i.bankOffset,A.tempoChanges=[...i.tempoChanges],A.lyrics=i.lyrics.map(c=>new Uint8Array(c)),A.midiPorts=[...i.midiPorts],A.midiPortChannelOffsets=[...i.midiPortChannelOffsets],A.usedChannelsOnTrack=i.usedChannelsOnTrack.map(c=>new Set(c)),A.rawMidiName=i.rawMidiName?new Uint8Array(i.rawMidiName):void 0,A.embeddedSoundFont=i.embeddedSoundFont?i.embeddedSoundFont.slice():void 0,A.RMIDInfo={...i.RMIDInfo},A.tracks=i.tracks.map(c=>[...c]),A}flush(){let i=[];for(let h of this.tracks){h.sort((T,H)=>T.ticks-H.ticks);let p=h.find(T=>(T.messageStatusByte&240)===v3.noteOn);p&&i.push(p.ticks)}this.firstNoteOn=Math.min(...i),this.lastVoiceEventTick=0,this.tempoChanges=[{ticks:0,tempo:120}],this.midiPorts=[],this.midiPortChannelOffsets=[];let A=0;this.usedChannelsOnTrack=this.tracks.map(()=>new Set),this.tracks.forEach((h,p)=>{this.midiPorts.push(-1),h.forEach(T=>{if(T.messageStatusByte>=128&&T.messageStatusByte<240&&T.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=T.ticks),T.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:T.ticks,tempo:6e7/_p(T.messageData,3)});else if((T.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[p].add(T.messageData[0]);else if(T.messageStatusByte===v3.midiPort){let H=T.messageData[0];this.midiPorts[p]=H,this.midiPortChannelOffsets[H]===void 0&&(this.midiPortChannelOffsets[H]=A,A+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Iu(this.lastVoiceEventTick,this);let c=0;for(let h of this.midiPorts)if(h!==-1){c=h;break}this.midiPorts=this.midiPorts.map(h=>h===-1?c:h),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Iu(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case qa.songChange:let h=A[0];this.songIndex=A[1],this.midiData=h,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(H=>H[1](h)),A[2]===!0&&this.unpause();break;case qa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case qa.timeChange:let T=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(H=>H[1](T)),this._recalculateStartTime(T),this.paused&&this._preservePlaybackState?this.pausedTime=T:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(H=>H[1]());break;case qa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(Lp.copyFrom(A))}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=Fy,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){T9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var Mp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Ty(n){return` `}function _$(n){return` - `}function Ty(n){return` + `}function Ny(n){return` -`}function Ny(n){return` +`}function Gy(n){return` -`}function Gy(n){return` +`}function Uy(n){return` -`}function Uy(n){return` +`}function Py(n){return` -`}function Lp(n){return` +`}function Rp(n){return` -`}function Iu(n){return` +`}function mu(n){return` -`}function Py(n){return` +`}function Oy(n){return` -`}function Oy(n){return` +`}function qy(n){return` -`}function NE(n){return` +`}function PE(n){return` ( V231.7z M468.7,231.7v140.5c0,8.4-3.4,16.7-12.7,26.6c-9.2,9.9-24,20.5-43.3,29.3c-8.9,4.1-18.6,8-29.3,11.3V271 C418,261.4,447.1,248,468.7,231.7z M170.4,280.3c26.5,4.4,55,6.7,85.2,6.7s58.8-2.2,85.2-6.7v169.1c-26.2,4.9-54.9,8-85.2,8 s-59-3.1-85.2-8V280.3z"/> - `}function GE(n){return` + `}function OE(n){return` -`}function qy(n){return` +`}function Hy(n){return` -`}function Hy(n){return` +`}function Vy(n){return` `}function Yy(n){return` -`}function Mp(n){return` +`}function Fp(n){return` -`}function XC(n){return` +`}function eB(n){return` -`}function mu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var si={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Vy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function zy(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=YC(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,h)=>c+h.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var OD=parseFloat(getComputedStyle(document.body).fontSize);function Jy(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");xp.forEach(U0=>{let _=document.createElement("option");_.innerText=U0,_.value=U0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let h=document.createElement("p");h.classList.add("lyrics_text"),n.appendChild(h);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),h.appendChild(p);let U=document.createElement("span");U.classList.add("lyrics_text_gray"),h.appendChild(U);let j=document.createElement("details"),O=document.createElement("summary");this.locale.bindObjectProperty(O,"textContent","locale.sequencerController.lyrics.otherText.title"),j.appendChild(O);let X=document.createElement("div");X.innerText="",j.appendChild(X),n.appendChild(j),this.lyricsElement.text={highlight:p,gray:U,main:h,other:X},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function Ky(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-OD*5)}function Wy(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(Z3).find(A=>Z3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var zr=32,Zy="#ccc",jy="#555",qD="#333",HD="#ddd",YD="Shift_JIS",Oo=class{constructor(i,A,c){this.iconColor=Zy,this.iconDisabledColor=jy,this.controls=i,this.encoding=YD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=qD,this.iconDisabledColor=HD):(this.mode="dark",this.iconColor=Zy,this.iconDisabledColor=jy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=_$(zr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=Fy(zr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(xp[c]),this.encodingSelector.value=xp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let h=this.decodeTextFix(A.buffer);switch(c){default:return;case Z3.text:case Z3.copyright:case Z3.cuePoint:case Z3.trackName:case Z3.instrumentName:case Z3.programName:case Z3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case Z3.lyric:this.text+=h,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[P8.encoding]!==void 0,A.isEmbedded){let c=(j,O,X,U0="")=>this.seq.midiData.RMIDInfo?.[j]===void 0?O:U0+X.decode(this.seq.midiData.RMIDInfo?.[j]).replace(/\0$/,""),h=new TextDecoder,p=c(P8.midiEncoding,this.encoding,h),U=c(P8.encoding,"utf-8",h);this.infoDecoder=new TextDecoder(U),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let P=i.getBoundingClientRect(),i0=_.clientX-P.left,n1=P.width;this.seq.currentTime=i0/n1*this.seq.duration,c.innerHTML=_$(zr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=mu("Play/Pause",_$(zr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let h=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=h;let p=mu("Previous song",Uy(zr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let U=mu("Next song",Gy(zr));this.locale.bindObjectProperty(U,"title","locale.sequencerController.nextSong"),U.onclick=()=>this.switchToNextSong();let j=mu("Loop this",Ty(zr));this.locale.bindObjectProperty(j,"title","locale.sequencerController.loopThis");let O=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),j.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};j.onclick=O,this.loopButton=j;let X=mu("Show lyrics",Ny(zr));this.locale.bindObjectProperty(X,"title","locale.sequencerController.lyrics.show"),X.firstElementChild.setAttribute("fill",this.iconDisabledColor);let U0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),X.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};X.onclick=U0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.playPause:_.preventDefault(),h();break;case si.toggleLoop:_.preventDefault(),O();break;case si.toggleLyrics:_.preventDefault(),U0();break;default:break}}),A.appendChild(p),A.appendChild(j),A.appendChild(c),A.appendChild(X),A.appendChild(U),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=_$(zr);break;case si.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=_$(zr);break;case si.previousSong:this.switchToPreviousSong();break;case si.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let P=parseInt(_.key);0<=P&&P<=9&&(this.seq.currentTime=this.seq.duration*(P/10),c.innerHTML=_$(zr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=w$(this.seq.currentTime),A=w$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Oo.prototype.createNavigatorHandler=Vy;Oo.prototype.updateTitleAndMediaStatus=zy;Oo.prototype.createLyrics=Jy;Oo.prototype.setLyricsText=Ky;Oo.prototype.updateOtherTextEvents=Wy;function Xy(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function ew(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function tw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var mr=class{constructor(i="none",A,c,h,p=0,U=100,j=!1,O=void 0,X=void 0,U0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=U,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=X,this.unlockCallback=U0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",h),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,j){if(O===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let P=_.currentTarget.getBoundingClientRect(),i0=P.left,n1=P.width,S1=_.clientX-i0,f1=Math.max(0,Math.min(1,S1/n1));O(f1*(U-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,Ir&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var iw=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","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","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","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 (new age)","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","Attack Helicopter","Applause","Gunshot"];var UE=class{constructor(i,A,c,h,p=void 0,U=void 0){this.elements=i.map(j=>({name:j.name,program:j.program,bank:j.bank,stringified:`${j.bank.toString().padStart(3,"0")}:${j.program.toString().padStart(3,"0")} ${j.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",h),this.locale=A,this.localePath=c,this.localeArgs=h,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=U,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let h=document.createElement("input");h.type="text",this.locale.bindObjectProperty(h,"placeholder",this.localePath+".searchPrompt"),c.appendChild(h),h.onkeydown=X=>X.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Mp(ai):XC(ai),this.locale.bindObjectProperty(p,"title",Xe+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Mp(ai):p.innerHTML=XC(ai)},c.appendChild(p),this.presetLock=p;let U=document.createElement("div");U.classList.add("voice_selector_table_wrapper"),i.appendChild(U);let O=this.generateTable(U,this.elements).querySelector(".voice_selector_selected");h.oninput=X=>{X.stopPropagation();let U0=h.value,_=this.elements.filter(S1=>S1.stringified.search(new RegExp(U0,"i"))>=0);if(_.length===this.elements.length)return;U.replaceChildren();let P=this.generateTable(U,_),i0=P.querySelector(".voice_selector_selected");if(i0){O=i0;return}let n1=P.querySelector(".voice_selector_option");n1.classList.add("voice_selector_selected"),O=n1},h.addEventListener("keydown",X=>{switch(X.key){case"Enter":let U0=O.getAttribute("bank"),_=O.getAttribute("program"),P=`${U0}:${_}`;if(this.value===P){this.hideSelectionMenu();return}this.editCallback(P),this.locked=!0,this.presetLock.innerHTML=Mp(ai),this.hideSelectionMenu();break;case"ArrowDown":let i0=O.nextElementSibling;for(;i0;){if(i0.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),i0.classList.add("voice_selector_selected"),O=i0;return}i0=i0.nextElementSibling}break;case"ArrowUp":let n1=O.previousElementSibling;for(;n1;){if(n1.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),n1.classList.add("voice_selector_selected"),O=n1;return}n1=n1.previousElementSibling}break}}),i.onclick=X=>{X.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=X=>{X.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,Ir||h.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),U=-20;for(let j of A){let O=document.createElement("tr"),X=j.program;if(O.classList.add("voice_selector_option"),O.setAttribute("program",X.toString()),O.setAttribute("bank",j.bank.toString()),X===p&&j.bank===h&&(O.classList.add("voice_selector_selected"),setTimeout(()=>{O.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),O.onclick=()=>{let S1=`${j.bank}:${X}`;if(this.value===S1){this.hideSelectionMenu();return}this.editCallback(S1),this.locked=!0,this.presetLock.innerHTML=Mp(ai),this.hideSelectionMenu()},X!==U&&(U=X,j.bank!==128)){let S1=document.createElement("tr"),f1=document.createElement("th");f1.colSpan="3",f1.textContent=iw[U],S1.appendChild(f1),c.appendChild(S1)}let U0=`${j.program.toString().padStart(3,"0")}`,_=`${j.bank.toString().padStart(3,"0")}`,P=document.createElement("td");P.classList.add("voice_selector_preset_name"),P.textContent=j.name;let i0=document.createElement("td");P.classList.add("voice_selector_preset_program"),i0.textContent=U0;let n1=document.createElement("td");P.classList.add("voice_selector_preset_program"),n1.textContent=_,O.appendChild(n1),O.appendChild(i0),O.appendChild(P),c.appendChild(O)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,h=parseInt(this.value.split(":")[1]),p=h;this.elements.find(U=>U.program===h)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let U of c.rows){if(U.cells.length===1)continue;let j=parseInt(U.cells[0].textContent),O=parseInt(U.cells[1].textContent);j===h&&O===p&&(U.classList.add("voice_selector_selected"),U.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),h=parseInt(A[1]),p=this.elements.find(U=>U.bank===c&&U.program===h);return p?c===128||this.elements.filter(U=>U.program===h&&U.bank!==128).length<2?`${h}. ${p.name}`:`${c}:${h} ${p.name}`:""}};var ai=32;function rw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,n2=>{let f2=c.isLocked;f2&&this.synth.lockController(n,k$+q4.pitchWheel,!1),n2=Math.round(n2)+8192;let a5=n2>>7,T2=n2&127;this.synth.pitchWheel(n,a5,T2),f2&&this.synth.lockController(n,k$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,k$+q4.pitchWheel,!0),()=>this.synth.lockController(n,k$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let h=(n2,f2,a5)=>{a5.isLocked?(this.synth.lockController(n,n2,!1),this.synth.controllerChange(n,n2,f2),this.synth.lockController(n,n2,!0)):this.synth.controllerChange(n,n2,f2)},p=(n2,f2,a5)=>{let T2=new mr(this.channelColors[n%this.channelColors.length],Xe+f2,this.locale,[n+1],0,127,!0,A0=>h(n2,Math.round(A0),T2),()=>this.synth.lockController(n,n2,!0),()=>this.synth.lockController(n,n2,!1));return T2.update(a5),T2},U=p($3.pan,"channelController.panMeter",64);i.appendChild(U.div);let j=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(j.div);let O=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(O.div);let X=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(X.div);let U0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(U0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let P=p($3.brightness,"channelController.filterMeter",64);i.appendChild(P.div);let i0=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,n2=>{n2=Math.round(n2),this.synth.transposeChannel(n,n2,!0),i0.update(n2)});i0.update(0),i.appendChild(i0.div);let n1=new UE([],this.locale,Xe+"channelController.presetSelector",[n+1],async n2=>{let f2=n2.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(f2[0]),!0),this.synth.programChange(n,parseInt(f2[1]),!0),n1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},n2=>this.synth.lockController(n,a7,n2));i.appendChild(n1.mainButton);let S1=document.createElement("div");S1.innerHTML=Iu(ai),this.locale.bindObjectProperty(S1,"title",Xe+"channelController.soloButton.description",[n+1]),S1.classList.add("controller_element"),S1.classList.add("mute_button"),S1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let n2=0;n2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let n2=0;n2{if(f1.hasAttribute("is_muted")){f1.removeAttribute("is_muted");let n2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!n2),f1.innerHTML=Lp(ai)}else this.synth.muteChannel(n,!0),f1.setAttribute("is_muted","true"),f1.innerHTML=Oy(ai)},i.appendChild(f1);let g2=document.createElement("div");return g2.innerHTML=n===F7?NE(ai):GE(ai),this.locale.bindObjectProperty(g2,"title",Xe+"channelController.drumToggleButton.description",[n+1]),g2.classList.add("controller_element"),g2.classList.add("mute_button"),g2.onclick=()=>{n1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),n1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(g2),{controller:i,voiceMeter:A,pitchWheel:c,pan:U,expression:j,volume:O,mod:X,chorus:U0,reverb:_,brightness:P,preset:n1,drumsToggle:g2,soloButton:S1,muteButton:f1,transpose:i0}}function nw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function eB(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),h=n.getAttribute("max"),p=n.getAttribute("value"),U=n.getAttribute("units"),j=n.getAttribute("input_id"),O=document.createElement("input");O.classList.add("settings_slider"),O.type="range",O.id=j,O.min=c,O.max=h,O.value=p;let X;i&&(X=document.createElement("span"),X.textContent=p+U);let U0=document.createElement("div");U0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),U0.appendChild(_);let P=document.createElement("div");return P.classList.add("settings_slider_thumb"),U0.appendChild(P),U0.appendChild(O),O.addEventListener("input",()=>{let i0=parseInt(U0.style.getPropertyValue("--visual-width").replace("%","")),n1=Math.round((O.value-O.min)/(O.max-O.min)*100);Math.abs((i0-n1)/100)>.05?U0.classList.add("settings_slider_transition"):U0.classList.remove("settings_slider_transition"),U0.style.setProperty("--visual-width",`${n1}%`)}),U0.style.setProperty("--visual-width",`${(O.value-O.min)/(O.max-O.min)*100}%`),A.appendChild(U0),i&&A.appendChild(X),A}function qo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function sw(n,i){switch(n.type){case"button":let A=document.createElement("button");return qo(A,n,i),Ha(n,[A]),A;case"text":let c=document.createElement("p");return qo(c,n,i),Ha(n,[c]),c;case"input":let h=document.createElement("div");h.classList.add("notification_input_wrapper");let p=document.createElement("input");qo(p,n,i),p.addEventListener("keydown",a5=>a5.stopPropagation());let U=document.createElement("label");return qo(U,n,i),Ha(n,[p,U]),h.append(U),h.appendChild(p),h;case"select":let j=document.createElement("div");j.classList.add("notification_input_wrapper");let O=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let a5 of Object.entries(n.selectOptions)){let T2=document.createElement("option");T2.value=a5[0],T2.textContent=a5[1],O.appendChild(T2)}let X=document.createElement("label");return qo(X,n,i),Ha(n,[O,X]),j.appendChild(X),j.appendChild(O),j;case"file":let U0=document.createElement("label");U0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let P=document.createElement("label");P.classList.add("notification_file_button"),qo(P,n,i);let i0=document.createElement("label");return qo(i0,n,i),Ha(n,[P,_,i0]),P.appendChild(_),U0.append(i0),U0.appendChild(P),U0;case"progress":let n1=document.createElement("div");n1.classList.add("notification_progress_background");let S1=document.createElement("div");return S1.classList.add("notification_progress"),Ha(n,[S1,n1]),n1.appendChild(S1),n1;case"toggle":return VD(n,i);case"range":let f1=document.createElement("input");f1.type="range";let g2=document.createElement("label");Ha(n,[f1,g2]),qo(g2,n,i);let n2=eB(f1,!1),f2=document.createElement("div");return f2.classList.add("notification_slider_wrapper"),f2.appendChild(g2),f2.appendChild(n2),f2}}function Ha(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let h of i)A.startsWith("onchange")?h[A]=c:h.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let h of i)h.addEventListener(A,c)}function VD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,n,i);let h=document.createElement("input");h.type="checkbox",Ha(n,[c,h]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(h);let U=document.createElement("div");return U.classList.add("notification_switch_slider"),p.appendChild(U),A.appendChild(c),A.appendChild(p),A}var zD=13,JD=0,Rp={};function c4(n,i,A=zD,c=!0,h=void 0,p=void 0,U=void 0){let j=document.createElement("div"),O=JD++;j.classList.add("notification"),j.innerHTML=` +`}function pu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var si={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function zy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Jy(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=wE(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=wE(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,h)=>c+h.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var qD=parseFloat(getComputedStyle(document.body).fontSize);function Ky(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");Mp.forEach(U0=>{let _=document.createElement("option");_.innerText=U0,_.value=U0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let h=document.createElement("p");h.classList.add("lyrics_text"),n.appendChild(h);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),h.appendChild(p);let T=document.createElement("span");T.classList.add("lyrics_text_gray"),h.appendChild(T);let H=document.createElement("details"),O=document.createElement("summary");this.locale.bindObjectProperty(O,"textContent","locale.sequencerController.lyrics.otherText.title"),H.appendChild(O);let X=document.createElement("div");X.innerText="",H.appendChild(X),n.appendChild(H),this.lyricsElement.text={highlight:p,gray:T,main:h,other:X},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function Wy(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-qD*5)}function Zy(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(v3).find(A=>v3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var Jr=32,jy="#ccc",Xy="#555",HD="#333",VD="#ddd",YD="Shift_JIS",Oo=class{constructor(i,A,c){this.iconColor=jy,this.iconDisabledColor=Xy,this.controls=i,this.encoding=YD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=HD,this.iconDisabledColor=VD):(this.mode="dark",this.iconColor=jy,this.iconDisabledColor=Xy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=_$(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=Ty(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Mp[c]),this.encodingSelector.value=Mp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let h=this.decodeTextFix(A.buffer);switch(c){default:return;case v3.text:case v3.copyright:case v3.cuePoint:case v3.trackName:case v3.instrumentName:case v3.programName:case v3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case v3.lyric:this.text+=h,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[P8.encoding]!==void 0,A.isEmbedded){let c=(H,O,X,U0="")=>this.seq.midiData.RMIDInfo?.[H]===void 0?O:U0+X.decode(this.seq.midiData.RMIDInfo?.[H]).replace(/\0$/,""),h=new TextDecoder,p=c(P8.midiEncoding,this.encoding,h),T=c(P8.encoding,"utf-8",h);this.infoDecoder=new TextDecoder(T),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let P=i.getBoundingClientRect(),i0=_.clientX-P.left,n1=P.width;this.seq.currentTime=i0/n1*this.seq.duration,c.innerHTML=_$(Jr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=pu("Play/Pause",_$(Jr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let h=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=h;let p=pu("Previous song",Py(Jr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let T=pu("Next song",Uy(Jr));this.locale.bindObjectProperty(T,"title","locale.sequencerController.nextSong"),T.onclick=()=>this.switchToNextSong();let H=pu("Loop this",Ny(Jr));this.locale.bindObjectProperty(H,"title","locale.sequencerController.loopThis");let O=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),H.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};H.onclick=O,this.loopButton=H;let X=pu("Show lyrics",Gy(Jr));this.locale.bindObjectProperty(X,"title","locale.sequencerController.lyrics.show"),X.firstElementChild.setAttribute("fill",this.iconDisabledColor);let U0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),X.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};X.onclick=U0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.playPause:_.preventDefault(),h();break;case si.toggleLoop:_.preventDefault(),O();break;case si.toggleLyrics:_.preventDefault(),U0();break;default:break}}),A.appendChild(p),A.appendChild(H),A.appendChild(c),A.appendChild(X),A.appendChild(T),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case si.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=_$(Jr);break;case si.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=_$(Jr);break;case si.previousSong:this.switchToPreviousSong();break;case si.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let P=parseInt(_.key);0<=P&&P<=9&&(this.seq.currentTime=this.seq.duration*(P/10),c.innerHTML=_$(Jr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=w$(this.seq.currentTime),A=w$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Oo.prototype.createNavigatorHandler=zy;Oo.prototype.updateTitleAndMediaStatus=Jy;Oo.prototype.createLyrics=Ky;Oo.prototype.setLyricsText=Wy;Oo.prototype.updateOtherTextEvents=Zy;function ew(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function tw(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function iw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var pr=class{constructor(i="none",A,c,h,p=0,T=100,H=!1,O=void 0,X=void 0,U0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=T,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=X,this.unlockCallback=U0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",h),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,H){if(O===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let P=_.currentTarget.getBoundingClientRect(),i0=P.left,n1=P.width,S1=_.clientX-i0,f1=Math.max(0,Math.min(1,S1/n1));O(f1*(T-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,mr&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var rw=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","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","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","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 (new age)","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","Attack Helicopter","Applause","Gunshot"];var qE=class{constructor(i,A,c,h,p=void 0,T=void 0){this.elements=i.map(H=>({name:H.name,program:H.program,bank:H.bank,stringified:`${H.bank.toString().padStart(3,"0")}:${H.program.toString().padStart(3,"0")} ${H.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",h),this.locale=A,this.localePath=c,this.localeArgs=h,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=T,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let h=document.createElement("input");h.type="text",this.locale.bindObjectProperty(h,"placeholder",this.localePath+".searchPrompt"),c.appendChild(h),h.onkeydown=X=>X.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Fp(ai):eB(ai),this.locale.bindObjectProperty(p,"title",Xe+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Fp(ai):p.innerHTML=eB(ai)},c.appendChild(p),this.presetLock=p;let T=document.createElement("div");T.classList.add("voice_selector_table_wrapper"),i.appendChild(T);let O=this.generateTable(T,this.elements).querySelector(".voice_selector_selected");h.oninput=X=>{X.stopPropagation();let U0=h.value,_=this.elements.filter(S1=>S1.stringified.search(new RegExp(U0,"i"))>=0);if(_.length===this.elements.length||_.length===0)return;T.replaceChildren();let P=this.generateTable(T,_),i0=P.querySelector(".voice_selector_selected");if(i0){O=i0;return}let n1=P.querySelector(".voice_selector_option");n1.classList.add("voice_selector_selected"),O=n1},h.addEventListener("keydown",X=>{switch(X.key){case"Enter":let U0=O.getAttribute("bank"),_=O.getAttribute("program"),P=`${U0}:${_}`;if(this.value===P){this.hideSelectionMenu();return}this.editCallback(P),this.locked=!0,this.presetLock.innerHTML=Fp(ai),this.hideSelectionMenu();break;case"ArrowDown":let i0=O.nextElementSibling;for(;i0;){if(i0.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),i0.classList.add("voice_selector_selected"),O=i0;return}i0=i0.nextElementSibling}break;case"ArrowUp":let n1=O.previousElementSibling;for(;n1;){if(n1.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),n1.classList.add("voice_selector_selected"),O=n1;return}n1=n1.previousElementSibling}break}}),i.onclick=X=>{X.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=X=>{X.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,mr||h.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),T=-20;for(let H of A){let O=document.createElement("tr"),X=H.program;if(O.classList.add("voice_selector_option"),O.setAttribute("program",X.toString()),O.setAttribute("bank",H.bank.toString()),X===p&&H.bank===h&&(O.classList.add("voice_selector_selected"),setTimeout(()=>{O.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),O.onclick=()=>{let S1=`${H.bank}:${X}`;if(this.value===S1){this.hideSelectionMenu();return}this.editCallback(S1),this.locked=!0,this.presetLock.innerHTML=Fp(ai),this.hideSelectionMenu()},X!==T&&(T=X,H.bank!==128)){let S1=document.createElement("tr"),f1=document.createElement("th");f1.colSpan="3",f1.textContent=rw[T],S1.appendChild(f1),c.appendChild(S1)}let U0=`${H.program.toString().padStart(3,"0")}`,_=`${H.bank.toString().padStart(3,"0")}`,P=document.createElement("td");P.classList.add("voice_selector_preset_name"),P.textContent=H.name;let i0=document.createElement("td");P.classList.add("voice_selector_preset_program"),i0.textContent=U0;let n1=document.createElement("td");P.classList.add("voice_selector_preset_program"),n1.textContent=_,O.appendChild(n1),O.appendChild(i0),O.appendChild(P),c.appendChild(O)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,h=parseInt(this.value.split(":")[1]),p=h;this.elements.find(T=>T.program===h)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let T of c.rows){if(T.cells.length===1)continue;let H=parseInt(T.cells[0].textContent),O=parseInt(T.cells[1].textContent);H===h&&O===p&&(T.classList.add("voice_selector_selected"),T.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),h=parseInt(A[1]),p=this.elements.find(T=>T.bank===c&&T.program===h);return p?c===128||this.elements.filter(T=>T.program===h&&T.bank!==128).length<2?`${h}. ${p.name}`:`${c}:${h} ${p.name}`:""}};var ai=32;function nw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new pr(this.channelColors[n%this.channelColors.length],Xe+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new pr(this.channelColors[n%this.channelColors.length],Xe+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,n2=>{let f2=c.isLocked;f2&&this.synth.lockController(n,k$+q4.pitchWheel,!1),n2=Math.round(n2)+8192;let a5=n2>>7,T2=n2&127;this.synth.pitchWheel(n,a5,T2),f2&&this.synth.lockController(n,k$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,k$+q4.pitchWheel,!0),()=>this.synth.lockController(n,k$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let h=(n2,f2,a5)=>{a5.isLocked?(this.synth.lockController(n,n2,!1),this.synth.controllerChange(n,n2,f2),this.synth.lockController(n,n2,!0)):this.synth.controllerChange(n,n2,f2)},p=(n2,f2,a5)=>{let T2=new pr(this.channelColors[n%this.channelColors.length],Xe+f2,this.locale,[n+1],0,127,!0,A0=>h(n2,Math.round(A0),T2),()=>this.synth.lockController(n,n2,!0),()=>this.synth.lockController(n,n2,!1));return T2.update(a5),T2},T=p($3.pan,"channelController.panMeter",64);i.appendChild(T.div);let H=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(H.div);let O=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(O.div);let X=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(X.div);let U0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(U0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let P=p($3.brightness,"channelController.filterMeter",64);i.appendChild(P.div);let i0=new pr(this.channelColors[n%this.channelColors.length],Xe+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,n2=>{n2=Math.round(n2),this.synth.transposeChannel(n,n2,!0),i0.update(n2)});i0.update(0),i.appendChild(i0.div);let n1=new qE([],this.locale,Xe+"channelController.presetSelector",[n+1],async n2=>{let f2=n2.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(f2[0]),!0),this.synth.programChange(n,parseInt(f2[1]),!0),n1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},n2=>this.synth.lockController(n,a7,n2));i.appendChild(n1.mainButton);let S1=document.createElement("div");S1.innerHTML=mu(ai),this.locale.bindObjectProperty(S1,"title",Xe+"channelController.soloButton.description",[n+1]),S1.classList.add("controller_element"),S1.classList.add("mute_button"),S1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let n2=0;n2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let n2=0;n2{if(f1.hasAttribute("is_muted")){f1.removeAttribute("is_muted");let n2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!n2),f1.innerHTML=Rp(ai)}else this.synth.muteChannel(n,!0),f1.setAttribute("is_muted","true"),f1.innerHTML=qy(ai)},i.appendChild(f1);let g2=document.createElement("div");return g2.innerHTML=n===F7?PE(ai):OE(ai),this.locale.bindObjectProperty(g2,"title",Xe+"channelController.drumToggleButton.description",[n+1]),g2.classList.add("controller_element"),g2.classList.add("mute_button"),g2.onclick=()=>{n1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),n1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(g2),{controller:i,voiceMeter:A,pitchWheel:c,pan:T,expression:H,volume:O,mod:X,chorus:U0,reverb:_,brightness:P,preset:n1,drumsToggle:g2,soloButton:S1,muteButton:f1,transpose:i0}}function ow(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function tB(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),h=n.getAttribute("max"),p=n.getAttribute("value"),T=n.getAttribute("units"),H=n.getAttribute("input_id"),O=document.createElement("input");O.classList.add("settings_slider"),O.type="range",O.id=H,O.min=c,O.max=h,O.value=p;let X;i&&(X=document.createElement("span"),X.textContent=p+T);let U0=document.createElement("div");U0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),U0.appendChild(_);let P=document.createElement("div");return P.classList.add("settings_slider_thumb"),U0.appendChild(P),U0.appendChild(O),O.addEventListener("input",()=>{let i0=parseInt(U0.style.getPropertyValue("--visual-width").replace("%","")),n1=Math.round((O.value-O.min)/(O.max-O.min)*100);Math.abs((i0-n1)/100)>.05?U0.classList.add("settings_slider_transition"):U0.classList.remove("settings_slider_transition"),U0.style.setProperty("--visual-width",`${n1}%`)}),U0.style.setProperty("--visual-width",`${(O.value-O.min)/(O.max-O.min)*100}%`),A.appendChild(U0),i&&A.appendChild(X),A}function qo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function aw(n,i){switch(n.type){case"button":let A=document.createElement("button");return qo(A,n,i),Ha(n,[A]),A;case"text":let c=document.createElement("p");return qo(c,n,i),Ha(n,[c]),c;case"input":let h=document.createElement("div");h.classList.add("notification_input_wrapper");let p=document.createElement("input");qo(p,n,i),p.addEventListener("keydown",a5=>a5.stopPropagation());let T=document.createElement("label");return qo(T,n,i),Ha(n,[p,T]),h.append(T),h.appendChild(p),h;case"select":let H=document.createElement("div");H.classList.add("notification_input_wrapper");let O=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let a5 of Object.entries(n.selectOptions)){let T2=document.createElement("option");T2.value=a5[0],T2.textContent=a5[1],O.appendChild(T2)}let X=document.createElement("label");return qo(X,n,i),Ha(n,[O,X]),H.appendChild(X),H.appendChild(O),H;case"file":let U0=document.createElement("label");U0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let P=document.createElement("label");P.classList.add("notification_file_button"),qo(P,n,i);let i0=document.createElement("label");return qo(i0,n,i),Ha(n,[P,_,i0]),P.appendChild(_),U0.append(i0),U0.appendChild(P),U0;case"progress":let n1=document.createElement("div");n1.classList.add("notification_progress_background");let S1=document.createElement("div");return S1.classList.add("notification_progress"),Ha(n,[S1,n1]),n1.appendChild(S1),n1;case"toggle":return zD(n,i);case"range":let f1=document.createElement("input");f1.type="range";let g2=document.createElement("label");Ha(n,[f1,g2]),qo(g2,n,i);let n2=tB(f1,!1),f2=document.createElement("div");return f2.classList.add("notification_slider_wrapper"),f2.appendChild(g2),f2.appendChild(n2),f2}}function Ha(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let h of i)A.startsWith("onchange")?h[A]=c:h.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let h of i)h.addEventListener(A,c)}function zD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,n,i);let h=document.createElement("input");h.type="checkbox",Ha(n,[c,h]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(h);let T=document.createElement("div");return T.classList.add("notification_switch_slider"),p.appendChild(T),A.appendChild(c),A.appendChild(p),A}var JD=13,KD=0,Tp={};function c4(n,i,A=JD,c=!0,h=void 0,p=void 0,T=void 0){let H=document.createElement("div"),O=KD++;H.classList.add("notification"),H.innerHTML=`

${n}

\xD7 -
`;let X=document.createElement("div");if(X.classList.add("notification_content"),p)for(let[_,P]of Object.entries(p))X.style[_]=P;j.appendChild(X);for(let _ of i){let P=sw(_,h);_.onClick&&(P.onclick=()=>_.onClick({div:j,id:O},P)),X.appendChild(P)}c?j.getElementsByClassName("close_btn")[0].onclick=()=>{_e(O)}:j.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{j.classList.add("drop")},75);let U0=setTimeout(()=>{_e(O)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(j),Rp[O]={div:j,timeout:U0,onclose:U},{div:j,id:O}}function _e(n){if(Rp[n]===void 0)return;let i=Rp[n],A=i.div;clearTimeout(Rp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Rp[n]=void 0}var l7={nodesAmount:Yr.nodesAmount,defaultDelay:Yr.defaultDelay,delayVariation:Yr.delayVariation,stereoDifference:Yr.stereoDifference,oscillatorFrequency:Yr.oscillatorFrequency,oscillatorFrequencyVariation:Yr.oscillatorFrequencyVariation,oscillatorGain:Yr.oscillatorGain};function aw(n,i,A){let c=i+"effectsConfig.",h=c4(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,U)=>{A.disableGSNRPparams(),U.parentNode.removeChild(U)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let U=p.target.parentElement.parentElement;U.textContent=n.getLocaleString("locale.synthInit.genericLoading");let j=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(j),U.textContent=n.getLocaleString("locale.synthInit.done"),U5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{l7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig(l7)}}],999999,!0,n);return h.div.onclick=p=>p.stopImmediatePropagation(),h}var h8="locale.synthesizerController.keyModifiers.";async function Aw(n,i){return new Promise(A=>{let c=c4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=h=>{_e(c.id),i.onNotePressed=void 0,A(h)}})}async function $w(n,i,A,c){let h=await Aw(i,A),p=(P,i0,n1,S1)=>{let f1={type:"number",min:i0.toString(),max:n1.toString(),value:S1.toString()};return f1[P]="true",f1},U={};U.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let P of c.toSorted((i0,n1)=>i0.presetNamen1.presetName?1:0))U[P.presetName]=P.presetName;let j=n.keyModifierManager.getModifier(A.channel,h),O=j?.velocity??-1,X=c4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[h.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async P=>{_e(P.id),await $w(n,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:p("vel",0,127,O)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:U},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:P=>{let i0=parseInt(P.div.querySelector("input[chan]").value)??-1,n1=parseInt(P.div.querySelector("input[vel]").value)??-1,S1=P.div.querySelector("select[preset-selector]").value,f1=-1,g2=-1;if(S1!=="unchanged"){let n2=c.find(f2=>f2.presetName===S1);f1=n2.bank,g2=n2.program}n.keyModifierManager.addModifier(i0,h,{velocity:n1,patch:{program:g2,bank:f1}}),_e(P.id)}}],99999,!0,i),U0=j?.patch?.program??-1,_=j?.patch?.bank??-1;_!==-1&&U0!==-1&&(X.div.querySelector("select[preset-selector]").value=c.find(P=>P.bank===_&&P.program===U0).presetName)}async function lw(n,i,A){let c=await Aw(i,A);c4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async h=>{_e(h.id),await lw(n,i,A)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:h=>{let p=parseInt(h.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),_e(h.id)}}],99999,!0,i)}function cw(n,i,A,c){c4(i.getLocaleString(h8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(h8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(h8+"prompt")},{type:"button",translatePathTitle:h8+"modifyKey",onClick:h=>{_e(h.id),$w(n,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:h=>{_e(h.id),lw(n,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:h=>{_e(h.id),c4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{_e(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{_e(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function gw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new mr("",Xe+"mainVoiceMeter",this.locale,[],0,JC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new mr("",Xe+"mainVolumeMeter",this.locale,[],0,200,!0,X=>{this.synth.setMainVolume(Math.round(X)/100),this.volumeController.update(X)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new mr("",Xe+"mainPanMeter",this.locale,[],-1,1,!0,X=>{this.synth.setMasterPan(X),this.panController.update(X)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new mr("",Xe+"mainTransposeMeter",this.locale,[],-12,12,!0,X=>{this.synth.transpose(Math.round(X*2)/2),this.transposeController.update(Math.round(X*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",Xe+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",Xe+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",Xe+"systemReset.title"),this.locale.bindObjectProperty(A,"title",Xe+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((X,U0)=>{X.pitchWheel.isLocked&&X.pitchWheel.lockMeter(),X.pan.isLocked&&X.pan.lockMeter(),X.expression.isLocked&&X.expression.lockMeter(),X.volume.isLocked&&X.volume.lockMeter(),X.mod.isLocked&&X.mod.lockMeter(),X.chorus.isLocked&&X.chorus.lockMeter(),X.reverb.isLocked&&X.reverb.lockMeter(),X.brightness.isLocked&&X.brightness.lockMeter(),X.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(U0,a7,!1),X.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(U0,0,!0),X.transpose.update(0),X.soloButton.innerHTML=Iu(ai),X.muteButton.innerHTML=Lp(ai),this.synth.muteChannel(U0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",Xe+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",Xe+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let h=document.createElement("button");this.locale.bindObjectProperty(h,"textContent",Xe+"keyModifiers.button.title"),this.locale.bindObjectProperty(h,"title",Xe+"keyModifiers.button.description"),h.classList.add("synthui_button"),h.classList.add("main_controller_element"),h.onclick=()=>{cw(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",Xe+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",Xe+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=aw(this.locale,Xe,this.synth).id};let U=document.createElement("select");U.classList.add("main_controller_element"),U.classList.add("synthui_button"),this.locale.bindObjectProperty(U,"title",Xe+"interpolation.description");{let X=document.createElement("option");X.value="0",this.locale.bindObjectProperty(X,"textContent",Xe+"interpolation.linear"),U.appendChild(X);let U0=document.createElement("option");U0.value="1",this.locale.bindObjectProperty(U0,"textContent",Xe+"interpolation.nearestNeighbor"),U.appendChild(U0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",Xe+"interpolation.cubic"),U.appendChild(_),U.onchange=()=>{this.synth.setInterpolationType(parseInt(U.value))}}let j=document.createElement("div");j.classList.add("synthui_controller"),this.uiDiv.appendChild(j);let O=document.createElement("button");this.locale.bindObjectProperty(O,"textContent",Xe+"toggleButton.title"),this.locale.bindObjectProperty(O,"title",Xe+"toggleButton.description"),O.classList.add("synthui_button"),O.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(h),n.appendChild(p),n.appendChild(U),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,h,p,O,U],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(O),j.appendChild(n),this.mainControllerDiv=j,this.mainControllerDiv.onclick=X=>X.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),j.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function uw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,h=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(h);break;case $3.mainVolume:p.volume.update(h);break;case $3.pan:p.pan.update(h);break;case $3.modulationWheel:p.mod.update(h);break;case $3.chorusDepth:p.chorus.update(h);break;case $3.reverbDepth:p.reverb.update(h);break;case $3.brightness:p.brightness.update(h)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?NE(32):GE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var Xe="locale.synthesizerController.",Jr=class{constructor(i,A,c){this.channelColors=i;let h=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),h.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case si.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case si.settingsShow:this.isShown=!0,this.toggleVisibility();break;case si.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case si.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,h)=>c.program===h.program?c.bank-h.bank:c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,h)=>c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,h)=>{let p=this.synth.channelProperties[h].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Jr.prototype.hideControllers=Xy;Jr.prototype.showControllers=ew;Jr.prototype.toggleDarkMode=tw;Jr.prototype.createChannelController=rw;Jr.prototype.createChannelControllers=nw;Jr.prototype.createMainSynthController=gw;Jr.prototype.setEventListeners=uw;var Fp=null,PE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Fp,this.selectedOutput=Fp,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,U5("%cMIDI handler created!",C1.recognized),!0}catch(i){return T9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return T9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),U5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Fp,i.connectMidiOutput(void 0),U5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},U5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Fp,i.onmidimessage=void 0,U5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Fp;for(let i of this.inputs)i[1].onmidimessage=void 0}};var OE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let h=c.map(p=>parseInt(p,16));i.sendMessage(h)}),U5("%cWeb MIDI Link handler created!",C1.recognized)}};var Ya="midi range";function hw(n,i,A){let c=0,h=this.htmlControls.keyboard,p=[],U=[],j,O=P=>{let i0=U[P],n1=i0.drum?128:i0.bank,S1=j.find(f1=>f1.bank===n1&&f1.program===i0.program);S1||(S1=j[0]),p[P].textContent=": "+S1.presetName},X=()=>{if(j)for(let P=0;P{let P=document.createElement("option");P.value=c.toString();let i0=document.createElement("p");this.locale.bindObjectProperty(i0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let n1=document.createElement("p");n1.textContent=": not ",p.push(n1),U.push({program:0,bank:0,drum:c%16===9}),X(),P.appendChild(i0),P.appendChild(n1),P.style.background=i.channelColors[c%i.channelColors.length],P.style.color="rgb(0, 0, 0)",h.channelSelector.appendChild(P),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",P=>{j=P,X()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),_.eventHandler.addEvent("programchange","settings-program-change",P=>{let i0=U[P.channel];i0.bank=P.bank,i0.program=P.program,O(P.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",P=>{U[P.channel].drum=P.isDrumChannel,O(P.channel)});for(let P=0;P{n.selectChannel(parseInt(h.channelSelector.value))},h.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{h.sizeSelector.value===Ya?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},600);return}h.sizeSelector.value===Ya?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},this.addSequencer=P=>{P.addOnSongChangeEvent(i0=>{this.autoKeyRange&&(n.keyRange=i0.keyRange,A.keyRange=i0.keyRange),i0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",P=>{P.userCalled&&(n.selectChannel(P.channel),h.channelSelector.value=P.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",P=>{if(P.isMuted&&P.channel===n.channel){let i0=0;for(;i.synth.channelProperties[i0].isMuted;)i0++;i0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},h.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var dw=` + `;let X=document.createElement("div");if(X.classList.add("notification_content"),p)for(let[_,P]of Object.entries(p))X.style[_]=P;H.appendChild(X);for(let _ of i){let P=aw(_,h);_.onClick&&(P.onclick=()=>_.onClick({div:H,id:O},P)),X.appendChild(P)}c?H.getElementsByClassName("close_btn")[0].onclick=()=>{_e(O)}:H.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{H.classList.add("drop")},75);let U0=setTimeout(()=>{_e(O)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(H),Tp[O]={div:H,timeout:U0,onclose:T},{div:H,id:O}}function _e(n){if(Tp[n]===void 0)return;let i=Tp[n],A=i.div;clearTimeout(Tp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Tp[n]=void 0}var l7={nodesAmount:Yr.nodesAmount,defaultDelay:Yr.defaultDelay,delayVariation:Yr.delayVariation,stereoDifference:Yr.stereoDifference,oscillatorFrequency:Yr.oscillatorFrequency,oscillatorFrequencyVariation:Yr.oscillatorFrequencyVariation,oscillatorGain:Yr.oscillatorGain};function Aw(n,i,A){let c=i+"effectsConfig.",h=c4(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,T)=>{A.disableGSNRPparams(),T.parentNode.removeChild(T)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let T=p.target.parentElement.parentElement;T.textContent=n.getLocaleString("locale.synthInit.genericLoading");let H=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(H),T.textContent=n.getLocaleString("locale.synthInit.done"),U5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{l7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig(l7)}}],999999,!0,n);return h.div.onclick=p=>p.stopImmediatePropagation(),h}var h8="locale.synthesizerController.keyModifiers.";async function $w(n,i){return new Promise(A=>{let c=c4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=h=>{_e(c.id),i.onNotePressed=void 0,A(h)}})}async function lw(n,i,A,c){let h=await $w(i,A),p=(P,i0,n1,S1)=>{let f1={type:"number",min:i0.toString(),max:n1.toString(),value:S1.toString()};return f1[P]="true",f1},T={};T.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let P of c.toSorted((i0,n1)=>i0.presetNamen1.presetName?1:0))T[P.presetName]=P.presetName;let H=n.keyModifierManager.getModifier(A.channel,h),O=H?.velocity??-1,X=c4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[h.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async P=>{_e(P.id),await lw(n,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:p("vel",0,127,O)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:T},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:P=>{let i0=parseInt(P.div.querySelector("input[chan]").value)??-1,n1=parseInt(P.div.querySelector("input[vel]").value)??-1,S1=P.div.querySelector("select[preset-selector]").value,f1=-1,g2=-1;if(S1!=="unchanged"){let n2=c.find(f2=>f2.presetName===S1);f1=n2.bank,g2=n2.program}n.keyModifierManager.addModifier(i0,h,{velocity:n1,patch:{program:g2,bank:f1}}),_e(P.id)}}],99999,!0,i),U0=H?.patch?.program??-1,_=H?.patch?.bank??-1;_!==-1&&U0!==-1&&(X.div.querySelector("select[preset-selector]").value=c.find(P=>P.bank===_&&P.program===U0).presetName)}async function cw(n,i,A){let c=await $w(i,A);c4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async h=>{_e(h.id),await cw(n,i,A)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:h=>{let p=parseInt(h.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),_e(h.id)}}],99999,!0,i)}function gw(n,i,A,c){c4(i.getLocaleString(h8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(h8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(h8+"prompt")},{type:"button",translatePathTitle:h8+"modifyKey",onClick:h=>{_e(h.id),lw(n,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:h=>{_e(h.id),cw(n,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:h=>{_e(h.id),c4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{_e(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{_e(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function uw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new pr("",Xe+"mainVoiceMeter",this.locale,[],0,WC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new pr("",Xe+"mainVolumeMeter",this.locale,[],0,200,!0,X=>{this.synth.setMainVolume(Math.round(X)/100),this.volumeController.update(X)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new pr("",Xe+"mainPanMeter",this.locale,[],-1,1,!0,X=>{this.synth.setMasterPan(X),this.panController.update(X)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new pr("",Xe+"mainTransposeMeter",this.locale,[],-12,12,!0,X=>{this.synth.transpose(Math.round(X*2)/2),this.transposeController.update(Math.round(X*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",Xe+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",Xe+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",Xe+"systemReset.title"),this.locale.bindObjectProperty(A,"title",Xe+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((X,U0)=>{X.pitchWheel.isLocked&&X.pitchWheel.lockMeter(),X.pan.isLocked&&X.pan.lockMeter(),X.expression.isLocked&&X.expression.lockMeter(),X.volume.isLocked&&X.volume.lockMeter(),X.mod.isLocked&&X.mod.lockMeter(),X.chorus.isLocked&&X.chorus.lockMeter(),X.reverb.isLocked&&X.reverb.lockMeter(),X.brightness.isLocked&&X.brightness.lockMeter(),X.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(U0,a7,!1),X.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(U0,0,!0),X.transpose.update(0),X.soloButton.innerHTML=mu(ai),X.muteButton.innerHTML=Rp(ai),this.synth.muteChannel(U0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",Xe+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",Xe+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let h=document.createElement("button");this.locale.bindObjectProperty(h,"textContent",Xe+"keyModifiers.button.title"),this.locale.bindObjectProperty(h,"title",Xe+"keyModifiers.button.description"),h.classList.add("synthui_button"),h.classList.add("main_controller_element"),h.onclick=()=>{gw(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",Xe+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",Xe+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=Aw(this.locale,Xe,this.synth).id};let T=document.createElement("select");T.classList.add("main_controller_element"),T.classList.add("synthui_button"),this.locale.bindObjectProperty(T,"title",Xe+"interpolation.description");{let X=document.createElement("option");X.value="0",this.locale.bindObjectProperty(X,"textContent",Xe+"interpolation.linear"),T.appendChild(X);let U0=document.createElement("option");U0.value="1",this.locale.bindObjectProperty(U0,"textContent",Xe+"interpolation.nearestNeighbor"),T.appendChild(U0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",Xe+"interpolation.cubic"),T.appendChild(_),T.onchange=()=>{this.synth.setInterpolationType(parseInt(T.value))}}let H=document.createElement("div");H.classList.add("synthui_controller"),this.uiDiv.appendChild(H);let O=document.createElement("button");this.locale.bindObjectProperty(O,"textContent",Xe+"toggleButton.title"),this.locale.bindObjectProperty(O,"title",Xe+"toggleButton.description"),O.classList.add("synthui_button"),O.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(h),n.appendChild(p),n.appendChild(T),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,h,p,O,T],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(O),H.appendChild(n),this.mainControllerDiv=H,this.mainControllerDiv.onclick=X=>X.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),H.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function hw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,h=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(h);break;case $3.mainVolume:p.volume.update(h);break;case $3.pan:p.pan.update(h);break;case $3.modulationWheel:p.mod.update(h);break;case $3.chorusDepth:p.chorus.update(h);break;case $3.reverbDepth:p.reverb.update(h);break;case $3.brightness:p.brightness.update(h)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?PE(32):OE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var Xe="locale.synthesizerController.",Kr=class{constructor(i,A,c){this.channelColors=i;let h=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),h.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case si.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case si.settingsShow:this.isShown=!0,this.toggleVisibility();break;case si.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case si.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,h)=>c.program===h.program?c.bank-h.bank:c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,h)=>c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,h)=>{let p=this.synth.channelProperties[h].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Kr.prototype.hideControllers=ew;Kr.prototype.showControllers=tw;Kr.prototype.toggleDarkMode=iw;Kr.prototype.createChannelController=nw;Kr.prototype.createChannelControllers=ow;Kr.prototype.createMainSynthController=uw;Kr.prototype.setEventListeners=hw;var Np=null,HE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Np,this.selectedOutput=Np,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,U5("%cMIDI handler created!",C1.recognized),!0}catch(i){return T9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return T9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),U5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Np,i.connectMidiOutput(void 0),U5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},U5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Np,i.onmidimessage=void 0,U5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Np;for(let i of this.inputs)i[1].onmidimessage=void 0}};var VE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let h=c.map(p=>parseInt(p,16));i.sendMessage(h)}),U5("%cWeb MIDI Link handler created!",C1.recognized)}};var Va="midi range";function dw(n,i,A){let c=0,h=this.htmlControls.keyboard,p=[],T=[],H,O=P=>{let i0=T[P],n1=i0.drum?128:i0.bank,S1=H.find(f1=>f1.bank===n1&&f1.program===i0.program);S1||(S1=H[0]),p[P].textContent=": "+S1.presetName},X=()=>{if(H)for(let P=0;P{let P=document.createElement("option");P.value=c.toString();let i0=document.createElement("p");this.locale.bindObjectProperty(i0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let n1=document.createElement("p");n1.textContent=": not ",p.push(n1),T.push({program:0,bank:0,drum:c%16===9}),X(),P.appendChild(i0),P.appendChild(n1),P.style.background=i.channelColors[c%i.channelColors.length],P.style.color="rgb(0, 0, 0)",h.channelSelector.appendChild(P),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",P=>{H=P,X()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),_.eventHandler.addEvent("programchange","settings-program-change",P=>{let i0=T[P.channel];i0.bank=P.bank,i0.program=P.program,O(P.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",P=>{T[P.channel].drum=P.isDrumChannel,O(P.channel)});for(let P=0;P{n.selectChannel(parseInt(h.channelSelector.value))},h.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{h.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},600);return}h.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},this.addSequencer=P=>{P.addOnSongChangeEvent(i0=>{this.autoKeyRange&&(n.keyRange=i0.keyRange,A.keyRange=i0.keyRange),i0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{U0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",P=>{P.userCalled&&(n.selectChannel(P.channel),h.channelSelector.value=P.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",P=>{if(P.isMuted&&P.channel===n.channel){let i0=0;for(;i.synth.channelProperties[i0].isMuted;)i0++;i0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},h.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var fw=`

-`;async function fw(){let n=await window.savedSettings;if(!n.interface)return;U5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let h=c.sampleSize;i.analyserFftSlider.value=Math.log2(h),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=h,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(h)+2)),A.updateFftSize(),this.setTimeDelay(h),Tn(i.analyserFftSlider).innerText=`${h}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let U=this.htmlControls.keyboard,j=this.midiKeyboard,O=n.keyboard;j.setKeyRange(O.keyRange,!1),O.autoRange?(U.sizeSelector.value=Ya,this.autoKeyRange=!0):(this.autoKeyRange=!1,U.sizeSelector.value=Object.keys(this.keyboardSizes).find(X=>this.keyboardSizes[X].min===O.keyRange.min&&this.keyboardSizes[X].max===O.keyRange.max)),O.mode==="dark"&&(j.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),O.show===!1&&(j.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function Iw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function mw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Ya,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function pw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,h]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=h.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function Ew(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var qE={start:"#101010",end:"#212121"},HE={start:"#bbb",end:"#f0f0f0"},Cw="#eee",Bw="#333",YE={start:"#222",end:"#333"},VE={start:"#ccc",end:"#fff"},Nn=.2;function Qw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(Bw,Cw,Nn,i,"--font-color"),Gn(VE.start,YE.start,Nn,i,"--top-buttons-color-start"),Gn(VE.end,YE.end,Nn,i,"--top-buttons-color-end"),Gn(HE.start,qE.start,Nn,i,"--top-color-start"),Gn(HE.end,qE.end,Nn,i,"--top-color-end")):(Gn(Cw,Bw,Nn,i,"--font-color"),Gn(YE.start,VE.start,Nn,i,"--top-buttons-color-start"),Gn(YE.end,VE.end,Nn,i,"--top-buttons-color-end"),Gn(qE.start,HE.start,Nn,i,"--top-color-start"),Gn(qE.end,HE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var pu={};function Gn(n,i,A,c,h){pu[h]&&(clearInterval(pu[h]),pu[h]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let P=parseInt(_.slice(1),16);return{r:P>>16&255,g:P>>8&255,b:P&255}}function U(_,P,i0){return _+(P-_)*i0}let j=p(n),O=p(i),X=performance.now()/1e3;function U0(){let P=performance.now()/1e3-X,i0=Math.min(P/A,1),n1=Math.round(U(j.r,O.r,i0)),S1=Math.round(U(j.g,O.g,i0)),f1=Math.round(U(j.b,O.b,i0));c.style.setProperty(h,`rgb(${n1}, ${S1}, ${f1})`),i0>=1&&(clearInterval(pu[h]),pu[h]=void 0)}pu[h]=setInterval(U0,1e3/60)}function yw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Tn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Tn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(A),Tn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function ww(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(Ir||c4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function vw(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function kw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var Sw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var bw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Dw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var _w={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Sw,keyboardSettings:bw,midiSettings:Dw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var xw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var Lw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Mw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Rw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. +`;async function Iw(){let n=await window.savedSettings;if(!n.interface)return;U5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let h=c.sampleSize;i.analyserFftSlider.value=Math.log2(h),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=h,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(h)+2)),A.updateFftSize(),this.setTimeDelay(h),Tn(i.analyserFftSlider).innerText=`${h}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let T=this.htmlControls.keyboard,H=this.midiKeyboard,O=n.keyboard;H.setKeyRange(O.keyRange,!1),O.autoRange?(T.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,T.sizeSelector.value=Object.keys(this.keyboardSizes).find(X=>this.keyboardSizes[X].min===O.keyRange.min&&this.keyboardSizes[X].max===O.keyRange.max)),O.mode==="dark"&&(H.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),O.show===!1&&(H.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function mw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function pw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Va,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function Ew(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,h]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=h.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function Cw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var YE={start:"#101010",end:"#212121"},zE={start:"#bbb",end:"#f0f0f0"},Bw="#eee",Qw="#333",JE={start:"#222",end:"#333"},KE={start:"#ccc",end:"#fff"},Nn=.2;function yw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(Qw,Bw,Nn,i,"--font-color"),Gn(KE.start,JE.start,Nn,i,"--top-buttons-color-start"),Gn(KE.end,JE.end,Nn,i,"--top-buttons-color-end"),Gn(zE.start,YE.start,Nn,i,"--top-color-start"),Gn(zE.end,YE.end,Nn,i,"--top-color-end")):(Gn(Bw,Qw,Nn,i,"--font-color"),Gn(JE.start,KE.start,Nn,i,"--top-buttons-color-start"),Gn(JE.end,KE.end,Nn,i,"--top-buttons-color-end"),Gn(YE.start,zE.start,Nn,i,"--top-color-start"),Gn(YE.end,zE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Eu={};function Gn(n,i,A,c,h){Eu[h]&&(clearInterval(Eu[h]),Eu[h]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let P=parseInt(_.slice(1),16);return{r:P>>16&255,g:P>>8&255,b:P&255}}function T(_,P,i0){return _+(P-_)*i0}let H=p(n),O=p(i),X=performance.now()/1e3;function U0(){let P=performance.now()/1e3-X,i0=Math.min(P/A,1),n1=Math.round(T(H.r,O.r,i0)),S1=Math.round(T(H.g,O.g,i0)),f1=Math.round(T(H.b,O.b,i0));c.style.setProperty(h,`rgb(${n1}, ${S1}, ${f1})`),i0>=1&&(clearInterval(Eu[h]),Eu[h]=void 0)}Eu[h]=setInterval(U0,1e3/60)}function ww(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Tn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Tn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(A),Tn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function vw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(mr||c4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function kw(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function Sw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var bw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Dw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var _w={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var xw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:bw,keyboardSettings:Dw,midiSettings:_w,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var Lw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var Mw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Rw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Fw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. Currently you can modify its velocity and assign a patch (instrument) it uses. - This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Fw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Lw,effectsConfig:Mw,keyModifiers:Rw};var Tw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Nw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},sampleRate:{title:"Sample rate",description:"Output file sample rate in Hz. Leave as is unless you know what you're doing."},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls)",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Gw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Nw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:xw,settings:_w,synthesizerController:Fw,sequencerController:Tw};var Uw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Pw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Ow={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var qw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Uw,keyboardSettings:Pw,midiSettings:Ow,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Hw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Yw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var Vw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var zw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. + This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Tw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:Mw,effectsConfig:Rw,keyModifiers:Fw};var Nw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Gw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},sampleRate:{title:"Sample rate",description:"Output file sample rate in Hz. Leave as is unless you know what you're doing."},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls)",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Uw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Gw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:Lw,settings:xw,synthesizerController:Tw,sequencerController:Nw};var Pw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Ow={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var qw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Hw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Pw,keyboardSettings:Ow,midiSettings:qw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Vw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Yw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var zw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var Jw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. Aktualnie mo\u017Cesz nadpisa\u0107 si\u0142\u0119 nacisku oraz przypisa\u0107 instrument do danego klawisza. -To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var Jw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Yw,effectsConfig:Vw,keyModifiers:zw};var Kw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Ww={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},sampleRate:{title:"Cz\u0119stotliwo\u015B\u0107",description:"Cz\u0119stotliwo\u015B\u0107 pr\xF3bkowania d\u017Awi\u0119ku. Pozostaw bez zmian, chyba \u017Ce wiesz, co robisz."},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls)",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Zw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Ww,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Hw,settings:qw,synthesizerController:Jw,sequencerController:Kw};var jw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Xw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var ev={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var tv={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:jw,keyboardSettings:Xw,midiSettings:ev,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var iv={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var rv={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var nv={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:rv};var ov={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var sv={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var av={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:sv,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var Kw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Yw,effectsConfig:zw,keyModifiers:Jw};var Ww={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Zw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},sampleRate:{title:"Cz\u0119stotliwo\u015B\u0107",description:"Cz\u0119stotliwo\u015B\u0107 pr\xF3bkowania d\u017Awi\u0119ku. Pozostaw bez zmian, chyba \u017Ce wiesz, co robisz."},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls)",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var jw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Zw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Vw,settings:Hw,synthesizerController:Kw,sequencerController:Ww};var Xw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var ev={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var tv={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var iv={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Xw,keyboardSettings:ev,midiSettings:tv,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var rv={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var nv={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var ov={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:nv};var sv={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var av={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var Av={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:av,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:iv,settings:tv,synthesizerController:nv,sequencerController:ov};var Av={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var $v={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var lv={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var cv={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:Av,keyboardSettings:$v,midiSettings:lv,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var gv={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var uv={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var hv={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente -Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:uv};var dv={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var fv={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis +\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:rv,settings:iv,synthesizerController:ov,sequencerController:sv};var $v={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var lv={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var cv={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var gv={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:$v,keyboardSettings:lv,midiSettings:cv,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var uv={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var hv={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var dv={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente +Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:hv};var fv={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var Iv={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier Note : si la banque de sons \xE9tait d\xE9j\xE0 compress\xE9e, cette option ne d\xE9compressera pas m\xEAme en \xE9tant d\xE9sactiv\xE9e`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"}}},rmidi:{button:{title:"MIDI embarqu\xE9 (.rmi)",description:`Exporter le fichier MIDI modifi\xE9 avec la banque de sons all\xE9g\xE9e dans un seul fichier Note : ce format n'est pas support\xE9 par tous les lecteurs MIDI`},progress:{title:"Exportation du fichier MIDI embarqu\xE9...",loading:"Chargement de la banque de sons et du fichier MIDI...",modifyingMIDI:"Modification MIDI...",modifyingSoundfont:"All\xE8gement de la banque de sons...",saving:"Cr\xE9ation du fichier RMIDI...",done:"Termin\xE9 !"},options:{title:"Options de l'exportation RMIDI",confirm:"Exporter",compress:{title:"Compression",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand\xE9e)`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"},bankOffset:{title:"D\xE9calage de banque",description:`D\xE9calage des num\xE9ros de banque dans le fichier (une valeur de 0 est recommand\xE9e sauf cas particulier)`},adjust:{title:"Ajustement MIDI",description:`Ajuste le fichier MIDI \xE0 la banque de sons -(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var Iv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:fv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:gv,settings:cv,synthesizerController:hv,sequencerController:dv};var mv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var pv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var Ev={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var Cv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:mv,keyboardSettings:pv,midiSettings:Ev,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var Bv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Qv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var yv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var wv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Qv,effectsConfig:yv};var vv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var kv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var Sv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:kv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:Bv,settings:Cv,synthesizerController:wv,sequencerController:vv};var tB="en",x$={en:Gw,pl:Zw,ja:av,fr:Iv,pt:Sv};var KD=.2,WD={2048:.05,4096:.2,8192:.27,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,h,p,U,j,O,X){this.delay=X,this.mode="dark",this.autoKeyRange=!1,this.renderer=h,this.midiKeyboard=p,this.midiDeviceHandler=U,this.synthui=A,this.sequi=c,this.locale=O,this.musicMode=j,this.locales=x$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let U0=document.createElement("div");U0.style.position="relative",U0.classList.add("seamless_button"),U0.classList.add("settings_button"),i.appendChild(U0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(_,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(_);let P=document.createElement("div");P.classList.add("seamless_button"),this.locale.bindObjectProperty(P,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(P,"title","locale.hideTopBar.description"),i.appendChild(P);let i0=document.getElementsByClassName("show_top_button")[0];i0.innerHTML=Yy(20);let n1=document.createElement("span");this.locale.bindObjectProperty(n1,"innerText","locale.settings.toggleButton"),U0.appendChild(n1);let S1=document.createElement("div");S1.innerHTML=qy(24),S1.classList.add("gear"),U0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,U0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),_.onclick=this.toggleMusicPlayerMode.bind(this),P.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=dw,ow(this.mainDiv);for(let g2 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(g2,"textContent",g2.getAttribute("translate-path"));for(let g2 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let n2=g2.getAttribute("translate-path-title");this.locale.bindObjectProperty(g2,"textContent",n2+".title"),this.locale.bindObjectProperty(g2,"title",n2+".description")}this.getHtmlControls(),document.addEventListener("keydown",g2=>{switch(g2.key.toLowerCase()){case si.settingsShow:this.setVisibility(!this.visible);break;case si.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(h,p,U,c,A)}):this.createHandlers(h,p,U,c,A),this.topPartVisible=!0;let f1=!1;window.addEventListener("resize",()=>{let g2=window.screen.height,n2=window.screen.width,f2=window.outerHeight,a5=window.outerWidth,T2;T2=n2===a5&&g2===f2,T2!==f1&&(f1=T2,T2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},KD*1e3)),this.visible=i}createHandlers(i,A,c,h,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,h,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}setTimeDelay(i){let A;i>=2048?A=WD[i]:A=0,this.delay.delayTime.value=A,this.renderer.timeOffset=A,this.synthui.synth.eventHandler.timeDelay=A}};v7.prototype._toggleDarkMode=Qw;v7.prototype._createInterfaceSettingsHandler=pw;v7.prototype._changeLayout=Ew;v7.prototype._createRendererHandler=yw;v7.prototype._createMidiSettingsHandler=ww;v7.prototype._createMidiInputHandler=vw;v7.prototype._createMidiOutputHandler=kw;v7.prototype._createKeyboardHandler=hw;v7.prototype._loadSettings=fw;v7.prototype._serializeSettings=mw;v7.prototype._saveSettings=Iw;var bv=.5,zE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var mv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:Iv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:uv,settings:gv,synthesizerController:dv,sequencerController:fv};var pv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var Ev={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var Cv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var Bv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:pv,keyboardSettings:Ev,midiSettings:Cv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var Qv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var yv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var wv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var vv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:yv,effectsConfig:wv};var kv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Sv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var bv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Sv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:Qv,settings:Bv,synthesizerController:vv,sequencerController:kv};var iB="en",x$={en:Uw,pl:jw,ja:Av,fr:mv,pt:bv};var WD=.2,ZD={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,h,p,T,H,O,X){this.delay=X,this.mode="dark",this.autoKeyRange=!1,this.renderer=h,this.midiKeyboard=p,this.midiDeviceHandler=T,this.synthui=A,this.sequi=c,this.locale=O,this.musicMode=H,this.locales=x$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let U0=document.createElement("div");U0.style.position="relative",U0.classList.add("seamless_button"),U0.classList.add("settings_button"),i.appendChild(U0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(_,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(_);let P=document.createElement("div");P.classList.add("seamless_button"),this.locale.bindObjectProperty(P,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(P,"title","locale.hideTopBar.description"),i.appendChild(P);let i0=document.getElementsByClassName("show_top_button")[0];i0.innerHTML=Yy(20);let n1=document.createElement("span");this.locale.bindObjectProperty(n1,"innerText","locale.settings.toggleButton"),U0.appendChild(n1);let S1=document.createElement("div");S1.innerHTML=Hy(24),S1.classList.add("gear"),U0.appendChild(S1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,U0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),_.onclick=this.toggleMusicPlayerMode.bind(this),P.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=fw,sw(this.mainDiv);for(let g2 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(g2,"textContent",g2.getAttribute("translate-path"));for(let g2 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let n2=g2.getAttribute("translate-path-title");this.locale.bindObjectProperty(g2,"textContent",n2+".title"),this.locale.bindObjectProperty(g2,"title",n2+".description")}this.getHtmlControls(),document.addEventListener("keydown",g2=>{switch(g2.key.toLowerCase()){case si.settingsShow:this.setVisibility(!this.visible);break;case si.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(h,p,T,c,A)}):this.createHandlers(h,p,T,c,A),this.topPartVisible=!0;let f1=!1;window.addEventListener("resize",()=>{let g2=window.screen.height,n2=window.screen.width,f2=window.outerHeight,a5=window.outerWidth,T2;T2=n2===a5&&g2===f2,T2!==f1&&(f1=T2,T2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},WD*1e3)),this.visible=i}createHandlers(i,A,c,h,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,h,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}setTimeDelay(i){let A;i>=2048?A=ZD[i]:A=0,this.delay.delayTime.value=A,this.renderer.timeOffset=A,this.synthui.synth.eventHandler.timeDelay=A}};v7.prototype._toggleDarkMode=yw;v7.prototype._createInterfaceSettingsHandler=Ew;v7.prototype._changeLayout=Cw;v7.prototype._createRendererHandler=ww;v7.prototype._createMidiSettingsHandler=vw;v7.prototype._createMidiInputHandler=kw;v7.prototype._createMidiOutputHandler=Sw;v7.prototype._createKeyboardHandler=dw;v7.prototype._loadSettings=Iw;v7.prototype._serializeSettings=pw;v7.prototype._saveSettings=mw;var Dv=.5,WE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=`
- ${Hy("100%")} + ${Vy("100%")}
@@ -264,21 +264,21 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),A.bindObjectProperty(c,"title",c.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=A}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(i){document.getElementById("player_info_title").textContent=i}connectSequencer(i){this.seq=i,this.seq.addOnSongChangeEvent(A=>{let c=A.copyright.replaceAll(` -`,""),h=(i0,n1,S1=!0)=>{let f1=document.getElementById(i0);if(n1.length>0)if(f1.parentElement.classList.remove("hidden"),f1.innerHTML="",n1.length>30&&S1){f1.classList.add("marquee");let g2=document.createElement("span");g2.textContent=n1,f1.appendChild(g2)}else f1.textContent=n1;else f1.parentElement.classList.add("hidden")};h("player_info_detail",c),h("player_info_time",w$(this.seq.duration).time),h("player_info_file_name",A.fileName,!1);let p=(i0,n1,S1,f1="")=>this.seq.midiData.RMIDInfo?.[i0]===void 0?n1:f1+S1.decode(this.seq.midiData.RMIDInfo?.[i0]).replace(/\0$/,""),U=p("IENC","ascii",new TextDecoder),j=new TextDecoder(U);h("player_info_album",p("IPRD","",j)),h("player_info_artist",p("IART","",j)),h("player_info_genre",p("IGNR","",j)),h("player_info_creation",p("ICRD","",j)+p("ICRT","",j,` -`)),h("player_info_comment",p("ICMT","",j));let O=this.mainDiv.getElementsByTagName("svg")[0],X=this.mainDiv.getElementsByTagName("img")[0],U0=document.getElementById("player_info_background_image");if(!A.isEmbedded){O.style.display="",X.style.display="none",U0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){O.style.display="",X.style.display="none",U0.style.setProperty("--bg-image","undefined");return}O.style.display="none",X.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),P=URL.createObjectURL(_);X.src=P,U0.style.setProperty("--bg-image",`url('${P}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let h=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${h}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},bv*1e3)}else{let h=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${h}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},bv*1e3)}}};var JE=class{onLocaleChanged=[];constructor(i){this.locale=x$[i]||x$[tB],this.fallbackLocale=x$[tB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,h)=>typeof A[h]<"u"?A[h]:c)}bindObjectProperty(i,A,c,h=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:h,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),h=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(h)}),this.locale=c,this._boundObjectProperties.forEach(h=>{this._applyPropertyInternal(h)}),this.onLocaleChanged.forEach(h=>h())}};function iB(n,i=!0,A=0,c={},h=void 0){let p=n.getChannelData(A),U=n.getChannelData(A+1),j=p.length,O=2,X=new K5(0),U0=Object.keys(c).length>0;if(U0){let A0=new TextEncoder,C5=[fu("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),X=k6("LIST",St(C5))}let _=new K5(0),P=h?.end!==void 0&&h?.start!==void 0;if(P){let A0=Math.floor(h.start*n.sampleRate),C5=Math.floor(h.end*n.sampleRate),y3=new K5(24);Ii(y3,0,4),Ii(y3,0,4),U8(y3,"data"),Ii(y3,0,4),Ii(y3,0,4),Ii(y3,A0,4);let v3=new K5(24);Ii(v3,1,4),Ii(v3,0,4),U8(v3,"data"),Ii(v3,0,4),Ii(v3,0,4),Ii(v3,C5,4);let g6=St([new K5([2,0,0,0]),y3,v3]);_=k6("cue ",g6)}let i0=44,n1=j*2*O,S1=i0+n1+X.length+_.length-8,f1=new Uint8Array(i0);f1.set([82,73,70,70],0),f1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),4),f1.set([87,65,86,69],8),f1.set([102,109,116,32],12),f1.set([16,0,0,0],16),f1.set([1,0],20),f1.set([2,0],22);let g2=n.sampleRate;f1.set(new Uint8Array([g2&255,g2>>8&255,g2>>16&255,g2>>24&255]),24);let n2=g2*2*O;f1.set(new Uint8Array([n2&255,n2>>8&255,n2>>16&255,n2>>24&255]),28),f1.set([4,0],32),f1.set([16,0],34),f1.set([100,97,116,97],36),f1.set(new Uint8Array([n1&255,n1>>8&255,n1>>16&255,n1>>24&255]),40);let f2=new Uint8Array(S1+8),a5=i0;f2.set(f1,0);let T2=32767;if(i){let A0=p.map((C5,y3)=>Math.max(Math.abs(C5),Math.abs(U[y3]))).reduce((C5,y3)=>Math.max(C5,y3));T2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,f2[a5++]=y3&255,f2[a5++]=y3>>8&255}return U0&&(f2.set(X,a5),a5+=X.length),P&&f2.set(_,a5),new Blob([f2.buffer],{type:"audio/wav"})}var Dv=1e3;async function _v(n=!0,i=44100,A=2,c=!1,h={},p=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let U=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),j=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),O=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),X=c4(U,[{type:"text",textContent:O},{type:"progress"}],9999999,!1),U0=await this.seq.getMIDI(),_=_p(U0.loop.start,U0),P=_p(U0.loop.end,U0),i0=P-_,n1=U0.duration+A+i0*p,S1=i*n1,f1;try{f1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:S1}),await f1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(p3){c4("ERROR",[{type:"text",textContent:p3}]);return}let g2=await this.synth.getSynthesizerSnapshot(),n2=this.soundFont,f2,T2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await f1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};g2.effectsConfig=T2;try{f2=new hu(f1.destination,n2,!1,{parsedMIDI:U0,snapshot:g2,oneOutput:c,loopCount:p},T2)}catch(p3){throw c4(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p3}let A0=X.div.getElementsByTagName("p")[0],C5=X.div.getElementsByClassName("notification_progress")[0],y3=Dv/1e3,v3=f2.currentTime,g6=n1,k3=.1,c9=setInterval(()=>{let p3=f2.currentTime-v3;v3=f2.currentTime;let w6=f2.currentTime/n1;C5.style.width=`${w6*100}%`;let L4=p3/y3,G7=(1-w6)/L4*n1;G7!==1/0&&(g6=k3*G7+(1-k3)*g6,A0.innerText=`${j} ${w$(g6).time}`)},Dv),N9=await f1.startRendering();if(C5.style.width="100%",clearInterval(c9),A0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(p3=>setTimeout(p3,75)),c){let p3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",w6=[],L4=new Set;for(let O8 of U0.usedChannelsOnTrack)O8.forEach(Ja=>L4.add(Ja));for(let O8=0;O8<16;O8++){let Ja=!0;for(let Er=O8;Er{let M$=Ka.textContent;Ka.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ne=>setTimeout(Ne,75));let AC=iB(N9,!1,O8*2),$C=`${O8+1} - ${g2.channelSnapshots[O8].patchName}.wav`;this.saveBlob(AC,$C),Ka.classList.add("green_button"),Ka.textContent=M$}})}let G7=c4(this.localeManager.getLocaleString(p3+"title"),w6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});G7.div.style.width="30rem"}else{let p3=_p(U0.firstNoteOn,U0),w6=_-p3,L4=P-p3,G7;p===0&&(G7={start:w6,end:L4});let O8=iB(N9,n,0,h,G7);this.saveBlob(O8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_e(X.id),this.isExporting=!1}async function xv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(X,U0,_)=>this.seq.midiData.RMIDInfo?.[X]===void 0?U0:_.decode(this.seq.midiData.RMIDInfo?.[X]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),h=new TextDecoder(c),p=A("IPRD","",h),U=A("IART","",h),j=A("IGNR","",h),O=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:U,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:j,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:X=>{_e(X.id);let U0=X.div.querySelector("input[normalize-volume-toggle]").checked,_=X.div.querySelector("input[additional-time]").value,P=X.div.querySelector("input[sample-rate]").value,i0=X.div.querySelector("input[loop-count]").value,n1=X.div.querySelector("input[separate-channels-toggle]").checked,S1=X.div.querySelector("input[name='artist']").value,f1=X.div.querySelector("input[name='album']").value,g2=X.div.querySelector("input[name='song_title']").value,n2=X.div.querySelector("input[name='genre']").value,f2={artist:S1.length>0?S1:void 0,album:f1.length>0?f1:void 0,title:g2.length>0?g2:void 0,genre:n2.length>0?n2:void 0};this._doExportAudioData(U0,parseInt(P),parseInt(_),n1,f2,parseInt(i0))}}];c4(this.localeManager.getLocaleString(n+"title"),O,9999999,!0,this.localeManager)}async function Lv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=RE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Mv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,P)=>P>_?P:_),c=[];for(let _=0;_{U[n1]>=i0.length||i0[U[n1]].ticks0;){let _=O(),P=n.tracks[_];if(U[_]>=P.length){j--;continue}let i0=P[U[_]];if(U[_]++,i0.messageStatusByte===Z3.midiPort){X[_]=i0.messageData[0];continue}let n1=i0.messageStatusByte&240;if(n1!==Z3.noteOn&&n1!==Z3.controllerChange&&n1!==Z3.programChange&&n1!==Z3.systemExclusive)continue;let S1=(i0.messageStatusByte&15)+n.midiPortChannelOffsets[X[_]]||0,f1=c[S1];switch(n1){case Z3.programChange:f1.program=i0.messageData[0],h(f1);break;case Z3.controllerChange:if(i0.messageData[0]!==$3.bankSelect||U0==="gs"&&f1.drums)continue;let g2=i0.messageData[1],n2=Math.max(0,g2-n.bankOffset);if(U0==="xg"){let T2=g2===120||g2===126||g2===127;T2!==f1.drums?(f1.drums=T2,f1.bank=f1.drums?128:n2,h(f1)):f1.bank=f1.drums?128:n2;continue}c[S1].bank=n2;break;case Z3.noteOn:if(i0.messageData[1]===0)continue;h(f1),p[f1.string].add(`${i0.messageData[0]}-${i0.messageData[1]}`);break;case Z3.systemExclusive:if(i0.messageData[0]!==65||i0.messageData[2]!==66||i0.messageData[3]!==18||i0.messageData[4]!==64||!(i0.messageData[5]&16)||i0.messageData[6]!==21){i0.messageData[0]===67&&i0.messageData[2]===76&&i0.messageData[5]===126&&i0.messageData[6]===0&&(U0="xg");continue}let f2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][i0.messageData[5]&15]+n.midiPortChannelOffsets[X[_]],a5=!!(i0.messageData[7]>0&&i0.messageData[5]>>4);f1=c[f2],f1.drums=a5,f1.bank=a5?128:0,h(f1);break}}for(let _ of Object.keys(p))p[_].size===0&&(U5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return u9(),p}function Eu(n,i){function A(h,p){let U=0;for(let j=0;j=X.min&&P.key<=X.max&&P.velocity>=U0.min&&P.velocity<=U0.max){_=!0;break}_||(U5(`%c${O.sample.sampleName} %cremoved from %c${h.instrumentName}%c. Use count: %c${O.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),h.safeDeleteZone(j)&&(U++,j--,U5(`%c${O.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),O.sample.useCount<1&&n.deleteSample(O.sample))}return U}R7("%cTrimming soundfont...",C1.info);let c=Mv(i,n);y8("%cModifying soundfont...",C1.info),U5("Detected keys for midi:",c);for(let h=0;h{let _=U0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),U5(`Keys for ${p.presetName}:`,O);let X=0;for(let U0=0;U0=P.min&&S1.key<=P.max&&S1.velocity>=i0.min&&S1.velocity<=i0.max){n1=!0;let f1=A(_.instrument,O);U5(`%cTrimmed off %c${f1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}n1||(X++,p.deleteZone(U0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),U0--)}U5(`%cTrimmed off %c${X}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),u9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`,""),h=(i0,n1,S1=!0)=>{let f1=document.getElementById(i0);if(n1.length>0)if(f1.parentElement.classList.remove("hidden"),f1.innerHTML="",n1.length>30&&S1){f1.classList.add("marquee");let g2=document.createElement("span");g2.textContent=n1,f1.appendChild(g2)}else f1.textContent=n1;else f1.parentElement.classList.add("hidden")};h("player_info_detail",c),h("player_info_time",w$(this.seq.duration).time),h("player_info_file_name",A.fileName,!1);let p=(i0,n1,S1,f1="")=>this.seq.midiData.RMIDInfo?.[i0]===void 0?n1:f1+S1.decode(this.seq.midiData.RMIDInfo?.[i0]).replace(/\0$/,""),T=p("IENC","ascii",new TextDecoder),H=new TextDecoder(T);h("player_info_album",p("IPRD","",H)),h("player_info_artist",p("IART","",H)),h("player_info_genre",p("IGNR","",H)),h("player_info_creation",p("ICRD","",H)+p("ICRT","",H,` +`)),h("player_info_comment",p("ICMT","",H));let O=this.mainDiv.getElementsByTagName("svg")[0],X=this.mainDiv.getElementsByTagName("img")[0],U0=document.getElementById("player_info_background_image");if(!A.isEmbedded){O.style.display="",X.style.display="none",U0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){O.style.display="",X.style.display="none",U0.style.setProperty("--bg-image","undefined");return}O.style.display="none",X.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),P=URL.createObjectURL(_);X.src=P,U0.style.setProperty("--bg-image",`url('${P}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let h=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${h}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Dv*1e3)}else{let h=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${h}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Dv*1e3)}}};var ZE=class{onLocaleChanged=[];constructor(i){this.locale=x$[i]||x$[iB],this.fallbackLocale=x$[iB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,h)=>typeof A[h]<"u"?A[h]:c)}bindObjectProperty(i,A,c,h=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:h,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),h=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(h)}),this.locale=c,this._boundObjectProperties.forEach(h=>{this._applyPropertyInternal(h)}),this.onLocaleChanged.forEach(h=>h())}};function rB(n,i=!0,A=0,c={},h=void 0){let p=n.getChannelData(A),T=n.getChannelData(A+1),H=p.length,O=2,X=new K5(0),U0=Object.keys(c).length>0;if(U0){let A0=new TextEncoder,C5=[fu("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),X=k6("LIST",St(C5))}let _=new K5(0),P=h?.end!==void 0&&h?.start!==void 0;if(P){let A0=Math.floor(h.start*n.sampleRate),C5=Math.floor(h.end*n.sampleRate),y3=new K5(24);Ii(y3,0,4),Ii(y3,0,4),U8(y3,"data"),Ii(y3,0,4),Ii(y3,0,4),Ii(y3,A0,4);let k3=new K5(24);Ii(k3,1,4),Ii(k3,0,4),U8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,C5,4);let g6=St([new K5([2,0,0,0]),y3,k3]);_=k6("cue ",g6)}let i0=44,n1=H*2*O,S1=i0+n1+X.length+_.length-8,f1=new Uint8Array(i0);f1.set([82,73,70,70],0),f1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),4),f1.set([87,65,86,69],8),f1.set([102,109,116,32],12),f1.set([16,0,0,0],16),f1.set([1,0],20),f1.set([2,0],22);let g2=n.sampleRate;f1.set(new Uint8Array([g2&255,g2>>8&255,g2>>16&255,g2>>24&255]),24);let n2=g2*2*O;f1.set(new Uint8Array([n2&255,n2>>8&255,n2>>16&255,n2>>24&255]),28),f1.set([4,0],32),f1.set([16,0],34),f1.set([100,97,116,97],36),f1.set(new Uint8Array([n1&255,n1>>8&255,n1>>16&255,n1>>24&255]),40);let f2=new Uint8Array(S1+8),a5=i0;f2.set(f1,0);let T2=32767;if(i){let A0=p.map((C5,y3)=>Math.max(Math.abs(C5),Math.abs(T[y3]))).reduce((C5,y3)=>Math.max(C5,y3));T2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,f2[a5++]=y3&255,f2[a5++]=y3>>8&255}return U0&&(f2.set(X,a5),a5+=X.length),P&&f2.set(_,a5),new Blob([f2.buffer],{type:"audio/wav"})}var _v=1e3;async function xv(n=!0,i=44100,A=2,c=!1,h={},p=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let T=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),H=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),O=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),X=c4(T,[{type:"text",textContent:O},{type:"progress"}],9999999,!1),U0=await this.seq.getMIDI(),_=Iu(U0.loop.start,U0),P=Iu(U0.loop.end,U0),i0=P-_,n1=U0.duration+A+i0*p,S1=i*n1,f1;try{f1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:S1}),await f1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(p3){c4("ERROR",[{type:"text",textContent:p3}]);return}let g2=await this.synth.getSynthesizerSnapshot(),n2=this.soundFont,f2,T2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await f1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};g2.effectsConfig=T2;try{f2=new hu(f1.destination,n2,!1,{parsedMIDI:U0,snapshot:g2,oneOutput:c,loopCount:p},T2)}catch(p3){throw c4(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p3}let A0=X.div.getElementsByTagName("p")[0],C5=X.div.getElementsByClassName("notification_progress")[0],y3=_v/1e3,k3=f2.currentTime,g6=n1,S3=.1,c9=setInterval(()=>{let p3=f2.currentTime-k3;k3=f2.currentTime;let w6=f2.currentTime/n1;C5.style.width=`${w6*100}%`;let L4=p3/y3,G7=(1-w6)/L4*n1;G7!==1/0&&(g6=S3*G7+(1-S3)*g6,A0.innerText=`${H} ${w$(g6).time}`)},_v),N9=await f1.startRendering();if(C5.style.width="100%",clearInterval(c9),A0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(p3=>setTimeout(p3,75)),c){let p3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",w6=[],L4=new Set;for(let O8 of U0.usedChannelsOnTrack)O8.forEach(Ja=>L4.add(Ja));for(let O8=0;O8<16;O8++){let Ja=!0;for(let Cr=O8;Cr{let M$=Ka.textContent;Ka.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ne=>setTimeout(Ne,75));let cC=rB(N9,!1,O8*2),gC=`${O8+1} - ${g2.channelSnapshots[O8].patchName}.wav`;this.saveBlob(cC,gC),Ka.classList.add("green_button"),Ka.textContent=M$}})}let G7=c4(this.localeManager.getLocaleString(p3+"title"),w6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});G7.div.style.width="30rem"}else{let p3=Iu(U0.firstNoteOn,U0),w6=_-p3,L4=P-p3,G7;p===0&&(G7={start:w6,end:L4});let O8=rB(N9,n,0,h,G7);this.saveBlob(O8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_e(X.id),this.isExporting=!1}async function Lv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(X,U0,_)=>this.seq.midiData.RMIDInfo?.[X]===void 0?U0:_.decode(this.seq.midiData.RMIDInfo?.[X]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),h=new TextDecoder(c),p=A("IPRD","",h),T=A("IART","",h),H=A("IGNR","",h),O=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:T,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:H,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:X=>{_e(X.id);let U0=X.div.querySelector("input[normalize-volume-toggle]").checked,_=X.div.querySelector("input[additional-time]").value,P=X.div.querySelector("input[sample-rate]").value,i0=X.div.querySelector("input[loop-count]").value,n1=X.div.querySelector("input[separate-channels-toggle]").checked,S1=X.div.querySelector("input[name='artist']").value,f1=X.div.querySelector("input[name='album']").value,g2=X.div.querySelector("input[name='song_title']").value,n2=X.div.querySelector("input[name='genre']").value,f2={artist:S1.length>0?S1:void 0,album:f1.length>0?f1:void 0,title:g2.length>0?g2:void 0,genre:n2.length>0?n2:void 0};this._doExportAudioData(U0,parseInt(P),parseInt(_),n1,f2,parseInt(i0))}}];c4(this.localeManager.getLocaleString(n+"title"),O,9999999,!0,this.localeManager)}async function Mv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=NE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Rv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,P)=>P>_?P:_),c=[];for(let _=0;_{T[n1]>=i0.length||i0[T[n1]].ticks0;){let _=O(),P=n.tracks[_];if(T[_]>=P.length){H--;continue}let i0=P[T[_]];if(T[_]++,i0.messageStatusByte===v3.midiPort){X[_]=i0.messageData[0];continue}let n1=i0.messageStatusByte&240;if(n1!==v3.noteOn&&n1!==v3.controllerChange&&n1!==v3.programChange&&n1!==v3.systemExclusive)continue;let S1=(i0.messageStatusByte&15)+n.midiPortChannelOffsets[X[_]]||0,f1=c[S1];switch(n1){case v3.programChange:f1.program=i0.messageData[0],h(f1);break;case v3.controllerChange:if(i0.messageData[0]!==$3.bankSelect||U0==="gs"&&f1.drums)continue;let g2=i0.messageData[1],n2=Math.max(0,g2-n.bankOffset);if(U0==="xg"){let T2=g2===120||g2===126||g2===127;T2!==f1.drums?(f1.drums=T2,f1.bank=f1.drums?128:n2,h(f1)):f1.bank=f1.drums?128:n2;continue}c[S1].bank=n2;break;case v3.noteOn:if(i0.messageData[1]===0)continue;h(f1),p[f1.string].add(`${i0.messageData[0]}-${i0.messageData[1]}`);break;case v3.systemExclusive:if(i0.messageData[0]!==65||i0.messageData[2]!==66||i0.messageData[3]!==18||i0.messageData[4]!==64||!(i0.messageData[5]&16)||i0.messageData[6]!==21){i0.messageData[0]===67&&i0.messageData[2]===76&&i0.messageData[5]===126&&i0.messageData[6]===0&&(U0="xg");continue}let f2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][i0.messageData[5]&15]+n.midiPortChannelOffsets[X[_]],a5=!!(i0.messageData[7]>0&&i0.messageData[5]>>4);f1=c[f2],f1.drums=a5,f1.bank=a5?128:0,h(f1);break}}for(let _ of Object.keys(p))p[_].size===0&&(U5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return u9(),p}function Cu(n,i){function A(h,p){let T=0;for(let H=0;H=X.min&&P.key<=X.max&&P.velocity>=U0.min&&P.velocity<=U0.max){_=!0;break}_||(U5(`%c${O.sample.sampleName} %cremoved from %c${h.instrumentName}%c. Use count: %c${O.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),h.safeDeleteZone(H)&&(T++,H--,U5(`%c${O.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),O.sample.useCount<1&&n.deleteSample(O.sample))}return T}R7("%cTrimming soundfont...",C1.info);let c=Rv(i,n);y8("%cModifying soundfont...",C1.info),U5("Detected keys for midi:",c);for(let h=0;h{let _=U0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),U5(`Keys for ${p.presetName}:`,O);let X=0;for(let U0=0;U0=P.min&&S1.key<=P.max&&S1.velocity>=i0.min&&S1.velocity<=i0.max){n1=!0;let f1=A(_.instrument,O);U5(`%cTrimmed off %c${f1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}n1||(X++,p.deleteZone(U0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),U0--)}U5(`%cTrimmed off %c${X}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),u9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+n.soundFontInfo.ICMT,U5("%cSoundfont modified!",C1.recognized),u9(),u9()}function Rv(){let n=4;for(let c of this.instruments)n+=c.instrumentZones.reduce((h,p)=>(p.generators=p.generators.filter(U=>U.generatorType!==I0.sampleID&&U.generatorType!==I0.keyRange&&U.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+h),0);let i=new K5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return m9(i,0),it(new y4("igen",i.length,i))}function Fv(n,i,A,c,h){let p=this.samples.map((X,U0)=>{A&&X.compressSample(c,h);let _=X.getRawData();return U5(`%cEncoded sample %c${U0}. ${X.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),U=this.samples.reduce((X,U0,_)=>X+p[_].length+46,0),j=new K5(U);this.samples.forEach((X,U0)=>{let _=p[U0],P,i0,n1=_.length;X.isCompressed?(P=j.currentIndex,i0=P+_.length):(P=j.currentIndex/2,i0=P+_.length/2,n1+=46),n.push(P),j.set(_,j.currentIndex),j.currentIndex+=n1,i.push(i0)});let O=it(new y4("smpl",j.length,j),new K5([115,100,116,97]));return it(new y4("LIST",O.length,O))}function Tv(n,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((h,p)=>{U8(c,h.sampleName,20);let U=n[p];m9(c,U);let j=i[p];m9(c,j);let O=h.sampleLoopStartIndex+U,X=h.sampleLoopEndIndex+U;h.isCompressed&&(O-=U,X-=U),m9(c,O),m9(c,X),m9(c,h.sampleRate),c[c.currentIndex++]=h.samplePitch,c[c.currentIndex++]=h.samplePitchCorrection,j3(c,h.sampleLink),j3(c,h.sampleType)}),U8(c,"EOS",46),it(new y4("shdr",c.length,c))}function Nv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new K5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("imod",i.length,i))}function Gv(){let n=this.instruments.reduce((p,U)=>U.instrumentZones.length*4+p,4),i=new K5(n),A=0,c=0,h=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let U of p.instrumentZones)U.zoneID=A,j3(i,c),j3(i,h),c+=U.generators.length,h+=U.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("ibag",i.length,i))}function Uv(){let n=this.instruments.length*22+22,i=new K5(n),A=0,c=0;for(let h of this.instruments)U8(i,h.instrumentName,20),j3(i,A),A+=h.instrumentZones.length,h.instrumentID=c,c++;return U8(i,"EOI",20),j3(i,A),it(new y4("inst",i.length,i))}function Pv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>(p.generators=p.generators.filter(U=>U.generatorType!==I0.instrument&&U.generatorType!==I0.keyRange&&U.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+h),0);let i=new K5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=h.generators.length}return j3(i,0),j3(i,0),it(new y4("pgen",i.length,i))}function Ov(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new K5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("pmod",i.length,i))}function qv(){let n=this.presets.reduce((p,U)=>U.presetZones.length*4+p,4),i=new K5(n),A=0,c=0,h=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let U of p.presetZones)U.zoneID=A,j3(i,c),j3(i,h),c+=U.generators.length,h+=U.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("pbag",i.length,i))}function Hv(){let n=this.presets.length*38+38,i=new K5(n),A=0;for(let c of this.presets)U8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),m9(i,c.library),m9(i,c.genre),m9(i,c.morphology),A+=c.presetZones.length;return U8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),m9(i,0),m9(i,0),m9(i,0),it(new y4("phdr",i.length,i))}var ZD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Yv(n=ZD){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),U5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),U5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a5,T2]of Object.entries(this.soundFontInfo))if(a5==="ifil"||a5==="iver"){let A0=parseInt(T2.split(".")[0]),C5=parseInt(T2.split(".")[1]),y3=new K5(4);j3(y3,A0),j3(y3,C5),i.push(it(new y4(a5,4,y3)))}else if(a5==="DMOD")i.push(it(new y4(a5,T2.length,T2)));else{let A0=new K5(T2.length);U8(A0,T2),i.push(it(new y4(a5,T2.length,A0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new y4("LIST",A.length,A));U5("%cWriting SDTA...",C1.info);let h=[],p=[],U=Fv.call(this,h,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);U5("%cWriting PDTA...",C1.info),U5("%cWriting SHDR...",C1.info);let j=Tv.call(this,h,p);U5("%cWriting IGEN...",C1.info);let O=Rv.call(this);U5("%cWriting IMOD...",C1.info);let X=Nv.call(this);U5("%cWriting IBAG...",C1.info);let U0=Gv.call(this);U5("%cWriting INST...",C1.info);let _=Uv.call(this),P=Pv.call(this);U5("%cWriting PMOD...",C1.info);let i0=Ov.call(this);U5("%cWriting PBAG...",C1.info);let n1=qv.call(this);U5("%cWriting PHDR...",C1.info);let S1=Hv.call(this),f1=St([new K5([112,100,116,97]),S1,n1,i0,P,_,U0,X,O,j]),g2=it(new y4("LIST",f1.length,f1));U5("%cWriting the output file...",C1.info);let n2=St([new K5([115,102,98,107]),c,U,g2]),f2=it(new y4("RIFF",n2.length,n2));return U5(`%cSaved succesfully! Final file size: %c${f2.length}`,C1.info,C1.recognized),u9(),f2}var Tp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var Kr=class extends Tp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Cu=class extends Tp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var jD=new Set([I0.velRange,I0.keyRange,I0.instrument,I0.exclusiveClass,I0.endOper,I0.sampleModes,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.initialAttenuation,I0.fineTune,I0.coarseTune,I0.keyNumToVolEnvHold,I0.keyNumToVolEnvDecay,I0.keyNumToModEnvHold,I0.keyNumToModEnvDecay]);function Vv(n,i=!0){function A(_,P){_.push(...P.filter(i0=>!_.find(n1=>n1.generatorType===i0.generatorType)))}function c(_,P){return{min:Math.max(_.min,P.min),max:Math.min(_.max,P.max)}}function h(_,P){_.push(...P.filter(i0=>!_.find(n1=>l9.isIdentical(i0,n1))))}let p=[],U=[],j=[],O={min:0,max:127},X={min:0,max:127},U0=n.presetZones.find(_=>_.isGlobal);U0&&(U.push(...U0.generators),j.push(...U0.modulators),O=U0.keyRange,X=U0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let P=_.keyRange;_.hasKeyRange||(P=O);let i0=_.velRange;_.hasVelRange||(i0=X);let n1=_.generators.map(A0=>new h6(A0.generatorType,A0.generatorValue));A(n1,U);let S1=[..._.modulators];h(S1,j);let f1=_.instrument.instrumentZones,g2=[],n2=[],f2={min:0,max:127},a5={min:0,max:127},T2=f1.find(A0=>A0.isGlobal);T2&&(g2.push(...T2.generators),n2.push(...T2.modulators),f2=T2.keyRange,a5=T2.velRange);for(let A0 of f1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=f2);let y3=A0.velRange;if(A0.hasVelRange||(y3=a5),C5=c(C5,P),y3=c(y3,i0),C5.maxnew h6(p3.generatorType,p3.generatorValue));A(v3,g2);let g6=[...A0.modulators];h(g6,n2);let k3=[...g6];for(let p3 of S1){let w6=k3.findIndex(L4=>l9.isIdentical(p3,L4));w6!==-1?k3[w6]=k3[w6].sumTransform(p3):k3.push(p3)}let c9=v3.map(p3=>new h6(p3.generatorType,p3.generatorValue));for(let p3 of n1){if(p3.generatorType===I0.velRange||p3.generatorType===I0.keyRange||p3.generatorType===I0.instrument||p3.generatorType===I0.endOper||p3.generatorType===I0.sampleModes)continue;let w6=v3.findIndex(L4=>L4.generatorType===p3.generatorType);if(w6!==-1){let L4=c9[w6].generatorValue+p3.generatorValue;c9[w6]=new h6(p3.generatorType,L4)}else{let L4=W6[p3.generatorType].def+p3.generatorValue;c9.push(new h6(p3.generatorType,L4))}}c9=c9.filter(p3=>p3.generatorType!==I0.sampleID&&p3.generatorType!==I0.keyRange&&p3.generatorType!==I0.velRange&&p3.generatorType!==I0.endOper&&p3.generatorType!==I0.instrument&&p3.generatorValue!==W6[p3.generatorType].def);let N9=new Kr;N9.keyRange=C5,N9.velRange=y3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=A0.sample,N9.generators=c9,N9.modulators=k3,p.push(N9)}}if(i){let _=new Kr;_.isGlobal=!0;for(let n1=0;n1<58;n1++){if(jD.has(n1))continue;let S1={},f1=W6[n1]?.def||0;S1[f1]=0;for(let g2 of p){let n2=g2.generators.find(T2=>T2.generatorType===n1);if(n2){let T2=n2.generatorValue;S1[T2]===void 0?S1[T2]=1:S1[T2]++}else S1[f1]++;let f2;switch(n1){default:continue;case I0.decayVolEnv:f2=I0.keyNumToVolEnvDecay;break;case I0.holdVolEnv:f2=I0.keyNumToVolEnvHold;break;case I0.decayModEnv:f2=I0.keyNumToModEnvDecay;break;case I0.holdModEnv:f2=I0.keyNumToModEnvHold}if(g2.generators.find(T2=>T2.generatorType===f2)!==void 0){S1={};break}}if(Object.keys(S1).length>0){let g2=Object.entries(S1).reduce((f2,a5)=>f2[1]{let a5=f2.generators.findIndex(T2=>T2.generatorType===n1);a5!==-1?f2.generators[a5].generatorValue===n2&&f2.generators.splice(a5,1):n2!==f1&&f2.generators.push(new h6(n1,f1))})}}let i0=p.find(n1=>!n1.isGlobal).modulators.map(n1=>l9.copy(n1));for(let n1 of i0){let S1=!0;for(let f1 of p){if(f1.isGlobal||!S1)continue;f1.modulators.find(n2=>l9.isIdentical(n2,n1))||(S1=!1)}if(S1===!0){_.modulators.push(l9.copy(n1));for(let f1 of p){let g2=f1.modulators.find(n2=>l9.isIdentical(n2,n1));g2.transformAmount===n1.transformAmount&&f1.modulators.splice(f1.modulators.indexOf(g2),1)}}}p.splice(0,0,_)}return p}var zv=20;function KE(n,i,A,c,h,p,U){let j=U===0?0:1,O=new K5(zv+j*16);m9(O,zv),j3(O,i),j3(O,A);let X=c*.4,U0=Math.floor(X*-65536);m9(O,U0),m9(O,2);let _=p-h,P=0;switch(U){default:case 0:j=0;break;case 1:P=0,j=1;break;case 3:P=1,j=1}return m9(O,j),j===1&&(m9(O,16),m9(O,P),m9(O,h),m9(O,_)),k6("wsmp",O)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},WE=new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),ZE=new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),jE=new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),XE=new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var R5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Np=class{source;control;destination;scale;transform;constructor(i,A,c,h,p){this.source=i,this.control=A,this.destination=c,this.scale=h,this.transform=p}writeArticulator(){let i=new K5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),m9(i,this.scale<<16),i}};function Jv(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function Kv(n,i){switch(n){default:return;case I0.initialAttenuation:return{dest:R5.gain,amount:-i};case I0.fineTune:return R5.pitch;case I0.pan:return R5.pan;case I0.keyNum:return R5.keyNum;case I0.reverbEffectsSend:return R5.reverbSend;case I0.chorusEffectsSend:return R5.chorusSend;case I0.freqModLFO:return R5.modLfoFreq;case I0.delayModLFO:return R5.modLfoDelay;case I0.delayVibLFO:return R5.vibLfoDelay;case I0.freqVibLFO:return R5.vibLfoFreq;case I0.delayVolEnv:return R5.volEnvDelay;case I0.attackVolEnv:return R5.volEnvAttack;case I0.holdVolEnv:return R5.volEnvHold;case I0.decayVolEnv:return R5.volEnvDecay;case I0.sustainVolEnv:return{dest:R5.volEnvSustain,amount:1e3-i};case I0.releaseVolEnv:return R5.volEnvRelease;case I0.delayModEnv:return R5.modEnvDelay;case I0.attackModEnv:return R5.modEnvAttack;case I0.holdModEnv:return R5.modEnvHold;case I0.decayModEnv:return R5.modEnvDecay;case I0.sustainModEnv:return{dest:R5.modEnvSustain,amount:1e3-i};case I0.releaseModEnv:return R5.modEnvRelease;case I0.initialFilterFc:return R5.filterCutoff;case I0.initialFilterQ:return R5.filterQ}}function Wv(n,i){switch(n){default:return;case I0.modEnvToFilterFc:return{source:m6.modEnv,dest:R5.filterCutoff,amt:i,isBipolar:!1};case I0.modEnvToPitch:return{source:m6.modEnv,dest:R5.pitch,amt:i,isBipolar:!1};case I0.modLfoToFilterFc:return{source:m6.modLfo,dest:R5.filterCutoff,amt:i,isBipolar:!0};case I0.modLfoToVolume:return{source:m6.modLfo,dest:R5.gain,amt:i,isBipolar:!0};case I0.modLfoToPitch:return{source:m6.modLfo,dest:R5.pitch,amt:i,isBipolar:!0};case I0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:R5.pitch,amt:i,isBipolar:!0};case I0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:R5.volEnvHold,amt:i,isBipolar:!0};case I0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:R5.volEnvDecay,amt:i,isBipolar:!0};case I0.keyNumToModEnvHold:return{source:m6.keyNum,dest:R5.modEnvHold,amt:i,isBipolar:!0};case I0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:R5.modEnvDecay,amt:i,isBipolar:!0};case I0.scaleTuning:return{source:m6.keyNum,dest:R5.pitch,amt:i*128,isBipolar:!1}}}function Zv(n){let i=Kv(n.generatorType,n.generatorValue),A=i,c=0,h=n.generatorValue;i?.amount!==void 0&&(h=i.amount,A=i.dest);let p=Wv(n.generatorType,n.generatorValue);if(p!==void 0)h=p.amt,A=p.dest,c=p.source;else if(A===void 0){T9(`Invalid generator type: ${n.generatorType}`);return}return new Np(c,0,A,h,0)}function jv(n){if(n.transformType!==0){T9("Other transform types are not supported.");return}let i=Jv(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,h=n.sourceDirection;if(i===void 0){T9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===I0.initialAttenuation&&(h=h===1?0:1);let p=Jv(n.secSrcUsesCC,n.secSrcIndex),U=n.secSrcCurveType,j=n.secSrcPolarity,O=n.secSrcDirection;if(p===void 0){T9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let X=Kv(n.modulatorDestination,n.transformAmount),U0=X,_=n.transformAmount;X?.dest!==void 0&&(U0=X.dest,_=X.amount);let P=Wv(n.modulatorDestination,n.transformAmount);if(P!==void 0)_=P.amt,p=i,U=A,j=c,O=h,A=j7.linear,c=P.isBipolar?1:0,h=0,i=P.source,U0=P.dest;else if(U0===void 0){T9(`Invalid destination: ${n.modulatorDestination}`);return}let i0=0;return i0|=U<<4,i0|=j<<8,i0|=O<<9,i0|=A,i0|=c<<14,i0|=h<<15,new Np(i,p,U0,_,i0)}var XD=new Set([I0.sampleModes,I0.initialAttenuation,I0.keyRange,I0.velRange,I0.sampleID,I0.fineTune,I0.coarseTune,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.overridingRootKey,I0.exclusiveClass]);function eC(n){for(let p=0;pn1.generatorType===j);if(O===void 0)continue;let X=U.generatorValue*-128,U0=60/128*X,_=O.generatorValue-U0,P=n.generators.indexOf(U),i0=n.generators.indexOf(O);n.generators[i0]=new h6(j,_,!1),n.generators[P]=new h6(U.generatorType,X,!1)}let i=n.generators.reduce((p,U)=>{if(XD.has(U.generatorType))return p;let j=Zv(U);return j!==void 0?(p.push(j),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,U)=>{if(l9.isIdentical(U,ZE,!0)||l9.isIdentical(U,WE,!0)||l9.isIdentical(U,jE,!0)||l9.isIdentical(U,XE,!0))return p;let j=jv(U);return j!==void 0?(p.push(j),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new K5(8);m9(c,8),m9(c,i.length);let h=i.map(p=>p.writeArticulator());return k6("art2",St([c,...h]))}function Xv(n,i){let A=new K5(12);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(I0.exclusiveClass,0);j3(A,c),j3(A,0);let h=k6("rgnh",A),p=n.getGeneratorValue(I0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(I0.scaleTuning,i.getGeneratorValue(I0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let j=KE(n.sample,p,n.getGeneratorValue(I0.fineTune,0)+n.getGeneratorValue(I0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(I0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(I0.startloopAddrsOffset,0)+n.getGeneratorValue(I0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(I0.endloopAddrsOffset,0)+n.getGeneratorValue(I0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(I0.sampleModes,0)),O=new K5(12);j3(O,0),j3(O,0),m9(O,1),m9(O,this.samples.indexOf(n.sample));let X=k6("wlnk",O),U0=new K5(0);if(n.modulators.length+n.generators.length>0){let _=eC(n);U0=k6("lar2",_,!1,!0)}return k6("rgn2",St([h,j,X,U0]),!1,!0)}function ek(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=Vv(n),A=i.reduce((P,i0)=>i0.isGlobal?P:P+1,0),c=new K5(12);m9(c,A);let h=(n.bank&127)<<8;n.bank===128&&(h|=1<<31),m9(c,h),m9(c,n.program&127);let p=k6("insh",c),U=new K5(0),j=i.find(P=>P.isGlobal===!0);if(j){let P=eC(j);U=k6("lar2",P,!1,!0)}let O=St(i.reduce((P,i0)=>(i0.isGlobal||P.push(Xv.apply(this,[i0,j])),P),[])),X=k6("lrgn",O,!1,!0),U0=k6("INAM",Fn(n.presetName)),_=k6("INFO",U0,!1,!0);return u9(),k6("ins ",St([p,X,U,_]),!1,!0)}function tk(){let n=St(this.presets.map(i=>ek.apply(this,[i])));return k6("lins",n,!1,!0)}function ik(n){let i=new K5(18);j3(i,1),j3(i,1),m9(i,n.sampleRate),m9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(c=0);let h=KE(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,c),p=n.getAudioData(),U;if(n.isCompressed){let X=new Int16Array(p.length);for(let U0=0;U0{let h=ik(c);return i.push(n),n+=h.length,h});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function nk(){y8("%cSaving DLS...",C1.info);let n=new K5(4);m9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=tk.apply(this);U5("%cSuccess!",C1.recognized),u9(),y8("%cWriting WAVE samples...",C1.info);let c=rk.apply(this),h=c.data,p=c.indexes;U5("%cSucceeded!",C1.recognized),u9();let U=new K5(8+4*p.length);m9(U,8),m9(U,p.length);for(let _ of p)m9(U,_);let j=k6("ptbl",U);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let O=[];for(let[_,P]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||O.push(k6(_,Fn(P),!0));let X=k6("INFO",St(O),!1,!0),U0=new K5(i.length+A.length+j.length+h.length+X.length+4);return U8(U0,"DLS "),U0.set(St([i,A,j,h,X]),4),U5("%cSaved succesfully!",C1.recognized),u9(),k6("RIFF",U0)}var Va=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=vE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(U=>U.bank===p.bank&&U.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let h=this.presets.find(p=>p.bank===i&&p.program===A);if(h)return h;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(h=>h.bank===i&&h.program===A);return c||(i===128?(c=this.presets.find(h=>h.bank===128&&h.program===A),c||(c=this.presets.find(h=>h.bank===128))):c=this.presets.find(h=>h.program===A&&h.bank!==128),c&&T9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(T9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(T9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Va.prototype.write=Yv;Va.prototype.writeDLS=nk;function ok(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function h(i0,n1){return n1>=i0.min&&n1<=i0.max}function p(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>f1.generatorType===S1.generatorType)))}function U(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>l9.isIdentical(S1,f1))))}let j=[],O=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],X=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],U0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(i0=>h(i0.hasKeyRange?i0.keyRange:U0,i)&&h(i0.hasVelRange?i0.velRange:_,A)&&!i0.isGlobal).forEach(i0=>{if(i0.instrument.instrumentZones.length<1)return;let n1=i0.generators,S1=i0.modulators,f1=i0.instrument.instrumentZones[0],g2=f1.isGlobal?[...f1.generators]:[],n2=f1.isGlobal?[...f1.modulators]:[],f2=f1.isGlobal?f1.keyRange:{min:0,max:127},a5=f1.isGlobal?f1.velRange:{min:0,max:127};i0.instrument.instrumentZones.filter(A0=>h(A0.hasKeyRange?A0.keyRange:f2,i)&&h(A0.hasVelRange?A0.velRange:a5,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],y3=[...A0.modulators];p(n1,O),p(C5,g2),U(S1,X),U(y3,n2),U(y3,this.defaultModulators);let v3=[...y3];for(let g6=0;g6l9.isIdentical(k3,N9));c9!==-1?v3[c9]=v3[c9].sumTransform(k3):v3.push(k3)}j.push({instrumentGenerators:C5,presetGenerators:n1,modulators:v3,sample:A0.sample,sampleID:A0.generators.find(g6=>g6.generatorType===I0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=j,j}};var Qu=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var tC=class extends Bu{constructor(i,A){super(vE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Qu,this.DLSInstrument.addUseCount();let h=new Cu;h.instrument=this.DLSInstrument,this.presetZones=[h]}};function sk(n){this.verifyHeader(n,"LIST"),this.verifyText(Q4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(i0=>i0.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),h=s3(A.chunkData,4),p=s3(A.chunkData,4),U=new tC(h,p),j="unnamedPreset",O=N7(i,"INFO");if(O){let i0=Be(O.chunkData);for(;i0.header!=="INAM";)i0=Be(O.chunkData);j=Q4(i0.chunkData,i0.chunkData.length).trim()}U.presetName=j,U.DLSInstrument.instrumentName=j,R7(`%cParsing %c"${j}"%c...`,C1.info,C1.recognized,C1.info);let X=N7(i,"lrgn");if(!X)throw u9(),new Error("No region list!");let U0=new Kr;U0.isGlobal=!0;let _=N7(i,"lart"),P=N7(i,"lar2");(P!==void 0||_!==void 0)&&this.readLart(_,P,U0),U0.generators=U0.generators.filter(i0=>i0.generatorValue!==W6[i0.generatorType].def),U0.modulators.find(i0=>i0.modulatorDestination===I0.reverbEffectsSend)===void 0&&U0.modulators.push(l9.copy(WE)),U0.modulators.find(i0=>i0.modulatorDestination===I0.chorusEffectsSend)===void 0&&U0.modulators.push(l9.copy(ZE)),U.DLSInstrument.instrumentZones.push(U0);for(let i0=0;i0>10&15;n2===j7.linear&&g2!==j7.linear&&(n2=g2);let f2=c>>14&1,a5=c>>15&1;U===I0.initialAttenuation&&h<0&&(a5=1),P=Vr(n2,f2,a5,j.isCC,j.enum)}let i0=c>>4&15,n1=c>>8&1,S1=c>>9&1,f1=Vr(i0,n1,S1,_.isCC,_.enum);if(O){let g2=f1;f1=P,P=g2}return new l9({srcEnum:P,secSrcEnum:f1,dest:U,transform:0,amt:U0})}function rB(n,i){let A=n.chunkData,c=[],h=[];s3(A,4);let p=s3(A,4);for(let U=0;U>16;if(j===0&&O===0&&U0===0){let i0;switch(X){case R5.pan:i0=new h6(I0.pan,P);break;case R5.gain:i0=new h6(I0.initialAttenuation,-P*10/.4);break;case R5.filterCutoff:i0=new h6(I0.initialFilterFc,P);break;case R5.filterQ:i0=new h6(I0.initialFilterQ,P);break;case R5.modLfoFreq:i0=new h6(I0.freqModLFO,P);break;case R5.modLfoDelay:i0=new h6(I0.delayModLFO,P);break;case R5.vibLfoFreq:i0=new h6(I0.freqVibLFO,P);break;case R5.vibLfoDelay:i0=new h6(I0.delayVibLFO,P);break;case R5.volEnvDelay:i0=new h6(I0.delayVolEnv,P);break;case R5.volEnvAttack:i0=new h6(I0.attackVolEnv,P);break;case R5.volEnvHold:i0=new h6(I0.holdVolEnv,P,!1);break;case R5.volEnvDecay:i0=new h6(I0.decayVolEnv,P,!1);break;case R5.volEnvRelease:i0=new h6(I0.releaseVolEnv,P);break;case R5.volEnvSustain:let n1=1e3-P;i0=new h6(I0.sustainVolEnv,n1);break;case R5.modEnvDelay:i0=new h6(I0.delayModEnv,P);break;case R5.modEnvAttack:i0=new h6(I0.attackModEnv,P);break;case R5.modEnvHold:i0=new h6(I0.holdModEnv,P,!1);break;case R5.modEnvDecay:i0=new h6(I0.decayModEnv,P,!1);break;case R5.modEnvRelease:i0=new h6(I0.releaseModEnv,P);break;case R5.modEnvSustain:let S1=1e3-P;i0=new h6(I0.sustainModEnv,S1);break;case R5.reverbSend:i0=new h6(I0.reverbEffectsSend,P);break;case R5.chorusSend:i0=new h6(I0.chorusEffectsSend,P);break;case R5.pitch:let f1=Math.floor(P/100),g2=Math.floor(P-f1*100);i0=new h6(I0.fineTune,g2),c.push(new h6(I0.coarseTune,f1));break}i0&&c.push(i0)}else{let i0=!0;if(O===m6.none)if(j===m6.modLfo&&X===R5.pitch)c.push(new h6(I0.modLfoToPitch,P));else if(j===m6.modLfo&&X===R5.gain)c.push(new h6(I0.modLfoToVolume,P));else if(j===m6.modLfo&&X===R5.filterCutoff)c.push(new h6(I0.modLfoToFilterFc,P));else if(j===m6.vibratoLfo&&X===R5.pitch)c.push(new h6(I0.vibLfoToPitch,P));else if(j===m6.modEnv&&X===R5.pitch)c.push(new h6(I0.modEnvToPitch,P));else if(j===m6.modEnv&&X===R5.filterCutoff)c.push(new h6(I0.modEnvToFilterFc,P));else if(j===m6.keyNum&&X===R5.pitch)c.push(new h6(I0.scaleTuning,P/128));else if(j===m6.keyNum&&X===R5.volEnvHold){c.push(new h6(I0.keyNumToVolEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdVolEnv&&(S1.generatorValue+=n1)})}else if(j===m6.keyNum&&X===R5.volEnvDecay){c.push(new h6(I0.keyNumToVolEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayVolEnv&&(S1.generatorValue+=n1)})}else if(j===m6.keyNum&&X===R5.modEnvHold){c.push(new h6(I0.keyNumToModEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdModEnv&&(S1.generatorValue+=n1)})}else if(j===m6.keyNum&&X===R5.modEnvDecay){c.push(new h6(I0.keyNumToModEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayModEnv&&(S1.generatorValue+=n1)})}else i0=!1;else i0=!1;if(i0===!1){let n1=Ak(j,O,X,U0,P);n1?(h.push(n1),U5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):T9("Failed converting to SF2 Modulator!")}}}return i&&h.push(l9.copy(jE),l9.copy(XE)),{modulators:h,generators:c}}function $k(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(y3=>y3.header==="rgnh"),c=s3(A.chunkData,2),h=s3(A.chunkData,2),p=s3(A.chunkData,2),U=s3(A.chunkData,2),j=new iC({min:c,max:h},{min:p,max:U});s3(A.chunkData,2);let O=s3(A.chunkData,2);O!==0&&j.generators.push(new h6(I0.exclusiveClass,O));let X=N7(i,"lart"),U0=N7(i,"lar2");this.readLart(X,U0,j),j.isGlobal=!1;let _=i.find(y3=>y3.header==="wsmp");s3(_.chunkData,4);let P=s3(_.chunkData,2),i0=Ua(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),S1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let f1=s3(_.chunkData,4),g2,n2={start:0,end:0};if(f1===0)g2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?g2=1:g2=3,n2.start=s3(_.chunkData,4);let v3=s3(_.chunkData,4);n2.end=n2.start+v3}let f2=i.find(y3=>y3.header==="wlnk");if(f2===void 0)return;s3(f2.chunkData,2),s3(f2.chunkData,2),s3(f2.chunkData,4);let a5=s3(f2.chunkData,4),T2=this.samples[a5];if(T2===void 0)throw new Error("Invalid sample ID!");let C5=(S1||T2.sampleDbAttenuation)*10/.4;return j.setWavesample(C5,g2,n2,P,T2,a5,i0),j}var yu=class{constructor(i,A,c,h,p,U,j,O){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=h,this.sampleLink=p,this.sampleType=U,this.sampleLoopStartIndex=j,this.sampleLoopEndIndex=O,this.isCompressed=(U&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{T9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var rC=class extends yu{sampleDbAttenuation;sampleData;constructor(i,A,c,h,p,U,j,O){super(i,A,c,h,0,1,p,U),this.sampleData=j,this.sampleDbAttenuation=O}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var ck={PCM:1,ALAW:6};function i_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),h,p=!1;i===1?(h=255,p=!0):h=A;let U=n.size/i,j=new Float32Array(U);for(let O=0;O=A&&(X-=c),j[O]=X/h)}return j}function r_(n,i){let A=n.size/i,c=new Float32Array(A);for(let h=0;h>4,O=U&15;j>0&&(O+=16),O=(O<<4)+8,j>1&&(O=O<127?O:-O;c[h]=X/32678}return c}function gk(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexT2.header==="fmt ");if(!h)throw new Error("No fmt chunk in the wave file!");let p=s3(h.chunkData,2),U=s3(h.chunkData,2);if(U!==1)throw new Error(`Only mono samples are supported. Fmt reports ${U} channels`);let j=s3(h.chunkData,4);s3(h.chunkData,4),s3(h.chunkData,2);let X=s3(h.chunkData,2)/8,U0=!1,_=c.find(T2=>T2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let P;switch(p){default:U0=!0,P=new Float32Array(_.size/X);break;case ck.PCM:P=i_(_,X);break;case ck.ALAW:P=r_(_,X);break}let i0=N7(c,"INFO"),n1=`Unnamed ${i}`;if(i0){let T2=Be(i0.chunkData);for(;T2.header!=="INAM"&&i0.chunkData.currentIndexT2.header==="wsmp");if(a5){s3(a5.chunkData,4),S1=s3(a5.chunkData,2),f1=Ua(a5.chunkData[a5.chunkData.currentIndex++],a5.chunkData[a5.chunkData.currentIndex++]);let T2=Math.trunc(f1/100);if(S1+=T2,f1-=T2*100,f2=(s3(a5.chunkData,4)|0)/-655360,s3(a5.chunkData,4),s3(a5.chunkData,4)===1){s3(a5.chunkData,8),g2=s3(a5.chunkData,4);let y3=s3(a5.chunkData,4);n2=g2+y3}}else T9("No wsmp chunk in wave... using sane defaults.");U0&&console.error(`Failed to load '${n1}': Unsupported format: (${p})`),this.samples.push(new rC(n1,j,S1,f1,g2,n2,P,f2)),i++,U5(`%cLoaded sample %c${n1}`,C1.info,C1.recognized)}u9()}var Ho=class extends Va{constructor(i){super(),this.dataArray=new K5(i),R7("%cParsing DLS...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=Be(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(Q4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndex(p.generators=p.generators.filter(T=>T.generatorType!==I0.sampleID&&T.generatorType!==I0.keyRange&&T.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+h),0);let i=new K5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return m9(i,0),it(new y4("igen",i.length,i))}function Tv(n,i,A,c,h){let p=this.samples.map((X,U0)=>{A&&X.compressSample(c,h);let _=X.getRawData();return U5(`%cEncoded sample %c${U0}. ${X.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),T=this.samples.reduce((X,U0,_)=>X+p[_].length+46,0),H=new K5(T);this.samples.forEach((X,U0)=>{let _=p[U0],P,i0,n1=_.length;X.isCompressed?(P=H.currentIndex,i0=P+_.length):(P=H.currentIndex/2,i0=P+_.length/2,n1+=46),n.push(P),H.set(_,H.currentIndex),H.currentIndex+=n1,i.push(i0)});let O=it(new y4("smpl",H.length,H),new K5([115,100,116,97]));return it(new y4("LIST",O.length,O))}function Nv(n,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((h,p)=>{U8(c,h.sampleName,20);let T=n[p];m9(c,T);let H=i[p];m9(c,H);let O=h.sampleLoopStartIndex+T,X=h.sampleLoopEndIndex+T;h.isCompressed&&(O-=T,X-=T),m9(c,O),m9(c,X),m9(c,h.sampleRate),c[c.currentIndex++]=h.samplePitch,c[c.currentIndex++]=h.samplePitchCorrection,j3(c,h.sampleLink),j3(c,h.sampleType)}),U8(c,"EOS",46),it(new y4("shdr",c.length,c))}function Gv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new K5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("imod",i.length,i))}function Uv(){let n=this.instruments.reduce((p,T)=>T.instrumentZones.length*4+p,4),i=new K5(n),A=0,c=0,h=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let T of p.instrumentZones)T.zoneID=A,j3(i,c),j3(i,h),c+=T.generators.length,h+=T.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("ibag",i.length,i))}function Pv(){let n=this.instruments.length*22+22,i=new K5(n),A=0,c=0;for(let h of this.instruments)U8(i,h.instrumentName,20),j3(i,A),A+=h.instrumentZones.length,h.instrumentID=c,c++;return U8(i,"EOI",20),j3(i,A),it(new y4("inst",i.length,i))}function Ov(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>(p.generators=p.generators.filter(T=>T.generatorType!==I0.instrument&&T.generatorType!==I0.keyRange&&T.generatorType!==I0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:I0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:I0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:I0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+h),0);let i=new K5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=h.generators.length}return j3(i,0),j3(i,0),it(new y4("pgen",i.length,i))}function qv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new K5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return Ii(i,0,10),it(new y4("pmod",i.length,i))}function Hv(){let n=this.presets.reduce((p,T)=>T.presetZones.length*4+p,4),i=new K5(n),A=0,c=0,h=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let T of p.presetZones)T.zoneID=A,j3(i,c),j3(i,h),c+=T.generators.length,h+=T.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("pbag",i.length,i))}function Vv(){let n=this.presets.length*38+38,i=new K5(n),A=0;for(let c of this.presets)U8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),m9(i,c.library),m9(i,c.genre),m9(i,c.morphology),A+=c.presetZones.length;return U8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),m9(i,0),m9(i,0),m9(i,0),it(new y4("phdr",i.length,i))}var jD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Yv(n=jD){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),U5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),U5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[a5,T2]of Object.entries(this.soundFontInfo))if(a5==="ifil"||a5==="iver"){let A0=parseInt(T2.split(".")[0]),C5=parseInt(T2.split(".")[1]),y3=new K5(4);j3(y3,A0),j3(y3,C5),i.push(it(new y4(a5,4,y3)))}else if(a5==="DMOD")i.push(it(new y4(a5,T2.length,T2)));else{let A0=new K5(T2.length);U8(A0,T2),i.push(it(new y4(a5,T2.length,A0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new y4("LIST",A.length,A));U5("%cWriting SDTA...",C1.info);let h=[],p=[],T=Tv.call(this,h,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);U5("%cWriting PDTA...",C1.info),U5("%cWriting SHDR...",C1.info);let H=Nv.call(this,h,p);U5("%cWriting IGEN...",C1.info);let O=Fv.call(this);U5("%cWriting IMOD...",C1.info);let X=Gv.call(this);U5("%cWriting IBAG...",C1.info);let U0=Uv.call(this);U5("%cWriting INST...",C1.info);let _=Pv.call(this),P=Ov.call(this);U5("%cWriting PMOD...",C1.info);let i0=qv.call(this);U5("%cWriting PBAG...",C1.info);let n1=Hv.call(this);U5("%cWriting PHDR...",C1.info);let S1=Vv.call(this),f1=St([new K5([112,100,116,97]),S1,n1,i0,P,_,U0,X,O,H]),g2=it(new y4("LIST",f1.length,f1));U5("%cWriting the output file...",C1.info);let n2=St([new K5([115,102,98,107]),c,T,g2]),f2=it(new y4("RIFF",n2.length,n2));return U5(`%cSaved succesfully! Final file size: %c${f2.length}`,C1.info,C1.recognized),u9(),f2}var Gp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var Wr=class extends Gp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Bu=class extends Gp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var XD=new Set([I0.velRange,I0.keyRange,I0.instrument,I0.exclusiveClass,I0.endOper,I0.sampleModes,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.initialAttenuation,I0.fineTune,I0.coarseTune,I0.keyNumToVolEnvHold,I0.keyNumToVolEnvDecay,I0.keyNumToModEnvHold,I0.keyNumToModEnvDecay]);function zv(n,i=!0){function A(_,P){_.push(...P.filter(i0=>!_.find(n1=>n1.generatorType===i0.generatorType)))}function c(_,P){return{min:Math.max(_.min,P.min),max:Math.min(_.max,P.max)}}function h(_,P){_.push(...P.filter(i0=>!_.find(n1=>l9.isIdentical(i0,n1))))}let p=[],T=[],H=[],O={min:0,max:127},X={min:0,max:127},U0=n.presetZones.find(_=>_.isGlobal);U0&&(T.push(...U0.generators),H.push(...U0.modulators),O=U0.keyRange,X=U0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let P=_.keyRange;_.hasKeyRange||(P=O);let i0=_.velRange;_.hasVelRange||(i0=X);let n1=_.generators.map(A0=>new h6(A0.generatorType,A0.generatorValue));A(n1,T);let S1=[..._.modulators];h(S1,H);let f1=_.instrument.instrumentZones,g2=[],n2=[],f2={min:0,max:127},a5={min:0,max:127},T2=f1.find(A0=>A0.isGlobal);T2&&(g2.push(...T2.generators),n2.push(...T2.modulators),f2=T2.keyRange,a5=T2.velRange);for(let A0 of f1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=f2);let y3=A0.velRange;if(A0.hasVelRange||(y3=a5),C5=c(C5,P),y3=c(y3,i0),C5.maxnew h6(p3.generatorType,p3.generatorValue));A(k3,g2);let g6=[...A0.modulators];h(g6,n2);let S3=[...g6];for(let p3 of S1){let w6=S3.findIndex(L4=>l9.isIdentical(p3,L4));w6!==-1?S3[w6]=S3[w6].sumTransform(p3):S3.push(p3)}let c9=k3.map(p3=>new h6(p3.generatorType,p3.generatorValue));for(let p3 of n1){if(p3.generatorType===I0.velRange||p3.generatorType===I0.keyRange||p3.generatorType===I0.instrument||p3.generatorType===I0.endOper||p3.generatorType===I0.sampleModes)continue;let w6=k3.findIndex(L4=>L4.generatorType===p3.generatorType);if(w6!==-1){let L4=c9[w6].generatorValue+p3.generatorValue;c9[w6]=new h6(p3.generatorType,L4)}else{let L4=W6[p3.generatorType].def+p3.generatorValue;c9.push(new h6(p3.generatorType,L4))}}c9=c9.filter(p3=>p3.generatorType!==I0.sampleID&&p3.generatorType!==I0.keyRange&&p3.generatorType!==I0.velRange&&p3.generatorType!==I0.endOper&&p3.generatorType!==I0.instrument&&p3.generatorValue!==W6[p3.generatorType].def);let N9=new Wr;N9.keyRange=C5,N9.velRange=y3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=A0.sample,N9.generators=c9,N9.modulators=S3,p.push(N9)}}if(i){let _=new Wr;_.isGlobal=!0;for(let n1=0;n1<58;n1++){if(XD.has(n1))continue;let S1={},f1=W6[n1]?.def||0;S1[f1]=0;for(let g2 of p){let n2=g2.generators.find(T2=>T2.generatorType===n1);if(n2){let T2=n2.generatorValue;S1[T2]===void 0?S1[T2]=1:S1[T2]++}else S1[f1]++;let f2;switch(n1){default:continue;case I0.decayVolEnv:f2=I0.keyNumToVolEnvDecay;break;case I0.holdVolEnv:f2=I0.keyNumToVolEnvHold;break;case I0.decayModEnv:f2=I0.keyNumToModEnvDecay;break;case I0.holdModEnv:f2=I0.keyNumToModEnvHold}if(g2.generators.find(T2=>T2.generatorType===f2)!==void 0){S1={};break}}if(Object.keys(S1).length>0){let g2=Object.entries(S1).reduce((f2,a5)=>f2[1]{let a5=f2.generators.findIndex(T2=>T2.generatorType===n1);a5!==-1?f2.generators[a5].generatorValue===n2&&f2.generators.splice(a5,1):n2!==f1&&f2.generators.push(new h6(n1,f1))})}}let i0=p.find(n1=>!n1.isGlobal).modulators.map(n1=>l9.copy(n1));for(let n1 of i0){let S1=!0;for(let f1 of p){if(f1.isGlobal||!S1)continue;f1.modulators.find(n2=>l9.isIdentical(n2,n1))||(S1=!1)}if(S1===!0){_.modulators.push(l9.copy(n1));for(let f1 of p){let g2=f1.modulators.find(n2=>l9.isIdentical(n2,n1));g2.transformAmount===n1.transformAmount&&f1.modulators.splice(f1.modulators.indexOf(g2),1)}}}p.splice(0,0,_)}return p}var Jv=20;function jE(n,i,A,c,h,p,T){let H=T===0?0:1,O=new K5(Jv+H*16);m9(O,Jv),j3(O,i),j3(O,A);let X=c*.4,U0=Math.floor(X*-65536);m9(O,U0),m9(O,2);let _=p-h,P=0;switch(T){default:case 0:H=0;break;case 1:P=0,H=1;break;case 3:P=1,H=1}return m9(O,H),H===1&&(m9(O,16),m9(O,P),m9(O,h),m9(O,_)),k6("wsmp",O)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},XE=new l9({srcEnum:219,dest:I0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),eC=new l9({srcEnum:221,dest:I0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),tC=new l9({srcEnum:129,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),iC=new l9({srcEnum:13,dest:I0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var R5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Up=class{source;control;destination;scale;transform;constructor(i,A,c,h,p){this.source=i,this.control=A,this.destination=c,this.scale=h,this.transform=p}writeArticulator(){let i=new K5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),m9(i,this.scale<<16),i}};function Kv(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function Wv(n,i){switch(n){default:return;case I0.initialAttenuation:return{dest:R5.gain,amount:-i};case I0.fineTune:return R5.pitch;case I0.pan:return R5.pan;case I0.keyNum:return R5.keyNum;case I0.reverbEffectsSend:return R5.reverbSend;case I0.chorusEffectsSend:return R5.chorusSend;case I0.freqModLFO:return R5.modLfoFreq;case I0.delayModLFO:return R5.modLfoDelay;case I0.delayVibLFO:return R5.vibLfoDelay;case I0.freqVibLFO:return R5.vibLfoFreq;case I0.delayVolEnv:return R5.volEnvDelay;case I0.attackVolEnv:return R5.volEnvAttack;case I0.holdVolEnv:return R5.volEnvHold;case I0.decayVolEnv:return R5.volEnvDecay;case I0.sustainVolEnv:return{dest:R5.volEnvSustain,amount:1e3-i};case I0.releaseVolEnv:return R5.volEnvRelease;case I0.delayModEnv:return R5.modEnvDelay;case I0.attackModEnv:return R5.modEnvAttack;case I0.holdModEnv:return R5.modEnvHold;case I0.decayModEnv:return R5.modEnvDecay;case I0.sustainModEnv:return{dest:R5.modEnvSustain,amount:1e3-i};case I0.releaseModEnv:return R5.modEnvRelease;case I0.initialFilterFc:return R5.filterCutoff;case I0.initialFilterQ:return R5.filterQ}}function Zv(n,i){switch(n){default:return;case I0.modEnvToFilterFc:return{source:m6.modEnv,dest:R5.filterCutoff,amt:i,isBipolar:!1};case I0.modEnvToPitch:return{source:m6.modEnv,dest:R5.pitch,amt:i,isBipolar:!1};case I0.modLfoToFilterFc:return{source:m6.modLfo,dest:R5.filterCutoff,amt:i,isBipolar:!0};case I0.modLfoToVolume:return{source:m6.modLfo,dest:R5.gain,amt:i,isBipolar:!0};case I0.modLfoToPitch:return{source:m6.modLfo,dest:R5.pitch,amt:i,isBipolar:!0};case I0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:R5.pitch,amt:i,isBipolar:!0};case I0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:R5.volEnvHold,amt:i,isBipolar:!0};case I0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:R5.volEnvDecay,amt:i,isBipolar:!0};case I0.keyNumToModEnvHold:return{source:m6.keyNum,dest:R5.modEnvHold,amt:i,isBipolar:!0};case I0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:R5.modEnvDecay,amt:i,isBipolar:!0};case I0.scaleTuning:return{source:m6.keyNum,dest:R5.pitch,amt:i*128,isBipolar:!1}}}function jv(n){let i=Wv(n.generatorType,n.generatorValue),A=i,c=0,h=n.generatorValue;i?.amount!==void 0&&(h=i.amount,A=i.dest);let p=Zv(n.generatorType,n.generatorValue);if(p!==void 0)h=p.amt,A=p.dest,c=p.source;else if(A===void 0){T9(`Invalid generator type: ${n.generatorType}`);return}return new Up(c,0,A,h,0)}function Xv(n){if(n.transformType!==0){T9("Other transform types are not supported.");return}let i=Kv(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,h=n.sourceDirection;if(i===void 0){T9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===I0.initialAttenuation&&(h=h===1?0:1);let p=Kv(n.secSrcUsesCC,n.secSrcIndex),T=n.secSrcCurveType,H=n.secSrcPolarity,O=n.secSrcDirection;if(p===void 0){T9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let X=Wv(n.modulatorDestination,n.transformAmount),U0=X,_=n.transformAmount;X?.dest!==void 0&&(U0=X.dest,_=X.amount);let P=Zv(n.modulatorDestination,n.transformAmount);if(P!==void 0)_=P.amt,p=i,T=A,H=c,O=h,A=j7.linear,c=P.isBipolar?1:0,h=0,i=P.source,U0=P.dest;else if(U0===void 0){T9(`Invalid destination: ${n.modulatorDestination}`);return}let i0=0;return i0|=T<<4,i0|=H<<8,i0|=O<<9,i0|=A,i0|=c<<14,i0|=h<<15,new Up(i,p,U0,_,i0)}var e_=new Set([I0.sampleModes,I0.initialAttenuation,I0.keyRange,I0.velRange,I0.sampleID,I0.fineTune,I0.coarseTune,I0.startAddrsOffset,I0.startAddrsCoarseOffset,I0.endAddrOffset,I0.endAddrsCoarseOffset,I0.startloopAddrsOffset,I0.startloopAddrsCoarseOffset,I0.endloopAddrsOffset,I0.endloopAddrsCoarseOffset,I0.overridingRootKey,I0.exclusiveClass]);function rC(n){for(let p=0;pn1.generatorType===H);if(O===void 0)continue;let X=T.generatorValue*-128,U0=60/128*X,_=O.generatorValue-U0,P=n.generators.indexOf(T),i0=n.generators.indexOf(O);n.generators[i0]=new h6(H,_,!1),n.generators[P]=new h6(T.generatorType,X,!1)}let i=n.generators.reduce((p,T)=>{if(e_.has(T.generatorType))return p;let H=jv(T);return H!==void 0?(p.push(H),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,T)=>{if(l9.isIdentical(T,eC,!0)||l9.isIdentical(T,XE,!0)||l9.isIdentical(T,tC,!0)||l9.isIdentical(T,iC,!0))return p;let H=Xv(T);return H!==void 0?(p.push(H),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new K5(8);m9(c,8),m9(c,i.length);let h=i.map(p=>p.writeArticulator());return k6("art2",St([c,...h]))}function ek(n,i){let A=new K5(12);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(I0.exclusiveClass,0);j3(A,c),j3(A,0);let h=k6("rgnh",A),p=n.getGeneratorValue(I0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(I0.scaleTuning,i.getGeneratorValue(I0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let H=jE(n.sample,p,n.getGeneratorValue(I0.fineTune,0)+n.getGeneratorValue(I0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(I0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(I0.startloopAddrsOffset,0)+n.getGeneratorValue(I0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(I0.endloopAddrsOffset,0)+n.getGeneratorValue(I0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(I0.sampleModes,0)),O=new K5(12);j3(O,0),j3(O,0),m9(O,1),m9(O,this.samples.indexOf(n.sample));let X=k6("wlnk",O),U0=new K5(0);if(n.modulators.length+n.generators.length>0){let _=rC(n);U0=k6("lar2",_,!1,!0)}return k6("rgn2",St([h,H,X,U0]),!1,!0)}function tk(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=zv(n),A=i.reduce((P,i0)=>i0.isGlobal?P:P+1,0),c=new K5(12);m9(c,A);let h=(n.bank&127)<<8;n.bank===128&&(h|=1<<31),m9(c,h),m9(c,n.program&127);let p=k6("insh",c),T=new K5(0),H=i.find(P=>P.isGlobal===!0);if(H){let P=rC(H);T=k6("lar2",P,!1,!0)}let O=St(i.reduce((P,i0)=>(i0.isGlobal||P.push(ek.apply(this,[i0,H])),P),[])),X=k6("lrgn",O,!1,!0),U0=k6("INAM",Fn(n.presetName)),_=k6("INFO",U0,!1,!0);return u9(),k6("ins ",St([p,X,T,_]),!1,!0)}function ik(){let n=St(this.presets.map(i=>tk.apply(this,[i])));return k6("lins",n,!1,!0)}function rk(n){let i=new K5(18);j3(i,1),j3(i,1),m9(i,n.sampleRate),m9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(c=0);let h=jE(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,c),p=n.getAudioData(),T;if(n.isCompressed){let X=new Int16Array(p.length);for(let U0=0;U0{let h=rk(c);return i.push(n),n+=h.length,h});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function ok(){y8("%cSaving DLS...",C1.info);let n=new K5(4);m9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=ik.apply(this);U5("%cSuccess!",C1.recognized),u9(),y8("%cWriting WAVE samples...",C1.info);let c=nk.apply(this),h=c.data,p=c.indexes;U5("%cSucceeded!",C1.recognized),u9();let T=new K5(8+4*p.length);m9(T,8),m9(T,p.length);for(let _ of p)m9(T,_);let H=k6("ptbl",T);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let O=[];for(let[_,P]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||O.push(k6(_,Fn(P),!0));let X=k6("INFO",St(O),!1,!0),U0=new K5(i.length+A.length+H.length+h.length+X.length+4);return U8(U0,"DLS "),U0.set(St([i,A,H,h,X]),4),U5("%cSaved succesfully!",C1.recognized),u9(),k6("RIFF",U0)}var Ya=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=bE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(T=>T.bank===p.bank&&T.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let h=this.presets.find(p=>p.bank===i&&p.program===A);if(h)return h;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(h=>h.bank===i&&h.program===A);return c||(i===128?(c=this.presets.find(h=>h.bank===128&&h.program===A),c||(c=this.presets.find(h=>h.bank===128))):c=this.presets.find(h=>h.program===A&&h.bank!==128),c&&T9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(T9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(T9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Ya.prototype.write=Yv;Ya.prototype.writeDLS=ok;function sk(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function h(i0,n1){return n1>=i0.min&&n1<=i0.max}function p(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>f1.generatorType===S1.generatorType)))}function T(i0,n1){i0.push(...n1.filter(S1=>!i0.find(f1=>l9.isIdentical(S1,f1))))}let H=[],O=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],X=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],U0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(i0=>h(i0.hasKeyRange?i0.keyRange:U0,i)&&h(i0.hasVelRange?i0.velRange:_,A)&&!i0.isGlobal).forEach(i0=>{if(i0.instrument.instrumentZones.length<1)return;let n1=i0.generators,S1=i0.modulators,f1=i0.instrument.instrumentZones[0],g2=f1.isGlobal?[...f1.generators]:[],n2=f1.isGlobal?[...f1.modulators]:[],f2=f1.isGlobal?f1.keyRange:{min:0,max:127},a5=f1.isGlobal?f1.velRange:{min:0,max:127};i0.instrument.instrumentZones.filter(A0=>h(A0.hasKeyRange?A0.keyRange:f2,i)&&h(A0.hasVelRange?A0.velRange:a5,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],y3=[...A0.modulators];p(n1,O),p(C5,g2),T(S1,X),T(y3,n2),T(y3,this.defaultModulators);let k3=[...y3];for(let g6=0;g6l9.isIdentical(S3,N9));c9!==-1?k3[c9]=k3[c9].sumTransform(S3):k3.push(S3)}H.push({instrumentGenerators:C5,presetGenerators:n1,modulators:k3,sample:A0.sample,sampleID:A0.generators.find(g6=>g6.generatorType===I0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=H,H}};var yu=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var nC=class extends Qu{constructor(i,A){super(bE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new yu,this.DLSInstrument.addUseCount();let h=new Bu;h.instrument=this.DLSInstrument,this.presetZones=[h]}};function ak(n){this.verifyHeader(n,"LIST"),this.verifyText(Q4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(i0=>i0.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),h=s3(A.chunkData,4),p=s3(A.chunkData,4),T=new nC(h,p),H="unnamedPreset",O=N7(i,"INFO");if(O){let i0=Be(O.chunkData);for(;i0.header!=="INAM";)i0=Be(O.chunkData);H=Q4(i0.chunkData,i0.chunkData.length).trim()}T.presetName=H,T.DLSInstrument.instrumentName=H,R7(`%cParsing %c"${H}"%c...`,C1.info,C1.recognized,C1.info);let X=N7(i,"lrgn");if(!X)throw u9(),new Error("No region list!");let U0=new Wr;U0.isGlobal=!0;let _=N7(i,"lart"),P=N7(i,"lar2");(P!==void 0||_!==void 0)&&this.readLart(_,P,U0),U0.generators=U0.generators.filter(i0=>i0.generatorValue!==W6[i0.generatorType].def),U0.modulators.find(i0=>i0.modulatorDestination===I0.reverbEffectsSend)===void 0&&U0.modulators.push(l9.copy(XE)),U0.modulators.find(i0=>i0.modulatorDestination===I0.chorusEffectsSend)===void 0&&U0.modulators.push(l9.copy(eC)),T.DLSInstrument.instrumentZones.push(U0);for(let i0=0;i0>10&15;n2===j7.linear&&g2!==j7.linear&&(n2=g2);let f2=c>>14&1,a5=c>>15&1;T===I0.initialAttenuation&&h<0&&(a5=1),P=zr(n2,f2,a5,H.isCC,H.enum)}let i0=c>>4&15,n1=c>>8&1,S1=c>>9&1,f1=zr(i0,n1,S1,_.isCC,_.enum);if(O){let g2=f1;f1=P,P=g2}return new l9({srcEnum:P,secSrcEnum:f1,dest:T,transform:0,amt:U0})}function nB(n,i){let A=n.chunkData,c=[],h=[];s3(A,4);let p=s3(A,4);for(let T=0;T>16;if(H===0&&O===0&&U0===0){let i0;switch(X){case R5.pan:i0=new h6(I0.pan,P);break;case R5.gain:i0=new h6(I0.initialAttenuation,-P*10/.4);break;case R5.filterCutoff:i0=new h6(I0.initialFilterFc,P);break;case R5.filterQ:i0=new h6(I0.initialFilterQ,P);break;case R5.modLfoFreq:i0=new h6(I0.freqModLFO,P);break;case R5.modLfoDelay:i0=new h6(I0.delayModLFO,P);break;case R5.vibLfoFreq:i0=new h6(I0.freqVibLFO,P);break;case R5.vibLfoDelay:i0=new h6(I0.delayVibLFO,P);break;case R5.volEnvDelay:i0=new h6(I0.delayVolEnv,P);break;case R5.volEnvAttack:i0=new h6(I0.attackVolEnv,P);break;case R5.volEnvHold:i0=new h6(I0.holdVolEnv,P,!1);break;case R5.volEnvDecay:i0=new h6(I0.decayVolEnv,P,!1);break;case R5.volEnvRelease:i0=new h6(I0.releaseVolEnv,P);break;case R5.volEnvSustain:let n1=1e3-P;i0=new h6(I0.sustainVolEnv,n1);break;case R5.modEnvDelay:i0=new h6(I0.delayModEnv,P);break;case R5.modEnvAttack:i0=new h6(I0.attackModEnv,P);break;case R5.modEnvHold:i0=new h6(I0.holdModEnv,P,!1);break;case R5.modEnvDecay:i0=new h6(I0.decayModEnv,P,!1);break;case R5.modEnvRelease:i0=new h6(I0.releaseModEnv,P);break;case R5.modEnvSustain:let S1=1e3-P;i0=new h6(I0.sustainModEnv,S1);break;case R5.reverbSend:i0=new h6(I0.reverbEffectsSend,P);break;case R5.chorusSend:i0=new h6(I0.chorusEffectsSend,P);break;case R5.pitch:let f1=Math.floor(P/100),g2=Math.floor(P-f1*100);i0=new h6(I0.fineTune,g2),c.push(new h6(I0.coarseTune,f1));break}i0&&c.push(i0)}else{let i0=!0;if(O===m6.none)if(H===m6.modLfo&&X===R5.pitch)c.push(new h6(I0.modLfoToPitch,P));else if(H===m6.modLfo&&X===R5.gain)c.push(new h6(I0.modLfoToVolume,P));else if(H===m6.modLfo&&X===R5.filterCutoff)c.push(new h6(I0.modLfoToFilterFc,P));else if(H===m6.vibratoLfo&&X===R5.pitch)c.push(new h6(I0.vibLfoToPitch,P));else if(H===m6.modEnv&&X===R5.pitch)c.push(new h6(I0.modEnvToPitch,P));else if(H===m6.modEnv&&X===R5.filterCutoff)c.push(new h6(I0.modEnvToFilterFc,P));else if(H===m6.keyNum&&X===R5.pitch)c.push(new h6(I0.scaleTuning,P/128));else if(H===m6.keyNum&&X===R5.volEnvHold){c.push(new h6(I0.keyNumToVolEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdVolEnv&&(S1.generatorValue+=n1)})}else if(H===m6.keyNum&&X===R5.volEnvDecay){c.push(new h6(I0.keyNumToVolEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayVolEnv&&(S1.generatorValue+=n1)})}else if(H===m6.keyNum&&X===R5.modEnvHold){c.push(new h6(I0.keyNumToModEnvHold,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.holdModEnv&&(S1.generatorValue+=n1)})}else if(H===m6.keyNum&&X===R5.modEnvDecay){c.push(new h6(I0.keyNumToModEnvDecay,P/-128));let n1=Math.round(60/128*P);c.forEach(S1=>{S1.generatorType===I0.decayModEnv&&(S1.generatorValue+=n1)})}else i0=!1;else i0=!1;if(i0===!1){let n1=$k(H,O,X,U0,P);n1?(h.push(n1),U5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):T9("Failed converting to SF2 Modulator!")}}}return i&&h.push(l9.copy(tC),l9.copy(iC)),{modulators:h,generators:c}}function lk(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(y3=>y3.header==="rgnh"),c=s3(A.chunkData,2),h=s3(A.chunkData,2),p=s3(A.chunkData,2),T=s3(A.chunkData,2),H=new oC({min:c,max:h},{min:p,max:T});s3(A.chunkData,2);let O=s3(A.chunkData,2);O!==0&&H.generators.push(new h6(I0.exclusiveClass,O));let X=N7(i,"lart"),U0=N7(i,"lar2");this.readLart(X,U0,H),H.isGlobal=!1;let _=i.find(y3=>y3.header==="wsmp");s3(_.chunkData,4);let P=s3(_.chunkData,2),i0=Ua(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),S1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let f1=s3(_.chunkData,4),g2,n2={start:0,end:0};if(f1===0)g2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?g2=1:g2=3,n2.start=s3(_.chunkData,4);let k3=s3(_.chunkData,4);n2.end=n2.start+k3}let f2=i.find(y3=>y3.header==="wlnk");if(f2===void 0)return;s3(f2.chunkData,2),s3(f2.chunkData,2),s3(f2.chunkData,4);let a5=s3(f2.chunkData,4),T2=this.samples[a5];if(T2===void 0)throw new Error("Invalid sample ID!");let C5=(S1||T2.sampleDbAttenuation)*10/.4;return H.setWavesample(C5,g2,n2,P,T2,a5,i0),H}var wu=class{constructor(i,A,c,h,p,T,H,O){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=h,this.sampleLink=p,this.sampleType=T,this.sampleLoopStartIndex=H,this.sampleLoopEndIndex=O,this.isCompressed=(T&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{T9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var sC=class extends wu{sampleDbAttenuation;sampleData;constructor(i,A,c,h,p,T,H,O){super(i,A,c,h,0,1,p,T),this.sampleData=H,this.sampleDbAttenuation=O}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var gk={PCM:1,ALAW:6};function r_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),h,p=!1;i===1?(h=255,p=!0):h=A;let T=n.size/i,H=new Float32Array(T);for(let O=0;O=A&&(X-=c),H[O]=X/h)}return H}function n_(n,i){let A=n.size/i,c=new Float32Array(A);for(let h=0;h>4,O=T&15;H>0&&(O+=16),O=(O<<4)+8,H>1&&(O=O<127?O:-O;c[h]=X/32678}return c}function uk(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexT2.header==="fmt ");if(!h)throw new Error("No fmt chunk in the wave file!");let p=s3(h.chunkData,2),T=s3(h.chunkData,2);if(T!==1)throw new Error(`Only mono samples are supported. Fmt reports ${T} channels`);let H=s3(h.chunkData,4);s3(h.chunkData,4),s3(h.chunkData,2);let X=s3(h.chunkData,2)/8,U0=!1,_=c.find(T2=>T2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let P;switch(p){default:U0=!0,P=new Float32Array(_.size/X);break;case gk.PCM:P=r_(_,X);break;case gk.ALAW:P=n_(_,X);break}let i0=N7(c,"INFO"),n1=`Unnamed ${i}`;if(i0){let T2=Be(i0.chunkData);for(;T2.header!=="INAM"&&i0.chunkData.currentIndexT2.header==="wsmp");if(a5){s3(a5.chunkData,4),S1=s3(a5.chunkData,2),f1=Ua(a5.chunkData[a5.chunkData.currentIndex++],a5.chunkData[a5.chunkData.currentIndex++]);let T2=Math.trunc(f1/100);if(S1+=T2,f1-=T2*100,f2=(s3(a5.chunkData,4)|0)/-655360,s3(a5.chunkData,4),s3(a5.chunkData,4)===1){s3(a5.chunkData,8),g2=s3(a5.chunkData,4);let y3=s3(a5.chunkData,4);n2=g2+y3}}else T9("No wsmp chunk in wave... using sane defaults.");U0&&console.error(`Failed to load '${n1}': Unsupported format: (${p})`),this.samples.push(new sC(n1,H,S1,f1,g2,n2,P,f2)),i++,U5(`%cLoaded sample %c${n1}`,C1.info,C1.recognized)}u9()}var Ho=class extends Ya{constructor(i){super(),this.dataArray=new K5(i),R7("%cParsing DLS...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=Be(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(Q4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndexO.header==="colh");p||(u9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),U5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let U=N7(c,"wvpl");U||(u9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(U);let j=N7(c,"lins");j||(u9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(j),this.presets.sort((O,X)=>O.program-X.program+(O.bank-X.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};Ho.prototype.readDLSInstrumentList=ok;Ho.prototype.readDLSInstrument=sk;Ho.prototype.readRegion=lk;Ho.prototype.readLart=$k;Ho.prototype.readDLSSamples=gk;var za=za!==void 0?za:{},uk=!1,hk;za.isInitialized=new Promise(n=>hk=n);var n_=function(n){var i,A,c,h,p,U,j,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",X="",U0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do h=O.indexOf(n.charAt(U0++)),p=O.indexOf(n.charAt(U0++)),U=O.indexOf(n.charAt(U0++)),j=O.indexOf(n.charAt(U0++)),i=h<<2|p>>4,A=(15&p)<<4|U>>2,c=(3&U)<<6|j,X+=String.fromCharCode(i),U!==64&&(X+=String.fromCharCode(A)),j!==64&&(X+=String.fromCharCode(c));while(U01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof J$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):k3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Cr(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(y3||v3)&&(y3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},v3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var p3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||p3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function L4(R0){var t1=i0;return i0=i0+R0+15&-16,t1}function G7(R0){var t1=O[f2>>2],y1=t1+R0+15&-16;return O[f2>>2]=y1,y1>=G9&&!Zr()?(O[f2>>2]=t1,0):t1}function O8(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function Ja(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Cr(t1%8==0),t1/8}}function Er(R0){Er.shown||(Er.shown={}),Er.shown[R0]||(Er.shown[R0]=1,w6(R0))}C5=void 0;var Ka={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},M$=[];function AC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function R$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Wa=0,wu=0;function Cr(R0,t1){R0||X7("Assertion failed: "+t1)}function Za(R0){var t1=A0["_"+R0];return Cr(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var Gp={stackSave:function(){Jp()},stackRestore:function(){z$()},arrayToC:function(R0){var t1,y1,_2=ja(R0.length);return t1=R0,y1=_2,h.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=ja(y1),Pp(R0,t1,y1)}return t1}},Vo={string:Gp.stringToC,array:Gp.arrayToC};function vu(R0,t1,y1,_2,t6){var p9=Za(R0),ee=[],p6=0;if(_2)for(var w8=0;w8<_2.length;w8++){var H4=Vo[y1[w8]];H4?(p6===0&&(p6=Jp()),ee[w8]=H4(_2[w8])):ee[w8]=_2[w8]}var rt,M4=p9.apply(null,ee);return M4=(rt=M4,t1==="string"?T$(rt):t1==="boolean"?!!rt:rt),p6!==0&&z$(p6),M4}function O3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":h[R0>>0]=t1;break;case"i16":U[R0>>1]=t1;break;case"i32":O[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+bu(tempDouble=t1)>=1?tempDouble>0?(0|_u(+Du(tempDouble/4294967296),4294967295))>>>0:~~+Y$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],O[R0>>2]=tempI64[0],O[R0+4>>2]=tempI64[1];break;case"float":U0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:X7("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return h[R0>>0];case"i16":return U[R0>>1];case"i32":case"i64":return O[R0>>2];case"float":return U0[R0>>2];case"double":return _[R0>>3];default:X7("invalid type for getValue: "+t1)}return null}function fB(R0,t1,y1,_2){typeof R0=="number"?(p9=!0,ee=R0):(p9=!1,ee=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof jo=="function"?jo:L4,ja,L4,G7][y1===void 0?2:y1](Math.max(ee,t6?1:t1.length)),p9){for(_2=p6,Cr((3&p6)==0),w8=p6+(-4&ee);_2>2]=0;for(w8=p6+ee;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var p9,ee,p6,w8,H4,rt,M4,E9=0;E9>0],(_2!=0||t1)&&(ee++,!t1||ee!=t1););t1||(t1=ee);var p6="";if(p9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Up)return Up.decode(H4.subarray(rt,M4));for(var E9,Ui,O7,v8,Pi,q7,H7="";;){if(!(E9=H4[rt++]))return H7;if(!(128&E9)){H7+=String.fromCharCode(E9);continue}if(Ui=63&H4[rt++],(224&E9)==192){H7+=String.fromCharCode((31&E9)<<6|Ui);continue}if(O7=63&H4[rt++],(240&E9)==224?E9=(15&E9)<<12|Ui<<6|O7:(v8=63&H4[rt++],(248&E9)==240?E9=(7&E9)<<18|Ui<<12|O7<<6|v8:(Pi=63&H4[rt++],E9=(252&E9)==248?(3&E9)<<24|Ui<<18|O7<<12|v8<<6|Pi:(1&E9)<<30|Ui<<24|O7<<18|v8<<12|Pi<<6|(q7=63&H4[rt++]))),E9<65536)H7+=String.fromCharCode(E9);else{var On=E9-65536;H7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(p,y1)}function IB(R0){for(var t1="";;){var y1=h[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function zo(R0,t1){return function(_2,t6,p9){for(var ee=0;ee<_2.length;++ee)h[t6++>>0]=_2.charCodeAt(ee);p9||(h[t6>>0]=0)}(R0,t1,!1)}var Up=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,p9=y1+_2-1,ee=0;ee=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++ee)),p6<=127){if(y1>=p9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=p9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=p9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=p9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=p9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=p9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function Pp(R0,t1,y1){return Un(R0,p,t1,y1)}function Jo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Op=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function mB(R0){for(var t1=R0,y1=t1>>1;U[y1];)++y1;if((t1=y1<<1)-R0>32&&Op)return Op.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var p9=U[R0+2*_2>>1];if(p9==0)return t6;++_2,t6+=String.fromCharCode(p9)}}function pB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,p9=0;p9>1]=ee,t1+=2}return U[t1>>1]=0,t1-_2}function EB(R0){return 2*R0.length}function CB(R0){for(var t1=0,y1="";;){var _2=O[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function BB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,p9=0;p9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&R0.charCodeAt(++p9)),O[t1>>2]=ee,(t1+=4)+4>t6)break}return O[t1>>2]=0,t1-_2}function QB(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function yB(R0){var t1=Jo(R0)+1,y1=jo(t1);return y1&&Un(R0,h,y1,t1),y1}function wB(R0){var t1=Jo(R0)+1,y1=ja(t1);return Un(R0,h,y1,t1),y1}function qp(R0){return R0}function cC(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` -`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function ku(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function Hp(R0){A0.buffer=c=R0}function X9(){A0.HEAP8=h=new Int8Array(c),A0.HEAP16=U=new Int16Array(c),A0.HEAP32=O=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=j=new Uint16Array(c),A0.HEAPU32=X=new Uint32Array(c),A0.HEAPF32=U0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(O[f2>>2]>t1)return!1;var y1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?ku(2*G9,R0):Math.min(ku((3*G9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Hp(_2),X9(),!0):(G9=y1,!1)}P=i0=S1=f1=g2=n2=f2=0,n1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=h;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!hC(t1)&&t1});try{(a5=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a5=function(t1){return t1.byteLength}}var N$=A0.TOTAL_STACK||5242880,G9=A0.TOTAL_MEMORY||16777216;function G$(){return G9}function Ko(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}G9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var bu=Math.abs,Y$=Math.ceil,Du=Math.floor,_u=Math.min,Pn=0,xu=null,Zo=null;function vB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var zp="data:application/octet-stream;base64,";function V$(R0){return String.prototype.startsWith?R0.startsWith(zp):R0.indexOf(zp)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";V$(t1)||(t1=N9(t1)),V$(y1)||(y1=N9(y1)),V$(_2)||(_2=N9(_2));var t6={global:null,env:null,asm2wasm:Ka,parent:A0},p9=null;function ee(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){X7(M4)}}A0.asmPreload=A0.asm;var w8=A0.reallocBuffer,H4=function(M4){M4=ku(M4,A0.usingWasm?65536:16777216);var E9=A0.buffer.byteLength;if(A0.usingWasm)try{var Ui=A0.wasmMemory.grow((M4-E9)/65536);return Ui!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?w8(M4):H4(M4)};var rt="";A0.asm=function(M4,E9,Ui){var O7;if(!(E9=O7=E9).table){var v8,Pi=A0.wasmTableSize;Pi===void 0&&(Pi=1024);var q7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?q7!==void 0?E9.table=new WebAssembly.Table({initial:Pi,maximum:q7,element:"anyfunc"}):E9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):E9.table=Array(Pi),A0.wasmTable=E9.table}return E9.memoryBase||(E9.memoryBase=A0.STATIC_BASE),E9.tableBase||(E9.tableBase=0),v8=function(On,Br,Kp){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function Lu(Qr,er){if((p9=Qr.exports).memory){var Xa,Xo,es;Xa=p9.memory,Xo=A0.buffer,Xa.byteLength0?y1:Jo(R0)+1,t6=Array(_2),p9=Un(R0,t6,0,t6.length);return t1&&(t6.length=p9),t6}function uC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}i0+=16,f2=L4(4),g2=(S1=f1=O8(i0))+N$,n2=O8(g2),O[f2>>2]=n2,n1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:X7,assert:Cr,enlargeMemory:Zr,getTotalMemory:G$,abortOnCannotGrowMemory:function(){X7("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(t1,y1,_2){var t6=Jp();try{return A0.dynCall_iii(t1,y1,_2)}catch(p9){if(z$(t6),typeof p9!="number"&&p9!=="longjmp")throw p9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){X7("Assertion failed: "+T$(t1)+", at: "+[y1?T$(y1):"unknown filename",_2,t6?T$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(O[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:Du,DYNAMICTOP_PTR:f2,tempDoublePtr:Gi,ABORT:Wa,STACKTOP:f1,STACK_MAX:g2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var hC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var jo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var ja=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},z$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Jp=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function J$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function K$(R0){R0=R0||A0.arguments,!(Pn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)gC(A0.preRun.shift());Ko(jr)}(),!(Pn>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Wa||(O$||(O$=!0,Ko(U$)),Ko(Su),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)P7(A0.postRun.shift());Ko(P$)}()))}}function dC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Wa=!0,wu=R0,f1=T2,Ko(k7),U7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new J$(R0)))}function X7(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(p3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Wa=!0,wu=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=vu,A0.cwrap=function(t1,y1,_2,t6){var p9=(_2=_2||[]).every(function(ee){return ee==="number"});return y1!=="string"&&p9&&!t6?Za(t1):function(){return vu(t1,y1,_2,arguments,t6)}},J$.prototype=Error(),J$.prototype.constructor=J$,Zo=function R0(){A0.calledRun||K$(),A0.calledRun||(Zo=R0)},A0.run=K$,A0.abort=X7,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,K$(),A0.onRuntimeInitialized=()=>{uk=!0,hk()},za.decode=function(R0){return function(y1){if(!uk)throw Error("Not initialized");var _2={};function t6(Br){return new Int32Array(A0.HEAPU8.buffer,Br,1)[0]}function p9(Br,Kp){var Lu=new ArrayBuffer(Kp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Lu);return bt.set(new Float32Array(A0.HEAPU8.buffer,Br,Kp)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var ee,p6,w8,H4,rt=_2.open(),M4=(ee=y1,p6=y1.byteLength,w8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,w8,p6)).set(new Uint8Array(ee,0,p6)),H4),E9=A0._malloc(4),Ui=A0._malloc(4),O7=_2.decode(rt,M4.byteOffset,M4.byteLength,E9,Ui);if(A0._free(M4.byteOffset),O7<0)throw _2.close(rt),A0._free(E9),Error("stbvorbis decode failed: "+O7);for(var v8=_2.channels(rt),Pi=Array(v8),q7=new Int32Array(A0.HEAPU32.buffer,t6(E9),v8),H7=0;H7n.chunkData.currentIndex;){let p=o_(h,n.chunkData,i,A);c.push(p),h++}return c.length>1&&c.pop(),c}function o_(n,i,A,c){let h=Q4(i,20),p=s3(i,4)*2,U=s3(i,4)*2,j=s3(i,4),O=s3(i,4),X=s3(i,4),U0=i[i.currentIndex++];U0===255&&(U0=60);let _=My(i[i.currentIndex++]),P=s3(i,2),i0=s3(i,2);return new nB(h,p,U,j,O,X,U0,_,P,i0,A,n,c)}var oB=class extends h6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ua(i[A+2],i[A+3]),i.currentIndex+=4}};function sB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new oB(n.chunkData));return i.length>1&&i.pop(),i}var aB=class extends Qu{constructor(i){super(),this.instrumentName=Q4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new aB(n);if(A.length>0){let h=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(h,i)}A.push(c)}return A.length>1&&A.pop(),A}var AB=class extends Kr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Ik(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new AB(n.chunkData);if(h.length>0){let U=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,j=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(U,j),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getSample(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var $B=class extends Cu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function mk(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new $B(n.chunkData);if(h.length>0){let U=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,j=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(U,j),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getInstrument(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var lB=class extends Bu{constructor(i,A){super(A),this.presetName=Q4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let h=new lB(n,A);if(c.length>0){let p=h.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(h)}return c.length>1&&c.pop(),c}var cB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function nC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new cB(n.chunkData));return i}var oC=class extends Va{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),R7("%cParsing SoundFont...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=Be(this.dataArray,!1);this.verifyHeader(c,"riff");let h=Q4(this.dataArray,4).toLowerCase();if(h!=="sfbk"&&h!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${h}"`);let p=h==="sfpk",U=Be(this.dataArray);for(this.verifyHeader(U,"list"),Q4(U.chunkData,4);U.chunkData.length>U.chunkData.currentIndex;){let g6=Be(U.chunkData),k3;switch(g6.header.toLowerCase()){case"ifil":case"iver":k3=`${s3(g6.chunkData,2)}.${s3(g6.chunkData,2)}`,this.soundFontInfo[g6.header]=k3;break;case"icmt":k3=Q4(g6.chunkData,g6.chunkData.length,void 0,!1),this.soundFontInfo[g6.header]=k3;break;case"dmod":let c9=nC(g6);c9.pop(),k3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(p3=>!this.defaultModulators.find(w6=>l9.isIdentical(p3,w6)))),this.soundFontInfo[g6.header]=g6.chunkData;break;default:k3=Q4(g6.chunkData,g6.chunkData.length),this.soundFontInfo[g6.header]=k3}U5(`%c"${g6.header}": %c"${k3}"`,C1.info,C1.recognized)}let j=Be(this.dataArray,!1);this.verifyHeader(j,"list"),this.verifyText(Q4(this.dataArray,4),"sdta"),U5("%cVerifying smpl chunk...",C1.warn);let O=Be(this.dataArray,!1);this.verifyHeader(O,"smpl");let X;if(p){U5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{X=za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+j.size-12)).data[0]}catch(g6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${g6}`)}U5(`%cDecoded the smpl chunk! Length: %c${X.length}`,C1.info,C1.value)}else X=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;U5(`%cSkipping sample chunk, length: %c${j.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=j.size-12,U5("%cLoading preset data chunk...",C1.warn);let U0=Be(this.dataArray);this.verifyHeader(U0,"list"),Q4(U0.chunkData,4);let _=Be(U0.chunkData);this.verifyHeader(_,"phdr");let P=Be(U0.chunkData);this.verifyHeader(P,"pbag");let i0=Be(U0.chunkData);this.verifyHeader(i0,"pmod");let n1=Be(U0.chunkData);this.verifyHeader(n1,"pgen");let S1=Be(U0.chunkData);this.verifyHeader(S1,"inst");let f1=Be(U0.chunkData);this.verifyHeader(f1,"ibag");let g2=Be(U0.chunkData);this.verifyHeader(g2,"imod");let n2=Be(U0.chunkData);this.verifyHeader(n2,"igen");let f2=Be(U0.chunkData);this.verifyHeader(f2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...dk(f2,X,!p));let a5=sB(n2),T2=nC(g2),A0=Ik(f1,a5,T2,this.samples);this.instruments=fk(S1,A0);let C5=sB(n1),y3=nC(i0),v3=mk(P,C5,y3,this.instruments);this.presets.push(...pk(_,v3,this.defaultModulators)),this.presets.sort((g6,k3)=>g6.program-k3.program+(g6.bank-k3.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Yo(n){let i=n.slice(8,12),A=new K5(i);return Q4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(n):new oC(n,!1)}async function Ek(){let n="locale.exportAudio.formats.formats.soundfont.options.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,h=parseInt(i.div.querySelector("input[type='range']").value)/10;_e(i.id),R7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),U=Yo(p.embeddedSoundFont||this.soundFont);Pa(p,await this.synth.getSynthesizerSnapshot()),A&&Eu(U,p);let j=U.write({compress:c,compressionQuality:h,compressionFunction:this.compressionFunc}),O=new Blob([j.buffer],{type:"audio/soundfont"}),X=U.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(O,`${U.soundFontInfo.INAM||"unnamed"}.${X}`),u9()}}],99999999,!0,this.localeManager)}async function Ck(){let n="locale.exportAudio.formats.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_e(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_e(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_e(i.id);try{this._exportSoundfont()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_e(i.id);try{this._exportDLS()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_e(i.id);try{this._exportRMIDI()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Bk(){let n=(_,P,i0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?P:i0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),h=n("IART","",A),p=n("IGNR","",A),U=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),j="locale.exportAudio.formats.formats.rmidi.options.",O="locale.exportAudio.formats.metadata.",U0=c4(this.localeManager.getLocaleString(j+"title"),[{type:"toggle",translatePathTitle:j+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:j+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:O+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:O+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:O+"artist",attributes:{value:h,name:"artist",type:"text"}},{type:"input",translatePathTitle:O+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:O+"comment",attributes:{value:U,name:"comment",type:"text"}},{type:"file",translatePathTitle:O+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:j+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:j+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(j+"confirm"),onClick:async _=>{let P=_.div.querySelector("input[compress-toggle='1']").checked,i0=parseInt(_.div.querySelector("input[type='range']").value)/10,n1=_.div.querySelector("input[name='album']").value,S1=_.div.querySelector("input[name='artist']").value,f1=_.div.querySelector("input[name='song_title']").value,g2=_.div.querySelector("input[name='comment']").value,n2=_.div.querySelector("input[name='genre']").value,f2=parseInt(_.div.querySelector("input[name='bank_offset']").value),a5=_.div.querySelector("input[name='adjust']").checked,T2=_.div.querySelector("input[type='file']")?.files[0];_e(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=c4(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let y3=C5.div.getElementsByClassName("export_rmidi_message")[0],v3=await this.seq.getMIDI(),g6=Yo(v3.embeddedSoundFont||this.soundFont);y3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Pa(v3,await this.synth.getSynthesizerSnapshot()),y3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),Eu(g6,v3);let k3=g6.write({compress:P,compressionQuality:i0,compressionFunction:this.compressionFunc});y3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let c9;T2?.type.split("/")[0]==="image"?c9=await T2.arrayBuffer():v3.RMIDInfo?.IPIC!==void 0&&(c9=v3.RMIDInfo.IPIC.buffer);let N9=FE(k3,v3,g6,f2,this.seqUI.encoding,{name:f1,comment:g2,engineer:g6.soundFontInfo.IENG,picture:c9,album:n1.length>0?n1:void 0,artist:S1.length>0?S1:void 0,genre:n2.length>0?n2:void 0,midiEncoding:this.seqUI.encoding},a5),p3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(p3,`${f1||"unnamed_song"}.rmi`),y3.textContent=this.localeManager.getLocaleString(A0+"done"),_e(C5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");U0.oninput=()=>{U0.files[0]&&(U0.parentElement.firstChild.textContent=U0.files[0].name)}}var Qk="synthetizer/worklet_processor.min.js";var sC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",h=typeof process=="object"&&typeof BE=="function"&&!c,p=typeof importScripts=="function",U=!c&&!h&&!p;if(h){n.print||(n.print=function(l){process.stdout.write(l+` +Converted from DLS to SF2 with SpessaSynth`;for(let[O,X]of Object.entries(this.soundFontInfo))U5(`%c"${O}": %c"${X}"`,C1.info,C1.recognized);let p=c.find(O=>O.header==="colh");p||(u9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),U5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let T=N7(c,"wvpl");T||(u9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(T);let H=N7(c,"lins");H||(u9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(H),this.presets.sort((O,X)=>O.program-X.program+(O.bank-X.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};Ho.prototype.readDLSInstrumentList=sk;Ho.prototype.readDLSInstrument=ak;Ho.prototype.readRegion=ck;Ho.prototype.readLart=lk;Ho.prototype.readDLSSamples=uk;var za=za!==void 0?za:{},hk=!1,dk;za.isInitialized=new Promise(n=>dk=n);var o_=function(n){var i,A,c,h,p,T,H,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",X="",U0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do h=O.indexOf(n.charAt(U0++)),p=O.indexOf(n.charAt(U0++)),T=O.indexOf(n.charAt(U0++)),H=O.indexOf(n.charAt(U0++)),i=h<<2|p>>4,A=(15&p)<<4|T>>2,c=(3&T)<<6|H,X+=String.fromCharCode(i),T!==64&&(X+=String.fromCharCode(A)),H!==64&&(X+=String.fromCharCode(c));while(U01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof J$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):S3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Br(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(y3||k3)&&(y3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},k3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var p3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||p3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function L4(R0){var t1=i0;return i0=i0+R0+15&-16,t1}function G7(R0){var t1=O[f2>>2],y1=t1+R0+15&-16;return O[f2>>2]=y1,y1>=G9&&!Zr()?(O[f2>>2]=t1,0):t1}function O8(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function Ja(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Br(t1%8==0),t1/8}}function Cr(R0){Cr.shown||(Cr.shown={}),Cr.shown[R0]||(Cr.shown[R0]=1,w6(R0))}C5=void 0;var Ka={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},M$=[];function cC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function R$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Wa=0,vu=0;function Br(R0,t1){R0||er("Assertion failed: "+t1)}function Za(R0){var t1=A0["_"+R0];return Br(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var Pp={stackSave:function(){Wp()},stackRestore:function(){z$()},arrayToC:function(R0){var t1,y1,_2=ja(R0.length);return t1=R0,y1=_2,h.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=ja(y1),qp(R0,t1,y1)}return t1}},Yo={string:Pp.stringToC,array:Pp.arrayToC};function ku(R0,t1,y1,_2,t6){var p9=Za(R0),ee=[],p6=0;if(_2)for(var w8=0;w8<_2.length;w8++){var H4=Yo[y1[w8]];H4?(p6===0&&(p6=Wp()),ee[w8]=H4(_2[w8])):ee[w8]=_2[w8]}var rt,M4=p9.apply(null,ee);return M4=(rt=M4,t1==="string"?T$(rt):t1==="boolean"?!!rt:rt),p6!==0&&z$(p6),M4}function q3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":h[R0>>0]=t1;break;case"i16":T[R0>>1]=t1;break;case"i32":O[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+Du(tempDouble=t1)>=1?tempDouble>0?(0|xu(+_u(tempDouble/4294967296),4294967295))>>>0:~~+V$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],O[R0>>2]=tempI64[0],O[R0+4>>2]=tempI64[1];break;case"float":U0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:er("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return h[R0>>0];case"i16":return T[R0>>1];case"i32":case"i64":return O[R0>>2];case"float":return U0[R0>>2];case"double":return _[R0>>3];default:er("invalid type for getValue: "+t1)}return null}function IB(R0,t1,y1,_2){typeof R0=="number"?(p9=!0,ee=R0):(p9=!1,ee=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof jo=="function"?jo:L4,ja,L4,G7][y1===void 0?2:y1](Math.max(ee,t6?1:t1.length)),p9){for(_2=p6,Br((3&p6)==0),w8=p6+(-4&ee);_2>2]=0;for(w8=p6+ee;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var p9,ee,p6,w8,H4,rt,M4,E9=0;E9>0],(_2!=0||t1)&&(ee++,!t1||ee!=t1););t1||(t1=ee);var p6="";if(p9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Op)return Op.decode(H4.subarray(rt,M4));for(var E9,Ui,O7,v8,Pi,q7,H7="";;){if(!(E9=H4[rt++]))return H7;if(!(128&E9)){H7+=String.fromCharCode(E9);continue}if(Ui=63&H4[rt++],(224&E9)==192){H7+=String.fromCharCode((31&E9)<<6|Ui);continue}if(O7=63&H4[rt++],(240&E9)==224?E9=(15&E9)<<12|Ui<<6|O7:(v8=63&H4[rt++],(248&E9)==240?E9=(7&E9)<<18|Ui<<12|O7<<6|v8:(Pi=63&H4[rt++],E9=(252&E9)==248?(3&E9)<<24|Ui<<18|O7<<12|v8<<6|Pi:(1&E9)<<30|Ui<<24|O7<<18|v8<<12|Pi<<6|(q7=63&H4[rt++]))),E9<65536)H7+=String.fromCharCode(E9);else{var On=E9-65536;H7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(p,y1)}function mB(R0){for(var t1="";;){var y1=h[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function zo(R0,t1){return function(_2,t6,p9){for(var ee=0;ee<_2.length;++ee)h[t6++>>0]=_2.charCodeAt(ee);p9||(h[t6>>0]=0)}(R0,t1,!1)}var Op=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,p9=y1+_2-1,ee=0;ee=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++ee)),p6<=127){if(y1>=p9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=p9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=p9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=p9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=p9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=p9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function qp(R0,t1,y1){return Un(R0,p,t1,y1)}function Jo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Hp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function pB(R0){for(var t1=R0,y1=t1>>1;T[y1];)++y1;if((t1=y1<<1)-R0>32&&Hp)return Hp.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var p9=T[R0+2*_2>>1];if(p9==0)return t6;++_2,t6+=String.fromCharCode(p9)}}function EB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,p9=0;p9>1]=ee,t1+=2}return T[t1>>1]=0,t1-_2}function CB(R0){return 2*R0.length}function BB(R0){for(var t1=0,y1="";;){var _2=O[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function QB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,p9=0;p9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&R0.charCodeAt(++p9)),O[t1>>2]=ee,(t1+=4)+4>t6)break}return O[t1>>2]=0,t1-_2}function yB(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function wB(R0){var t1=Jo(R0)+1,y1=jo(t1);return y1&&Un(R0,h,y1,t1),y1}function vB(R0){var t1=Jo(R0)+1,y1=ja(t1);return Un(R0,h,y1,t1),y1}function Vp(R0){return R0}function hC(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` +`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function Su(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function Yp(R0){A0.buffer=c=R0}function X9(){A0.HEAP8=h=new Int8Array(c),A0.HEAP16=T=new Int16Array(c),A0.HEAP32=O=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=H=new Uint16Array(c),A0.HEAPU32=X=new Uint32Array(c),A0.HEAPF32=U0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(O[f2>>2]>t1)return!1;var y1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?Su(2*G9,R0):Math.min(Su((3*G9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Yp(_2),X9(),!0):(G9=y1,!1)}P=i0=S1=f1=g2=n2=f2=0,n1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=h;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!IC(t1)&&t1});try{(a5=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{a5=function(t1){return t1.byteLength}}var N$=A0.TOTAL_STACK||5242880,G9=A0.TOTAL_MEMORY||16777216;function G$(){return G9}function Ko(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}G9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var Du=Math.abs,V$=Math.ceil,_u=Math.floor,xu=Math.min,Pn=0,Lu=null,Zo=null;function kB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Kp="data:application/octet-stream;base64,";function Y$(R0){return String.prototype.startsWith?R0.startsWith(Kp):R0.indexOf(Kp)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";Y$(t1)||(t1=N9(t1)),Y$(y1)||(y1=N9(y1)),Y$(_2)||(_2=N9(_2));var t6={global:null,env:null,asm2wasm:Ka,parent:A0},p9=null;function ee(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){er(M4)}}A0.asmPreload=A0.asm;var w8=A0.reallocBuffer,H4=function(M4){M4=Su(M4,A0.usingWasm?65536:16777216);var E9=A0.buffer.byteLength;if(A0.usingWasm)try{var Ui=A0.wasmMemory.grow((M4-E9)/65536);return Ui!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?w8(M4):H4(M4)};var rt="";A0.asm=function(M4,E9,Ui){var O7;if(!(E9=O7=E9).table){var v8,Pi=A0.wasmTableSize;Pi===void 0&&(Pi=1024);var q7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?q7!==void 0?E9.table=new WebAssembly.Table({initial:Pi,maximum:q7,element:"anyfunc"}):E9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):E9.table=Array(Pi),A0.wasmTable=E9.table}return E9.memoryBase||(E9.memoryBase=A0.STATIC_BASE),E9.tableBase||(E9.tableBase=0),v8=function(On,Qr,Zp){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function Mu(yr,tr){if((p9=yr.exports).memory){var Xa,Xo,es;Xa=p9.memory,Xo=A0.buffer,Xa.byteLength0?y1:Jo(R0)+1,t6=Array(_2),p9=Un(R0,t6,0,t6.length);return t1&&(t6.length=p9),t6}function fC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}i0+=16,f2=L4(4),g2=(S1=f1=O8(i0))+N$,n2=O8(g2),O[f2>>2]=n2,n1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:er,assert:Br,enlargeMemory:Zr,getTotalMemory:G$,abortOnCannotGrowMemory:function(){er("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iii:function(t1,y1,_2){var t6=Wp();try{return A0.dynCall_iii(t1,y1,_2)}catch(p9){if(z$(t6),typeof p9!="number"&&p9!=="longjmp")throw p9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){er("Assertion failed: "+T$(t1)+", at: "+[y1?T$(y1):"unknown filename",_2,t6?T$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(O[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:_u,DYNAMICTOP_PTR:f2,tempDoublePtr:Gi,ABORT:Wa,STACKTOP:f1,STACK_MAX:g2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var IC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var jo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var ja=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},z$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Wp=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function J$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function K$(R0){R0=R0||A0.arguments,!(Pn>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)dC(A0.preRun.shift());Ko(jr)}(),!(Pn>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Wa||(O$||(O$=!0,Ko(U$)),Ko(bu),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)P7(A0.postRun.shift());Ko(P$)}()))}}function mC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Wa=!0,vu=R0,f1=T2,Ko(k7),U7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new J$(R0)))}function er(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(p3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Wa=!0,vu=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=ku,A0.cwrap=function(t1,y1,_2,t6){var p9=(_2=_2||[]).every(function(ee){return ee==="number"});return y1!=="string"&&p9&&!t6?Za(t1):function(){return ku(t1,y1,_2,arguments,t6)}},J$.prototype=Error(),J$.prototype.constructor=J$,Zo=function R0(){A0.calledRun||K$(),A0.calledRun||(Zo=R0)},A0.run=K$,A0.abort=er,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,K$(),A0.onRuntimeInitialized=()=>{hk=!0,dk()},za.decode=function(R0){return function(y1){if(!hk)throw Error("Not initialized");var _2={};function t6(Qr){return new Int32Array(A0.HEAPU8.buffer,Qr,1)[0]}function p9(Qr,Zp){var Mu=new ArrayBuffer(Zp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Mu);return bt.set(new Float32Array(A0.HEAPU8.buffer,Qr,Zp)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var ee,p6,w8,H4,rt=_2.open(),M4=(ee=y1,p6=y1.byteLength,w8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,w8,p6)).set(new Uint8Array(ee,0,p6)),H4),E9=A0._malloc(4),Ui=A0._malloc(4),O7=_2.decode(rt,M4.byteOffset,M4.byteLength,E9,Ui);if(A0._free(M4.byteOffset),O7<0)throw _2.close(rt),A0._free(E9),Error("stbvorbis decode failed: "+O7);for(var v8=_2.channels(rt),Pi=Array(v8),q7=new Int32Array(A0.HEAPU32.buffer,t6(E9),v8),H7=0;H7n.chunkData.currentIndex;){let p=s_(h,n.chunkData,i,A);c.push(p),h++}return c.length>1&&c.pop(),c}function s_(n,i,A,c){let h=Q4(i,20),p=s3(i,4)*2,T=s3(i,4)*2,H=s3(i,4),O=s3(i,4),X=s3(i,4),U0=i[i.currentIndex++];U0===255&&(U0=60);let _=Ry(i[i.currentIndex++]),P=s3(i,2),i0=s3(i,2);return new oB(h,p,T,H,O,X,U0,_,P,i0,A,n,c)}var sB=class extends h6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ua(i[A+2],i[A+3]),i.currentIndex+=4}};function aB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new sB(n.chunkData));return i.length>1&&i.pop(),i}var AB=class extends yu{constructor(i){super(),this.instrumentName=Q4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new AB(n);if(A.length>0){let h=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(h,i)}A.push(c)}return A.length>1&&A.pop(),A}var $B=class extends Wr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function mk(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new $B(n.chunkData);if(h.length>0){let T=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(T,H),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getSample(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var lB=class extends Bu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===I0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===I0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===I0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function pk(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new lB(n.chunkData);if(h.length>0){let T=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(T,H),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getInstrument(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var cB=class extends Qu{constructor(i,A){super(A),this.presetName=Q4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let h=new cB(n,A);if(c.length>0){let p=h.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(h)}return c.length>1&&c.pop(),c}var gB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function aC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new gB(n.chunkData));return i}var AC=class extends Ya{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),R7("%cParsing SoundFont...",C1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=Be(this.dataArray,!1);this.verifyHeader(c,"riff");let h=Q4(this.dataArray,4).toLowerCase();if(h!=="sfbk"&&h!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${h}"`);let p=h==="sfpk",T=Be(this.dataArray);for(this.verifyHeader(T,"list"),Q4(T.chunkData,4);T.chunkData.length>T.chunkData.currentIndex;){let g6=Be(T.chunkData),S3;switch(g6.header.toLowerCase()){case"ifil":case"iver":S3=`${s3(g6.chunkData,2)}.${s3(g6.chunkData,2)}`,this.soundFontInfo[g6.header]=S3;break;case"icmt":S3=Q4(g6.chunkData,g6.chunkData.length,void 0,!1),this.soundFontInfo[g6.header]=S3;break;case"dmod":let c9=aC(g6);c9.pop(),S3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(p3=>!this.defaultModulators.find(w6=>l9.isIdentical(p3,w6)))),this.soundFontInfo[g6.header]=g6.chunkData;break;default:S3=Q4(g6.chunkData,g6.chunkData.length),this.soundFontInfo[g6.header]=S3}U5(`%c"${g6.header}": %c"${S3}"`,C1.info,C1.recognized)}let H=Be(this.dataArray,!1);this.verifyHeader(H,"list"),this.verifyText(Q4(this.dataArray,4),"sdta"),U5("%cVerifying smpl chunk...",C1.warn);let O=Be(this.dataArray,!1);this.verifyHeader(O,"smpl");let X;if(p){U5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{X=za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+H.size-12)).data[0]}catch(g6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${g6}`)}U5(`%cDecoded the smpl chunk! Length: %c${X.length}`,C1.info,C1.value)}else X=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;U5(`%cSkipping sample chunk, length: %c${H.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=H.size-12,U5("%cLoading preset data chunk...",C1.warn);let U0=Be(this.dataArray);this.verifyHeader(U0,"list"),Q4(U0.chunkData,4);let _=Be(U0.chunkData);this.verifyHeader(_,"phdr");let P=Be(U0.chunkData);this.verifyHeader(P,"pbag");let i0=Be(U0.chunkData);this.verifyHeader(i0,"pmod");let n1=Be(U0.chunkData);this.verifyHeader(n1,"pgen");let S1=Be(U0.chunkData);this.verifyHeader(S1,"inst");let f1=Be(U0.chunkData);this.verifyHeader(f1,"ibag");let g2=Be(U0.chunkData);this.verifyHeader(g2,"imod");let n2=Be(U0.chunkData);this.verifyHeader(n2,"igen");let f2=Be(U0.chunkData);this.verifyHeader(f2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...fk(f2,X,!p));let a5=aB(n2),T2=aC(g2),A0=mk(f1,a5,T2,this.samples);this.instruments=Ik(S1,A0);let C5=aB(n1),y3=aC(i0),k3=pk(P,C5,y3,this.instruments);this.presets.push(...Ek(_,k3,this.defaultModulators)),this.presets.sort((g6,S3)=>g6.program-S3.program+(g6.bank-S3.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),u9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Vo(n){let i=n.slice(8,12),A=new K5(i);return Q4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(n):new AC(n,!1)}async function Ck(){let n="locale.exportAudio.formats.formats.soundfont.options.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,h=parseInt(i.div.querySelector("input[type='range']").value)/10;_e(i.id),R7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),T=Vo(p.embeddedSoundFont||this.soundFont);Pa(p,await this.synth.getSynthesizerSnapshot()),A&&Cu(T,p);let H=T.write({compress:c,compressionQuality:h,compressionFunction:this.compressionFunc}),O=new Blob([H.buffer],{type:"audio/soundfont"}),X=T.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(O,`${T.soundFontInfo.INAM||"unnamed"}.${X}`),u9()}}],99999999,!0,this.localeManager)}async function Bk(){let n="locale.exportAudio.formats.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_e(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_e(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_e(i.id);try{this._exportSoundfont()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_e(i.id);try{this._exportDLS()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_e(i.id);try{this._exportRMIDI()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Qk(){let n=(_,P,i0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?P:i0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),h=n("IART","",A),p=n("IGNR","",A),T=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),H="locale.exportAudio.formats.formats.rmidi.options.",O="locale.exportAudio.formats.metadata.",U0=c4(this.localeManager.getLocaleString(H+"title"),[{type:"toggle",translatePathTitle:H+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:H+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:O+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:O+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:O+"artist",attributes:{value:h,name:"artist",type:"text"}},{type:"input",translatePathTitle:O+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:O+"comment",attributes:{value:T,name:"comment",type:"text"}},{type:"file",translatePathTitle:O+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:H+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:H+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(H+"confirm"),onClick:async _=>{let P=_.div.querySelector("input[compress-toggle='1']").checked,i0=parseInt(_.div.querySelector("input[type='range']").value)/10,n1=_.div.querySelector("input[name='album']").value,S1=_.div.querySelector("input[name='artist']").value,f1=_.div.querySelector("input[name='song_title']").value,g2=_.div.querySelector("input[name='comment']").value,n2=_.div.querySelector("input[name='genre']").value,f2=parseInt(_.div.querySelector("input[name='bank_offset']").value),a5=_.div.querySelector("input[name='adjust']").checked,T2=_.div.querySelector("input[type='file']")?.files[0];_e(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=c4(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let y3=C5.div.getElementsByClassName("export_rmidi_message")[0],k3=await this.seq.getMIDI(),g6=Vo(k3.embeddedSoundFont||this.soundFont);y3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Pa(k3,await this.synth.getSynthesizerSnapshot()),y3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),Cu(g6,k3);let S3=g6.write({compress:P,compressionQuality:i0,compressionFunction:this.compressionFunc});y3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let c9;T2?.type.split("/")[0]==="image"?c9=await T2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(c9=k3.RMIDInfo.IPIC.buffer);let N9=GE(S3,k3,g6,f2,this.seqUI.encoding,{name:f1,comment:g2,engineer:g6.soundFontInfo.IENG,picture:c9,album:n1.length>0?n1:void 0,artist:S1.length>0?S1:void 0,genre:n2.length>0?n2:void 0,midiEncoding:this.seqUI.encoding},a5),p3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(p3,`${f1||"unnamed_song"}.rmi`),y3.textContent=this.localeManager.getLocaleString(A0+"done"),_e(C5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");U0.oninput=()=>{U0.files[0]&&(U0.parentElement.firstChild.textContent=U0.files[0].name)}}var yk="synthetizer/worklet_processor.min.js";var $C={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",h=typeof process=="object"&&typeof yE=="function"&&!c,p=typeof importScripts=="function",T=!c&&!h&&!p;if(h){n.print||(n.print=function(l){process.stdout.write(l+` `)}),n.printErr||(n.printErr=function(l){process.stderr.write(l+` -`)});var j=void 0,O=void 0;n.read=function(l,u){l=O.normalize(l);var f=j.readFileSync(l);return!f&&l!=O.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=j.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){U0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof eA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(U)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return Ne(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var X=!1;n.print||(n.print=X&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function U0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){U0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return k7},stackRestore:function(r){k7=r},getNativeTypeSize:function(r){switch(r){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return Ne(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(Ne((r&7)===4),r+=4):Ne((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){Ne(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=k7;return k7=k7+r|0,k7=k7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=U7;if(U7=U7+r|0,U7=U7+15&-16,U7>=Wo){var u=gC();if(!u)return U7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var P=0,i0=!1,n1=0,S1=0,f1,g2,n2,f2,a5,T2,A0,C5,y3,v3,g6,k3,c9,N9,p3,w6,L4,G7,O8,Ja,Er,Ka,M$,AC,$C;function Ne(r,l){r||ts("Assertion failed: "+l)}var bk=this;function lC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return Ne(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var R$,Wa;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return ja(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),jo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Wa=function(r1,x2,s,l1,C){var k5=lC(r1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":G9[r>>2]=l;break;case"i64":N9=[l>>>0,(k3=l,+K$(k3)>=1?k3>0?(Ui(+H4(k3/4294967296),4294967295)|0)>>>0:~~+w8((k3-+(~~k3>>>0))/4294967296)>>>0:0)],G9[r>>2]=N9[0],G9[r+4>>2]=N9[1];break;case"float":Z$[r>>2]=l;break;case"double":G$[r>>3]=l;break;default:ts("invalid type for setValue: "+u)}}n.setValue=wu;function Cr(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[r>>0];case"i8":return X9[r>>0];case"i16":return Zr[r>>1];case"i32":return G9[r>>2];case"i64":return G9[r>>2];case"float":return Z$[r>>2];case"double":return G$[r>>3];default:ts("invalid type for setValue: "+l)}return null}n.getValue=Cr;var Za=0,Gp=1,Vo=2,vu=3,O3=4;n.ALLOC_NORMAL=Za,n.ALLOC_STACK=Gp,n.ALLOC_STATIC=Vo,n.ALLOC_DYNAMIC=vu,n.ALLOC_NONE=O3;function C3(r,l,u,f){var H,e;typeof r=="number"?(H=!0,e=r):(H=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==O3?r1=f:r1=[Mu,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Vo:u](Math.max(e,X0?1:l.length)),H){var f=r1,x2;for(Ne((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?S7.set(r,r1):S7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(H++,l&&H==l)););l||(l=H);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,S7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=F$;function T$(r){for(var l="";;){var u=X9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=T$;function IB(r,l){return z$(r,l,!1)}n.stringToAscii=IB;function zo(r,l){for(var u,f,H,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(H=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|H:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|H<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|H<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|H<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=zo;function Up(r){return zo(S7,r)}n.UTF8ToString=Up;function Un(r,l,u,f){if(!(f>0))return 0;for(var H=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-H}n.stringToUTF8Array=Un;function Pp(r,l,u){return Un(r,S7,l,u)}n.stringToUTF8=Pp;function Jo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Op(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Op;function mB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,H=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=mB;function pB(r){return r.length*2}n.lengthBytesUTF16=pB;function EB(r){for(var l=0,u="";;){var f=G9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var H=f-65536;u+=String.fromCharCode(55296|H>>10,56320|H&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=EB;function CB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,H=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(G9[l>>2]=X0,l+=4,l+4>H)break}return G9[l>>2]=0,l-f}n.stringToUTF32=CB;function BB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=BB;function QB(r){var l=!!n.___cxa_demangle;if(l)try{var u=Mu(r.length);jo(r.substr(1),u);var f=Mu(4),H=n.___cxa_demangle(u,0,0,f);if(Cr(f,"i32")===0&&H)return F$(H)}catch{}finally{u&&IC(u),f&&IC(f),H&&IC(H)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var yr=r[e++];if(yr in X0)Qe.push(X0[yr]);else switch(yr){case"P":Qe.push(C(!0,1,!0)[0]+"*");break;case"R":Qe.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var X$=r.indexOf("E",e),It=X$-e;Qe.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,Qe.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+yr;break e}}return!U9&&Qe.length===1&&Qe[0]==="void"&&(Qe=[]),w2?(W9&&Qe.push(W9+"?"),Qe):W9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=F$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function yB(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=QB(l);return l===u?l:l+" ["+u+"]"})}function wB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function qp(){return yB(wB())}n.stackTrace=qp;var cC=4096;function ku(r){return r%4096>0&&(r+=4096-r%4096),r}var Hp,X9,S7,Zr,N$,G9,W$,Z$,G$,Ko=0,jr=0,U$=!1,Su=0,k7=0,P$=0,O$=0,U7=0;function gC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Yp=n.TOTAL_STACK||5242880,Wo=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Vp=[],H$=[],bu=[],Y$=[],Du=[],_u=!1,Pn=!1;function xu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());q$(Vp)}function Zo(){_u||(_u=!0,q$(H$))}function vB(){q$(bu)}function zp(){q$(Y$),Pn=!0}function V$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)uC(n.postRun.shift());q$(Du)}function Gi(r){Vp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function kB(r){H$.unshift(r)}n.addOnInit=n.addOnInit=kB;function SB(r){bu.unshift(r)}n.addOnPreMain=n.addOnPreMain=SB;function bB(r){Y$.unshift(r)}n.addOnExit=n.addOnExit=bB;function uC(r){Du.unshift(r)}n.addOnPostRun=n.addOnPostRun=uC;function en(r,l,u){var f=u>0?u:Jo(r)+1,H=new Array(f),e=Un(r,H,0,H.length);return l&&(H.length=e),H}n.intArrayFromString=en;function hC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=hC;function jo(r,l,u){for(var f=en(r,u),H=0;H>0]=e,H=H+1}}n.writeStringToMemory=jo;function ja(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=ja;function z$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(X9[l>>0]=0)}n.writeAsciiToMemory=z$;function Jp(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,H=l&65535,e=u>>>16,X0=u&65535;return H*X0+(f*X0+H*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var K$=Math.abs,dC=Math.cos,X7=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,p9=Math.exp,ee=Math.log,p6=Math.sqrt,w8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,E9=Math.fround,Ui=Math.min,O7=Math.clz32,v8=0,Pi=null,q7=null;function H7(r){return r}function On(r){v8++,n.monitorRunDependencies&&n.monitorRunDependencies(v8)}n.addRunDependency=On;function Br(r){if(v8--,n.monitorRunDependencies&&n.monitorRunDependencies(v8),v8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),q7)){var l=q7;q7=null,l()}}n.removeRunDependency=Br,n.preloadedImages={},n.preloadedAudios={};var Kp=null,Lu=[];Ko=8,jr=Ko+553552,H$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",O3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",O3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",O3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",O3,_.GLOBAL_BASE+41032),C3([1],"i8",O3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",O3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",O3,_.GLOBAL_BASE+72464),C3([1],"i8",O3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",O3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",O3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",O3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",O3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",O3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",O3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",O3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",O3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",O3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",O3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",O3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",O3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",O3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",O3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",O3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",O3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",O3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",O3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",O3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",O3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",O3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",O3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",O3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",O3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",O3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",O3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",O3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",O3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",O3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",O3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",O3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Vo),8);Ne(bt%8==0);function fC(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3]}function Qr(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3],X9[bt+4]=X9[r+4],X9[bt+5]=X9[r+5],X9[bt+6]=X9[r+6],X9[bt+7]=X9[r+7]}var er=dC,Xa=K$,Xo=0;function es(r){return G9[Xo>>2]=r,r}var N2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function DB(r){switch(r){case 30:return cC;case 85:return Xr/cC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return es(N2.EINVAL),-1}n._memset=lS;var _B=!0;n._strlen=sS,n._strcat=aS,n._bitshift64Shl=hS;function Dk(){n.abort()}n._i64Add=AS;var _k=H4,xk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){qn.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var l=qn.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(N2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,H){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(N2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,H).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` +`)});var H=void 0,O=void 0;n.read=function(l,u){l=O.normalize(l);var f=H.readFileSync(l);return!f&&l!=O.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=H.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){U0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof eA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(T)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return Ne(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var X=!1;n.print||(n.print=X&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function U0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){U0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return k7},stackRestore:function(r){k7=r},getNativeTypeSize:function(r){switch(r){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return Ne(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(Ne((r&7)===4),r+=4):Ne((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){Ne(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=k7;return k7=k7+r|0,k7=k7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=U7;if(U7=U7+r|0,U7=U7+15&-16,U7>=Wo){var u=dC();if(!u)return U7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var P=0,i0=!1,n1=0,S1=0,f1,g2,n2,f2,a5,T2,A0,C5,y3,k3,g6,S3,c9,N9,p3,w6,L4,G7,O8,Ja,Cr,Ka,M$,cC,gC;function Ne(r,l){r||ts("Assertion failed: "+l)}var Dk=this;function uC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return Ne(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var R$,Wa;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return ja(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),jo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Wa=function(r1,x2,s,l1,C){var k5=uC(r1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":G9[r>>2]=l;break;case"i64":N9=[l>>>0,(S3=l,+K$(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+w8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],G9[r>>2]=N9[0],G9[r+4>>2]=N9[1];break;case"float":Z$[r>>2]=l;break;case"double":G$[r>>3]=l;break;default:ts("invalid type for setValue: "+u)}}n.setValue=vu;function Br(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[r>>0];case"i8":return X9[r>>0];case"i16":return Zr[r>>1];case"i32":return G9[r>>2];case"i64":return G9[r>>2];case"float":return Z$[r>>2];case"double":return G$[r>>3];default:ts("invalid type for setValue: "+l)}return null}n.getValue=Br;var Za=0,Pp=1,Yo=2,ku=3,q3=4;n.ALLOC_NORMAL=Za,n.ALLOC_STACK=Pp,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=ku,n.ALLOC_NONE=q3;function C3(r,l,u,f){var V,e;typeof r=="number"?(V=!0,e=r):(V=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==q3?r1=f:r1=[Ru,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Yo:u](Math.max(e,X0?1:l.length)),V){var f=r1,x2;for(Ne((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?S7.set(r,r1):S7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(V++,l&&V==l)););l||(l=V);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,S7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=F$;function T$(r){for(var l="";;){var u=X9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=T$;function mB(r,l){return z$(r,l,!1)}n.stringToAscii=mB;function zo(r,l){for(var u,f,V,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(V=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|V:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|V<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|V<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|V<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=zo;function Op(r){return zo(S7,r)}n.UTF8ToString=Op;function Un(r,l,u,f){if(!(f>0))return 0;for(var V=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-V}n.stringToUTF8Array=Un;function qp(r,l,u){return Un(r,S7,l,u)}n.stringToUTF8=qp;function Jo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Hp(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Hp;function pB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,V=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=pB;function EB(r){return r.length*2}n.lengthBytesUTF16=EB;function CB(r){for(var l=0,u="";;){var f=G9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var V=f-65536;u+=String.fromCharCode(55296|V>>10,56320|V&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=CB;function BB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,V=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(G9[l>>2]=X0,l+=4,l+4>V)break}return G9[l>>2]=0,l-f}n.stringToUTF32=BB;function QB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=QB;function yB(r){var l=!!n.___cxa_demangle;if(l)try{var u=Ru(r.length);jo(r.substr(1),u);var f=Ru(4),V=n.___cxa_demangle(u,0,0,f);if(Br(f,"i32")===0&&V)return F$(V)}catch{}finally{u&&EC(u),f&&EC(f),V&&EC(V)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var wr=r[e++];if(wr in X0)Qe.push(X0[wr]);else switch(wr){case"P":Qe.push(C(!0,1,!0)[0]+"*");break;case"R":Qe.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var X$=r.indexOf("E",e),It=X$-e;Qe.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,Qe.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+wr;break e}}return!U9&&Qe.length===1&&Qe[0]==="void"&&(Qe=[]),w2?(W9&&Qe.push(W9+"?"),Qe):W9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=F$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function wB(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=yB(l);return l===u?l:l+" ["+u+"]"})}function vB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Vp(){return wB(vB())}n.stackTrace=Vp;var hC=4096;function Su(r){return r%4096>0&&(r+=4096-r%4096),r}var Yp,X9,S7,Zr,N$,G9,W$,Z$,G$,Ko=0,jr=0,U$=!1,bu=0,k7=0,P$=0,O$=0,U7=0;function dC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var zp=n.TOTAL_STACK||5242880,Wo=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Jp=[],H$=[],Du=[],V$=[],_u=[],xu=!1,Pn=!1;function Lu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());q$(Jp)}function Zo(){xu||(xu=!0,q$(H$))}function kB(){q$(Du)}function Kp(){q$(V$),Pn=!0}function Y$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)fC(n.postRun.shift());q$(_u)}function Gi(r){Jp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function SB(r){H$.unshift(r)}n.addOnInit=n.addOnInit=SB;function bB(r){Du.unshift(r)}n.addOnPreMain=n.addOnPreMain=bB;function DB(r){V$.unshift(r)}n.addOnExit=n.addOnExit=DB;function fC(r){_u.unshift(r)}n.addOnPostRun=n.addOnPostRun=fC;function en(r,l,u){var f=u>0?u:Jo(r)+1,V=new Array(f),e=Un(r,V,0,V.length);return l&&(V.length=e),V}n.intArrayFromString=en;function IC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=IC;function jo(r,l,u){for(var f=en(r,u),V=0;V>0]=e,V=V+1}}n.writeStringToMemory=jo;function ja(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=ja;function z$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(X9[l>>0]=0)}n.writeAsciiToMemory=z$;function Wp(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,V=l&65535,e=u>>>16,X0=u&65535;return V*X0+(f*X0+V*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var K$=Math.abs,mC=Math.cos,er=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,p9=Math.exp,ee=Math.log,p6=Math.sqrt,w8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,E9=Math.fround,Ui=Math.min,O7=Math.clz32,v8=0,Pi=null,q7=null;function H7(r){return r}function On(r){v8++,n.monitorRunDependencies&&n.monitorRunDependencies(v8)}n.addRunDependency=On;function Qr(r){if(v8--,n.monitorRunDependencies&&n.monitorRunDependencies(v8),v8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),q7)){var l=q7;q7=null,l()}}n.removeRunDependency=Qr,n.preloadedImages={},n.preloadedAudios={};var Zp=null,Mu=[];Ko=8,jr=Ko+553552,H$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",q3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",q3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",q3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",q3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",q3,_.GLOBAL_BASE+41032),C3([1],"i8",q3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",q3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",q3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",q3,_.GLOBAL_BASE+72464),C3([1],"i8",q3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",q3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",q3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",q3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",q3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",q3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",q3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",q3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",q3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",q3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",q3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",q3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",q3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",q3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",q3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",q3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",q3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",q3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",q3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",q3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",q3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",q3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",q3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",q3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",q3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",q3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",q3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",q3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",q3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",q3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",q3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",q3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",q3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",q3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",q3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",q3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",q3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",q3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",q3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",q3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",q3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",q3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",q3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",q3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",q3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",q3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",q3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Yo),8);Ne(bt%8==0);function pC(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3]}function yr(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3],X9[bt+4]=X9[r+4],X9[bt+5]=X9[r+5],X9[bt+6]=X9[r+6],X9[bt+7]=X9[r+7]}var tr=mC,Xa=K$,Xo=0;function es(r){return G9[Xo>>2]=r,r}var N2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _B(r){switch(r){case 30:return hC;case 85:return Xr/hC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return es(N2.EINVAL),-1}n._memset=cS;var xB=!0;n._strlen=aS,n._strcat=AS,n._bitshift64Shl=dS;function _k(){n.abort()}n._i64Add=$S;var xk=H4,Lk={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){qn.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var l=qn.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(N2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,V){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(N2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,V).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` `)):typeof readline=="function"&&(l=readline(),l!==null&&(l+=` -`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(zo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(zo(r.output,0)),r.output=[])}}},L9={ops_table:null,mount:function(r){return L9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(N2.EPERM);L9.ops_table||(L9.ops_table={dir:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,lookup:L9.node_ops.lookup,mknod:L9.node_ops.mknod,rename:L9.node_ops.rename,unlink:L9.node_ops.unlink,rmdir:L9.node_ops.rmdir,readdir:L9.node_ops.readdir,symlink:L9.node_ops.symlink},stream:{llseek:L9.stream_ops.llseek}},file:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:{llseek:L9.stream_ops.llseek,read:L9.stream_ops.read,write:L9.stream_ops.write,allocate:L9.stream_ops.allocate,mmap:L9.stream_ops.mmap,msync:L9.stream_ops.msync}},link:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,readlink:L9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:k.chrdev_stream_ops}});var H=k.createNode(r,l,u,f);return k.isDir(H.mode)?(H.node_ops=L9.ops_table.dir.node,H.stream_ops=L9.ops_table.dir.stream,H.contents={}):k.isFile(H.mode)?(H.node_ops=L9.ops_table.file.node,H.stream_ops=L9.ops_table.file.stream,H.usedBytes=0,H.contents=null):k.isLink(H.mode)?(H.node_ops=L9.ops_table.link.node,H.stream_ops=L9.ops_table.link.stream):k.isChrdev(H.mode)&&(H.node_ops=L9.ops_table.chrdev.node,H.stream_ops=L9.ops_table.chrdev.stream),H.timestamp=Date.now(),r&&(r.contents[l]=H),H},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=L9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(H.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-H,f);if(Ne(X0>=0),X0>8&&e.subarray)l.set(e.subarray(H,H+X0),u);else for(var r1=0;r10||H+fP5.timestamp)&&(H.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([k8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(k8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},H.sort().forEach(function(k5){l.type==="local"?k8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);k8.storeLocalEntry(k5,P5,C)}):k8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);k8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?k8.removeLocalEntry(k5,C):k8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return Ne(h),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(N2.EINVAL);var H=k.createNode(r,l,u);return H.node_ops=ft.node_ops,H.stream_ops=ft.stream_ops,H},getMode:function(r){var l;try{l=S8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),I9.join.apply(null,l)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=S8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(S8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);S8.utimesSync(u,f,f)}l.size!==void 0&&S8.truncateSync(u,l.size)}catch(H){throw H.code?new k.ErrnoError(N2[H.code]):H}},lookup:function(r,l){var u=I9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var H=ft.createNode(r,l,u,f),e=ft.realPath(H);try{k.isDir(H.mode)?S8.mkdirSync(e,H.mode):S8.writeFileSync(e,"",{mode:H.mode})}catch(X0){throw X0.code?new k.ErrnoError(N2[X0.code]):X0}return H},rename:function(r,l,u){var f=ft.realPath(r),H=I9.join2(ft.realPath(l),u);try{S8.renameSync(f,H)}catch(e){throw e.code?new k.ErrnoError(N2[e.code]):e}},unlink:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},rmdir:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return S8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},symlink:function(r,l,u){var f=I9.join2(ft.realPath(r),l);try{S8.symlinkSync(u,f)}catch(H){throw H.code?new k.ErrnoError(N2[H.code]):H}},readlink:function(r){var l=ft.realPath(r);try{return l=S8.readlinkSync(l),l=MB.relative(MB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=S8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&S8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(N2[l.code]):l}},read:function(r,l,u,f,H){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=S8.readSync(r.nfd,e,0,f,H)}catch(x2){throw new k.ErrnoError(N2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(N2.ELOOP);for(var H=I9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(N2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),H=k.nameTable[f];H;H=H.name_next){var e=H.name;if(H.parent.id===r.id&&e===l)return H}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var H=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&H)===H},set:function(r1){r1?this.mode|=H:this.mode&=~H}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return N2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var H=k.nodePermissions(r,"wx");if(H)return H;if(u){if(!k.isDir(f.mode))return N2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return N2.EBUSY}else if(k.isDir(f.mode))return N2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?N2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?N2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(N2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var H in r)f[H]=r[H];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function H(e){if(e)return H.errored?void 0:(H.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return H(null);e.type.syncfs(e,r,H)})},mount:function(r,l,u){var f=u==="/",H=!u,e;if(f&&k.root)throw new k.ErrnoError(N2.EBUSY);if(!f&&!H){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(N2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(N2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(N2.EINVAL);var u=l.node,f=u.mounted,H=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;H.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);Ne(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),H=f.node,e=I9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(N2.EINVAL);var X0=k.mayCreate(H,e);if(X0)throw new k.ErrnoError(X0);if(!H.node_ops.mknod)throw new k.ErrnoError(N2.EPERM);return H.node_ops.mknod(H,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!I9.resolve(r))throw new k.ErrnoError(N2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);var H=I9.basename(l),e=k.mayCreate(f,H);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(N2.EPERM);return f.node_ops.symlink(f,H,r)},rename:function(r,l){var u=I9.dirname(r),f=I9.dirname(l),H=I9.basename(r),e=I9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(N2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(N2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(N2.EXDEV);var s=k.lookupNode(r1,H),l1=I9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(N2.EINVAL);if(l1=I9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(N2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,H,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(N2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),H=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(H))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(H);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(N2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),H=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(H))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(H);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(N2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(N2.EINVAL);return I9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(N2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var H=k.lookupPath(r,{follow:!u});f=H.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var H;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});H=e.node}else H=r;if(!H.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);H.node_ops.setattr(H,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(N2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(N2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(N2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(N2.EINVAL);var H=k.nodePermissions(u,"w");if(H)throw new k.ErrnoError(H);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(N2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),H=f.node;H.node_ops.setattr(H,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,H){if(r==="")throw new k.ErrnoError(N2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=I9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(N2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(N2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,H);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,H){if(f<0||H<0)throw new k.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(N2.EINVAL);var e=!0;if(typeof H>"u")H=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,H);return e||(r.position+=X0),X0},write:function(r,l,u,f,H,e){if(f<0||H<0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(N2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof H>"u")H=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,H,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,H,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,l,u,f,H,e,X0)},msync:function(r,l,u,f,H){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,H)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),H=k.stat(r),e=H.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=zo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var H=new Uint8Array(Jo(l)+1),e=Un(l,H,0,H.length);k.write(f,H,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(N2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,H,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),qn.register(k.makedev(5,0),qn.default_tty_ops),qn.register(k.makedev(6,0),qn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else h?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");G9[Lk>>2]=k.getPtrForStream(r),Ne(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");G9[Mk>>2]=k.getPtrForStream(l),Ne(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");G9[Rk>>2]=k.getPtrForStream(u),Ne(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var H in N2)if(N2[H]===f){this.code=H;break}},this.setErrno(l),this.message=xk[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[N2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(L9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){Ne(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,U9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var Qe=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var e4=new XMLHttpRequest;if(e4.open("GET",u,!1),w2!==W9&&e4.setRequestHeader("Range","bytes="+ie+"-"+It),typeof Uint8Array<"u"&&(e4.responseType="arraybuffer"),e4.overrideMimeType&&e4.overrideMimeType("text/plain; charset=x-user-defined"),e4.send(null),!(e4.status>=200&&e4.status<300||e4.status===304))throw new Error("Couldn't load "+u+". Status: "+e4.status);return e4.response!==void 0?new Uint8Array(e4.response||[]):en(e4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,e4=(ie+1)*W9-1;if(e4=Math.min(e4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=Qe(It,e4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,H);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,U9,W9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);var Qe=k5.node.contents;if(W9>=Qe.length)return 0;var Dt=Math.min(Qe.length-W9,U9);if(Ne(Dt>=0),Qe.slice)for(var ie=0;ie=0;f--){var H=r[f];H==="."?r.splice(f,1):H===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=I9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=I9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return I9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return I9.normalize(r.join("/"))},join2:function(r,l){return I9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=I9.normalizeArray(r.split("/").filter(function(H){return!!H}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=I9.resolve(r).substr(1),l=I9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),H=u(l.split("/")),e=Math.min(f.length,H.length),X0=e,r1=0;r10){var r1=Date.now(),x2=z1.mainLoop.queue.shift();if(x2.func(x2.arg),z1.mainLoop.remainingBlockers){var s=z1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?z1.mainLoop.remainingBlockers=l1:(l1=l1+.5,z1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),z1.mainLoop.updateStatus(),setTimeout(z1.mainLoop.runner,0);return}if(!(e1&&z1.mainLoop.currentFrameNumber%z1.mainLoop.timingValue!=0){z1.mainLoop.scheduler();return}z1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),z1.mainLoop.method=""),z1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?Wp(0,1e3/l):Wp(1,1),z1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var z1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){z1.mainLoop.scheduler=null,z1.mainLoop.currentlyRunningMainloop++},resume:function(){z1.mainLoop.currentlyRunningMainloop++;var r=z1.mainLoop.timingMode,l=z1.mainLoop.timingValue,u=z1.mainLoop.func;z1.mainLoop.func=null,xB(u,0,!1,z1.mainLoop.arg,!0),Wp(r,l),z1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=z1.mainLoop.remainingBlockers,u=z1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(z1.hasBlobConstructor)try{s=new Blob([e],{type:z1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:z1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new z1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=z1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){Ne(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var U9=P5.getContext("2d");U9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,z1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(U9){s||(s=!0,n.preloadedAudios[X0]=U9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(z1.hasBlobConstructor){try{var k5=new Blob([e],{type:z1.getMimetype(X0)})}catch{return C()}var w2=z1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function Qe(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",e4="",Y7=0,V7=0,yr=0;yr=6;){var X$=Y7>>V7-6&63;V7-=6,e4+=ie[X$]}return V7==2?(e4+=ie[(Y7&3)<<4],e4+=It+It):V7==4&&(e4+=ie[(Y7&15)<<2],e4+=It),e4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+Qe(e),l1(P5)},P5.src=w2,z1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){z1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(H){!z1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),H.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var H,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(H=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else H=r.getContext("2d");return H?(u&&(l||Ne(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=H,l&&GL.makeContextCurrent(e),n.useWebGL=l,z1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),z1.init()),H):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){z1.lockPointer=r,z1.resizeCanvas=l,z1.vrDevice=u,typeof z1.lockPointer>"u"&&(z1.lockPointer=!0),typeof z1.resizeCanvas>"u"&&(z1.resizeCanvas=!1),typeof z1.vrDevice>"u"&&(z1.vrDevice=null);var f=n.canvas;function H(){z1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),z1.lockPointer&&f.requestPointerLock(),z1.isFullScreen=!0,z1.resizeCanvas&&z1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),z1.resizeCanvas&&z1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(z1.isFullScreen),z1.updateCanvasDimensions(f)}z1.fullScreenHandlersInstalled||(z1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",H,!1),document.addEventListener("mozfullscreenchange",H,!1),document.addEventListener("webkitfullscreenchange",H,!1),document.addEventListener("MSFullscreenChange",H,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(z1.nextRAF===0)z1.nextRAF=l+1e3/60;else for(;l+2>=z1.nextRAF;)z1.nextRAF+=1e3/60;var u=Math.max(z1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?z1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||z1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!i0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){z1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(z1.allowAsyncCallbacks=!0,z1.queuedAsyncCallbacks.length>0){var r=z1.queuedAsyncCallbacks;z1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return z1.requestAnimationFrame(function(){i0||(z1.allowAsyncCallbacks?r():z1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){i0||(z1.allowAsyncCallbacks?r():z1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){i0||z1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(z1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?z1.mouseMovementX=z1.mouseMovementY=0:(z1.mouseMovementX=z1.getMovementX(r),z1.mouseMovementY=z1.getMovementY(r)),typeof SDL<"u"?(z1.mouseX=SDL.mouseX+z1.mouseMovementX,z1.mouseY=SDL.mouseY+z1.mouseMovementY):(z1.mouseX+=z1.mouseMovementX,z1.mouseY+=z1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,H=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(H+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")z1.lastTouches[X0.identifier]=s,z1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=z1.touches[X0.identifier];l1||(l1=s),z1.lastTouches[X0.identifier]=l1,z1.touches[X0.identifier]=s}return}var C=r.pageX-(H+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),z1.mouseMovementX=C-z1.mouseX,z1.mouseMovementY=k5-z1.mouseY,z1.mouseX=C,z1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){z1.xhrLoad(r,function(H){Ne(H,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(H)),f||Br("al "+r)},function(H){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;z1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;z1.updateCanvasDimensions(f,r,l),u||z1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=W$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}z1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=W$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}z1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,H=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/H>2]=l),l}function Wk(){n.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=_.staticAlloc(4),G9[Xo>>2]=0,n.requestFullScreen=function(l,u,f){z1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){z1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){z1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){z1.mainLoop.pause()},n.resumeMainLoop=function(){z1.mainLoop.resume()},n.getUserMedia=function(){z1.getUserMedia()},n.createContext=function(l,u,f,H){return z1.createContext(l,u,f,H)},k.staticInit(),H$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),bu.push(function(){k.ignorePermissions=!1}),Y$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,H$.unshift(function(){qn.init()}),Y$.push(function(){qn.shutdown()}),h)var S8=void 0,MB=void 0;Su=k7=_.alignMemory(jr),U$=!0,P$=Su+Yp,O$=U7=_.alignMemory(P$),Ne(O$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function T_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function DS(t){t=t|0,Z6=t}function _S(){return Z6|0}function EC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=M9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function xS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,d=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&d,Q=E&255,f[y>>0]=Q)}function q2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0;Y0=C,d=a>>>0>32;do if(!d){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)N=g;else{if(T0=(g|0)==0,T0)return;if(J0=(a0|0)>2147483391,J0||(H0=t+8|0,Z0=e[H0>>2]|0,I=a0+256|0,E=J7(Z0,I)|0,Q=(E|0)==0,Q))break;e[H0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,N=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,G=T&255,Y=G|F,e0=Y&255,f[N>>0]=e0,J=(R|0)>7;do if(J&&(K=e[M>>2]|0,r0=8-K|0,s0=y>>>r0,V=s0&255,o0=e[$>>2]|0,q=o0+1|0,f[q>>0]=V,h0=(R|0)>15,h0&&(t0=e[M>>2]|0,Z=16-t0|0,u0=y>>>Z,$0=u0&255,l0=e[$>>2]|0,W=l0+2|0,f[W>>0]=$0,m0=(R|0)>23,m0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,d0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,W0=_0+4|0,f[W0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,P0=e[t>>2]|0,q0=P0+N0|0,e[t>>2]=q0,k0=e[$>>2]|0,z0=k0+N0|0,e[$>>2]=z0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,K0=(G0|0)==0,K0||E2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function CC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||E2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function mi(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,m=d,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function BC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,e0=t+4|0,Z=e[e0>>2]|0,p0=Z+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,d=(S0|0)<(E0|0),!d){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>Z,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-Z|0,T=R<16,G?(Y=b+2|0,J=f[Y>>0]|0,a0=J&255,K=16-Z|0,r0=a0<24,V?(o0=b+3|0,q=f[o0>>0]|0,h0=q&255,t0=24-Z|0,u0=h0<>0]|0,g0=m0&255,f0=32-Z|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,d=t+12|0,m=e[d>>2]|0,I=m+g|0,e[d>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function i4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,d=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,W=e[s0>>2]|0,E0=W+o|0,T0=e[t>>2]|0,N0=t+16|0,P0=e[N0>>2]|0,q0=P0+-4|0,B=(T0|0)<(q0|0),!B){if(S=E0+7|0,b=S>>3,v=P0-b|0,w=(T0|0)>(v|0),w){d=t,m=s0,v0=P0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>W,T=(E0|0)>8,T?(N=x+1|0,G=f[N>>0]|0,Y=G&255,e0=8-W|0,J=Y<16,K?(r0=x+2|0,V=f[r0>>0]|0,o0=V&255,q=16-W|0,h0=o0<24,Z?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-W|0,m0=$0<>0]|0,C0=p0&255,S0=32-W|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,W0=E0&7,e[s0>>2]=W0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[d>>2]=v0,e[m>>2]=1,a=-1,a|0}function b8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,m=d+o|0,m|0}function AQ(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function LS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;if(T=C,g=(t|0)==0,g)return a=-1,a|0;g4(t|0,0,360)|0,d=t+4|0,e[d>>2]=16384,b=t+24|0,e[b>>2]=1024,v=M9(16384)|0,e[t>>2]=v,w=M9(4096)|0,D=t+16|0,e[D>>2]=w,y=M9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){E2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||E2(Q),g4(t|0,0,360)|0,a=-1,a|0}function MS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),g4(t|0,0,360)|0),0}function RS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0;if(P0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,G=e[t>>2]|0,h0=G+23|0,f[h0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(d=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=d+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,T=(F|0)<($|0),T)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(N=M0<<8,Y=M0>>>24,e0=B+T0|0,J=f[e0>>0]|0,a0=J&255,K=a0^Y,r0=144+(K<<2)|0,s0=e[r0>>2]|0,V=s0^N,o0=T0+1|0,q=(o0|0)<(I|0),q)M0=V,T0=o0;else{W0=V;break}else W0=B0;t0=W0&255,Z=e[t>>2]|0,u0=Z+22|0,f[u0>>0]=t0,c0=W0>>>8,$0=c0&255,l0=e[t>>2]|0,W=l0+23|0,f[W>>0]=$0,m0=W0>>>16,g0=m0&255,f0=e[t>>2]|0,d0=f0+24|0,f[d0>>0]=g0,p0=W0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function FS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,a2=(q1|0)<0,w=2147483647-q1|0,Y=(m2|0)>(w|0),G2=a2|Y,G2){I=-1;break}if(t0=q1+m2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)m2=t0,k2=c0;else{s2=t0;break e}}return I|0}else s2=0;while(!1);l0=(s2|0)/255&-1,W=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(d0=e[v>>2]|0,p0=d0-g0|0,e[v>>2]=p0,C0=(d0|0)==(g0|0),C0||(S0=_0+g0|0,oA(_0|0,S0|0,p0|0)|0),e[m0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-s2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-s2|0,W0=(b0|0)>(B0|0),W0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=t+16|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),q0=t+20|0,k0=e[q0>>2]|0,z0=(k0|0)==0,z0||E2(k0),g4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+s2|0,G0=(F0|0)<2147482623,K0=F0+1024|0,m=G0?K0:F0,J0=e[t>>2]|0,H0=J7(J0,m)|0,Z0=(H0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=H0;break}return O0=e[t>>2]|0,Y0=(O0|0)==0,Y0||E2(O0),s1=t+16|0,V0=e[s1>>2]|0,i1=(V0|0)==0,i1||E2(V0),o1=t+20|0,h1=e[o1>>2]|0,g1=(h1|0)==0,g1||E2(h1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=TS(t,W)|0,d1=(m1|0)==0,!d1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ce(w1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,D1=D2+1|0,t2=(D1|0)==(a|0),!t2;)v1=U1,D2=D1;if(u1=(s2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,u1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=c1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,J1=e[x1>>2]|0,H1=G1+4|0,Y1=H1,V1=e[Y1>>2]|0,X1=Q1+(P1<<3)|0,o2=X1,j1=o2,e[j1>>2]=J1,O1=o2+4|0,u2=O1,e[u2>>2]=V1,W1=Q2+1|0,I2=(W1|0)<(l0|0),I2;)Q2=W1;L2=p1?l0:1,B=E1,l2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,l2=S,S2=0;return C2=(s2|0)%255&-1,A2=c1+S2|0,K1=$1+(A2<<2)|0,e[K1>>2]=C2,d2=l2+(A2<<3)|0,i2=d2,c2=i2,e[c2>>2]=g,r2=i2+4|0,$2=r2,e[$2>>2]=d,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=d,M=$1+(c1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=c1+W|0,e[A1>>2]=F,T=t+344|0,N=T,G=N,e0=e[G>>2]|0,J=N+4|0,a0=J,K=e[a0>>2]|0,r0=ns(e0|0,K|0,1,0)|0,s0=Z6,V=T,o0=V,e[o0>>2]=r0,q=V+4|0,h0=q,e[h0>>2]=s0,Z=($|0)==0,Z?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function tE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,d=g,m=e[d>>2]|0,I=FS(t,y,1,S,D,m)|0,C=M,I|0}function $Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=cQ(t,o,1,4096)|0,a|0}function lQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,d=(t|0)==0,d||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=cQ(t,o,D,4096)|0,a=w,a|0)}function TS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,y=d-o|0,J=t+28|0,u0=e[J>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(W=2147483647-o|0,m0=(d|0)>(W|0),m0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||E2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||E2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(b=d+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=J7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,T=(F|0)==0,T||E2(F),N=e[D>>2]|0,G=(N|0)==0,G||E2(N),Y=t+20|0,e0=e[Y>>2]|0,a0=(e0|0)==0,a0||E2(e0),g4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,K=t+20|0,r0=e[K>>2]|0,s0=a<<3,V=J7(r0,s0)|0,o0=(V|0)==0,o0?(q=e[t>>2]|0,h0=(q|0)==0,h0||E2(q),t0=e[D>>2]|0,Z=(t0|0)==0,Z||E2(t0),c0=e[K>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[K>>2]=V,e[g>>2]=a,$=0,$|0))))}function cQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,h1=(x|0)>255,g=h1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,Y1=(R1|0)==0,A2=(g|0)==0,D3=A2|Y1,D3))return d=0,d|0;t2=t+332|0,z2=e[t2>>2]|0,Z2=(z2|0)==0;e:do if(Z2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,J5=g3,V5=14;break e}if(Z0=e[Q0>>2]|0,V0=Z0+(g3<<2)|0,i1=e[V0>>2]|0,x0=i1&255,o1=(x0|0)==255,g1=g3+1|0,o1)g3=g1;else{I=a,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,J5=g1,V5=14;break}}else if(M=(g|0)>0,M){for(K=t+16|0,$0=t+20|0,Q5=0,D5=-1,h5=-1,l5=-1,j2=-1,h2=-1,w5=-1,i5=-1,s5=-1,t3=0,N3=0,Q3=0;;){if(m1=(Q5|0)>($|0),d1=(t3|0)>3,q3=m1&d1,q3){m=1,q5=D5,L5=h5,V2=l5,p5=j2,$5=h2,u5=w5,y5=i5,T1=s5,u3=Q3;break}if(u1=e[K>>2]|0,A1=u1+(Q3<<2)|0,c1=e[A1>>2]|0,a1=c1&255,$1=a1+Q5|0,j0=(a1|0)==255,j0?(d5=D5,J2=h5,f5=l5,r5=j2,M5=h2,X2=w5,c5=i5,F2=s5,s6=0,H3=N3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=N3+1|0,b1=w1&255,_1=os(w1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(w1|0,L1|0,16)|0,P1=Z6,Z1=D1&255,G1=os(w1|0,L1|0,24)|0,x1=Z6,J1=G1&255,q1=L1&255,H1=os(w1|0,L1|0,40)|0,V1=Z6,X1=H1&255,o2=os(w1|0,L1|0,48)|0,j1=Z6,O1=o2&255,u2=os(w1|0,L1|0,56)|0,W1=Z6,I2=u2&255,d5=b1,J2=Z1,f5=J1,r5=q1,M5=X1,X2=O1,c5=I2,F2=U1,s6=M1,H3=M1),a2=Q3+1|0,C2=(a2|0)<(g|0),C2)Q5=$1,D5=d5,h5=J2,l5=f5,j2=r5,h2=M5,w5=X2,i5=c5,s5=F2,t3=s6,N3=H3,Q3=a2;else{m=a,q5=d5,L5=J2,V2=f5,p5=r5,$5=M5,u5=X2,y5=c5,T1=F2,u3=a2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=L5,N5=V2,Z5=p5,_3=$5,f3=u5,w3=y5,X3=T1,H5=255):(I=m,v5=q5,z5=L5,i3=V2,E5=p5,I3=$5,d3=u5,W5=y5,r3=T1,J5=u3,V5=14)}else I=a,v5=-1,z5=-1,i3=-1,E5=-1,I3=-1,d3=-1,W5=-1,r3=-1,J5=0,V5=14;while(!1);if((V5|0)==14){if(d2=(I|0)==0,d2)return d=0,d|0;a3=v5,B3=z5,N5=i3,Z5=E5,_3=I3,f3=d3,w3=W5,X3=r3,H5=J5}if(l2=t+40|0,f[l2>>0]=79,f[l2+1>>0]=103,f[l2+2>>0]=103,f[l2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,c2=t+45|0,f[c2>>0]=0,r2=t+16|0,$2=e[r2>>2]|0,e2=e[$2>>2]|0,s2=e2>>>8,S=s2&1,m2=S^1,k2=m2|2,E=Z2?k2:m2,c3=E&255,f[c2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=Q2&G2,X5&&(Q=Z2?k2:m2,L2=Q|4,P2=L2&255,f[c2>>0]=P2),e[t2>>2]=1,p2=t+46|0,f[p2>>0]=a3,K2=t+47|0,f[K2>>0]=X3,O2=t+48|0,f[O2>>0]=B3,U2=t+49|0,f[U2>>0]=N5,H2=t+50|0,f[H2>>0]=Z5,W2=t+51|0,f[W2>>0]=_3,A5=t+52|0,f[A5>>0]=f3,Y2=t+53|0,f[Y2>>0]=w3,N1=t+336|0,e5=e[N1>>2]|0,F5=e5&255,t5=t+54|0,f[t5>>0]=F5,_5=e5>>>8,I5=_5&255,b5=t+55|0,f[b5>>0]=I5,Y5=e5>>>16,g5=Y5&255,b2=t+56|0,f[b2>>0]=g5,B5=e5>>>24,o5=B5&255,R2=t+57|0,f[R2>>0]=o5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,T=F&255,N=t+58|0,f[N>>0]=T,G=F>>>8,Y=G&255,e0=t+59|0,f[e0>>0]=Y,J=F>>>16,a0=J&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,V=s0&255,o0=t+61|0,f[o0>>0]=V,q=t+62|0,h0=H5&255,t0=t+66|0,f[q>>0]=0,f[q+1>>0]=0,f[q+2>>0]=0,f[q+3>>0]=0,f[t0>>0]=h0,Z=(H5|0)>0,Z){if(u0=e[$2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,W=u0&255,x5=(H5|0)==1,x5)B=W;else for(g0=1,b0=W;;)if(b=e[r2>>2]|0,m0=b+(g0<<2)|0,f0=e[m0>>2]|0,n0=f0&255,d0=g0+27|0,p0=(t+40|0)+d0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,T5=B}else v0=R1,k0=x,F0=$2,T5=0;return e[o>>2]=l2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,W0=e[_0>>2]|0,M0=v0+W0|0,T0=o+8|0,e[T0>>2]=M0,P0=o+12|0,e[P0>>2]=T5,q0=k0-H5|0,e[y>>2]=q0,z0=F0+(H5<<2)|0,L0=q0<<2,oA(F0|0,z0|0,L0|0)|0,G0=t+20|0,K0=e[G0>>2]|0,J0=K0+(H5<<3)|0,H0=e[y>>2]|0,O0=H0<<3,oA(K0|0,J0|0,O0|0)|0,Y0=e[_0>>2]|0,s1=Y0+T5|0,e[_0>>2]=s1,RS(o),d=1,d|0}function NS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0;return V0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,e0=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,Z=e[e0>>2]|0,mi(Z),p0=g+16|0,M0=e[p0>>2]|0,mi(M0),K0=g+20|0,O0=e[K0>>2]|0,mi(O0),Y0=g+24|0,d=e[Y0>>2]|0,mi(d),m=g+28|0,I=e[m>>2]|0,mi(I),E=g+32|0,Q=e[E>>2]|0,mi(Q),B=g+36|0,S=e[B>>2]|0,mi(S),b=g+40|0,v=e[b>>2]|0,mi(v),w=g+44|0,y=e[w>>2]|0,mi(y),x=g+48|0,M=e[x>>2]|0,mi(M),L=g+52|0,R=e[L>>2]|0,mi(R),F=g+56|0,T=e[F>>2]|0,mi(T),N=g+60|0,G=e[N>>2]|0,mi(G),Y=g+64|0,J=e[Y>>2]|0,mi(J),a0=g+68|0,K=e[a0>>2]|0,mi(K),r0=e[6416]|0,s0=r0+12|0,V=e[s0>>2]|0,o0=qQ[V&1](t)|0,q=(o0|0)==0,q?(h0=(o|0)==0,h0?(a=0,a|0):(t0=Tu(t)|0,u0=(t0|0)==0,u0?(c0=t+4|0,$0=AQ(c0)|0,e[o>>2]=$0,l0=b8(c0)|0,W=o+4|0,e[W>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,d0=t+48|0,C0=d0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,W0=B0+4|0,v0=W0,e[v0>>2]=y0,T0=t+56|0,N0=T0,P0=N0,q0=e[P0>>2]|0,k0=N0+4|0,z0=k0,F0=e[z0>>2]|0,L0=o+24|0,G0=L0,J0=G0,e[J0>>2]=q0,H0=G0+4|0,Z0=H0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function GS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,Y=e[w>>2]|0,t0=(Y|0)>0,t0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,d0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(d0|0),S=Q*B,b=+(f0|0),v=S/b,D=+z7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,T=F/b,N=+z7(T),G=~~N,e0=o+16|0,e[e0>>2]=G,J=$+3368|0,a0=e[J>>2]|0,K=+(a0|0),r0=K*B,s0=r0/b,V=+z7(s0),o0=~~V,q=o+20|0,e[q>>2]=o0,h0=o+32|0,l1[h0>>3]=7,Z=+(Y|0),u0=$+3376|0,c0=+l1[u0>>3],$0=Z*c0,l0=~~$0,W=o+8|0,e[W>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function US(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Tu(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,d=e[g>>2]|0,m=d+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function PS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0;if(R6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,L5=b2+104|0,h2=e[L5>>2]|0,F2=b2+4|0,N5=e[F2>>2]|0,N3=N5+28|0,G5=e[N3>>2]|0,S=h2+112|0,T=+l1[S>>3],o0=+z7(T),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,z0=e[w0>>2]|0,V0=b8(z0)|0,a1=V0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,e2=h2+96|0,p2=e[e2>>2]|0,I2?(F5=h2+100|0,_5=e[F5>>2]|0,q=p2,b0=F5,B0=_5):(Z2=h2+104|0,I5=e[Z2>>2]|0,b5=h2+100|0,Y5=e[b5>>2]|0,g5=n5(I5,p2)|0,B5=n5(I5,Y5)|0,q=g5,b0=b5,B0=B5),o5=G5+(x1<<2)|0,R2=e[o5>>2]|0,M2=R2>>1,y2=G5+3372|0,Q5=e[y2>>2]|0,T5=+(Q5|0),m5=G5+3376|0,x5=+l1[m5>>3],q5=T5*x5,V2=~~q5,p5=h2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=h2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,h5=h2+92|0,l5=e[h5>>2]|0,j2=(l5|0)>0,j2){I2?c5=l5:(w5=h2+104|0,i5=e[w5>>2]|0,s5=n5(i5,l5)|0,c5=s5),d5=G5+3384|0,J2=+l1[d5>>3],f5=15/J2,r5=h2+84|0,M5=e[r5>>2]|0,X2=a1-c5|0,v5=M5+X2|0,z5=(v5|0)>(V2|0);e:do if(z5)if(i3=(g0|0)>0,E5=(a1|0)>(c5|0),M6=E5&i3,M6)if(I3=a1-c5|0,d3=I3+M5|0,W5=(d3|0)>(V2|0),W5)for(V3=g0;;){if(r3=V3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,Z5=b8(B3)|0,_3=Z5<<3,f3=(V3|0)>1,w3=(_3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(I=e[r5>>2]|0,X3=_3-c5|0,q3=X3+I|0,X5=(q3|0)>(V2|0),X5)V3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(D3=(v5|0)<(V2|0),D3)if(t3=g0+1|0,s6=(t3|0)<15,H3=(a1|0)<(c5|0),r6=H3&s6,r6)if(c3=a1-c5|0,g3=c3+M5|0,u3=(g3|0)<(V2|0),u3)for(J5=t3;;){if(Q3=(B+12|0)+(J5<<2)|0,H5=e[Q3>>2]|0,V5=b8(H5)|0,S5=V5<<3,Y3=J5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){j5=J5;break e}if(m=e[r5>>2]|0,l3=S5-c5|0,G3=l3+m|0,E6=(G3|0)<(V2|0),E6)J5=Y3;else{j5=J5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);S3=+(j5|0),x3=+l1[S>>3],b3=S3-x3,a6=+z7(b3),i6=+(M2|0),b=a6/i6,v=N5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,M3=L?f5:v6,R=M3/D,F=R*i6,N=F+x3,l1[S>>3]=N,G=+z7(N),Y=~~G,e0=(B+12|0)+(Y<<2)|0,J=e[e0>>2]|0,a0=b8(J)|0,K=a0<<3,E=e[e2>>2]|0,r0=E,L3=Y,n6=K}else r0=p2,L3=g0,n6=a1;s0=(r0|0)>0,V=(n6|0)<(q|0),f6=V&s0;e:do if(f6)if(h0=h2+88|0,t0=e[h0>>2]|0,Z=n6-q|0,u0=Z+t0|0,c0=(u0|0)<0,c0)for(h3=L3,o6=n6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){z3=$0,C6=o6;break e}if(W=(B+12|0)+($0<<2)|0,m0=e[W>>2]|0,f0=b8(m0)|0,n0=f0<<3,d0=e[h0>>2]|0,p0=n0-q|0,C0=p0+d0|0,S0=(C0|0)<0,S0)h3=$0,o6=n0;else{z3=$0,C6=n0;break}}else z3=L3,C6=n6;else z3=L3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=h2+88|0,W0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+W0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(d6=z3,J3=C6;;){if(P0=d6+-1|0,q0=(d6|0)<1,q0){m3=P0,R3=J3;break e}if(k0=(B+12|0)+(P0<<2)|0,F0=e[k0>>2]|0,L0=b8(F0)|0,G0=L0<<3,K0=e[_0>>2]|0,J0=G0-B0|0,H0=J0+K0|0,Z0=e[y2>>2]|0,O0=(H0|0)>(Z0|0),O0)d6=P0,J3=G0;else{m3=P0,R3=G0;break}}else m3=z3,R3=C6;else m3=z3,R3=C6;while(!1);if(Y0=(m3|0)<0,Y0)s1=e[y2>>2]|0,i1=h2+88|0,x0=e[i1>>2]|0,o1=s1+B0|0,h1=o1-x0|0,g1=(h1|0)/8&-1,m1=h2+124|0,e[m1>>2]=0,d1=B+12|0,u1=e[d1>>2]|0,A1=b8(u1)|0,c1=(A1|0)>(g1|0),c1?($1=e[d1>>2]|0,j0=g1<<3,xS($1,j0),E1=e[d1>>2]|0,I1=b8(E1)|0,Q1=I1<<3,K3=Q1):K3=R3;else{if(p1=h2+88|0,B1=e[p1>>2]|0,w1=q+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=h2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=b8(R1)|0,U1=k1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(Z1=x6+-1|0,q2(G1,0,8),J1=(x6|0)>1,q1=e[_1>>2]|0,J1)G1=q1,x6=Z1;else{d=q1;break}else d=P1;H1=b8(d)|0,Y1=H1<<3,K3=Y1}V1=e[e2>>2]|0,X1=(V1|0)>0,X1?e6=37:(o2=e[b0>>2]|0,j1=(o2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,u2=(K3|0)>(B0|0),N6=O1&u2,N6){a2=K3-B0|0,C2=h2+88|0,A2=e[C2>>2]|0,K1=a2+A2|0,e[C2>>2]=K1;break}if(d2=(q|0)>0,l2=(K3|0)<(q|0),j6=d2&l2,j6){i2=K3-q|0,c2=h2+88|0,r2=e[c2>>2]|0,$2=i2+r2|0,e[c2>>2]=$2;break}if(s2=h2+88|0,m2=e[s2>>2]|0,t2=(m2|0)>(V2|0),t2)if(O1){k2=K3-B0|0,D2=m2+k2|0,S2=(D2|0)<(V2|0),o=S2?V2:D2,e[s2>>2]=o;break}else{e[s2>>2]=V2;break}else if(d2){Q2=K3-q|0,G2=m2+Q2|0,L2=(G2|0)>(V2|0),$=L2?V2:G2,e[s2>>2]=$;break}else{e[s2>>2]=V2;break}}while(!1);return P2=e[h5>>2]|0,K2=(P2|0)>0,K2?(O2=e[L1>>2]|0,z2=(O2|0)==0,z2?Y2=P2:(U2=h2+104|0,H2=e[U2>>2]|0,W2=n5(H2,P2)|0,Y2=W2),A5=K3-Y2|0,N1=h2+84|0,e5=e[N1>>2]|0,t5=A5+e5|0,e[N1>>2]=t5,a=0,a|0):(a=0,a|0)}function gQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,e0=e[D>>2]|0,Z=(e0|0)==0,Z?(a=0,a|0):(p0=(o|0)==0,p0||(C0=e0+104|0,S0=e[C0>>2]|0,Q0=e0+64|0,b0=e[Q0>>2]|0,d=b0+104|0,m=e[d>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=AQ(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=b8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=e0+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,T=e0+48|0,N=T,G=N,Y=e[G>>2]|0,J=N+4|0,a0=J,K=e[a0>>2]|0,r0=o+16|0,s0=r0,V=s0,e[V>>2]=Y,o0=s0+4|0,q=o0,e[q>>2]=K,h0=e0+56|0,t0=h0,u0=t0,c0=e[u0>>2]|0,$0=t0+4|0,l0=$0,W=e[l0>>2]|0,m0=o+24|0,g0=m0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,d0=n0,e[d0>>2]=W),e[D>>2]=0,a=1,a|0)}function OS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;F=C,L=o,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=le(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(d=(M|0)==7,d){e[g>>2]=D,EC(D),M=8;continue}else{if(m=le(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,EC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function K8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0;return J=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,T=e[F>>2]|0,N=(R|0)>(T|0),G=t+68|0,Y=e[G>>2]|0,N?(g=(Y|0)==0,g||(d=Y,m=M9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=d,e[B>>2]=m),e[F>>2]=$,v=M9($)|0,e[G>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=Y,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function qS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0;if(t0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,G=e[D>>2]|0,Y=(G|0)==0,!Y)for(o0=G;e0=o0+4|0,J=e[e0>>2]|0,a0=e[o0>>2]|0,E2(a0),E2(o0),K=(J|0)==0,!K;)o0=J;if(r0=t+80|0,d=e[r0>>2]|0,m=(d|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+d|0,B=J7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||E2(y),M=(g|0)==0,M){q=t,Z=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(Z|0));return 0}else V=0;for(;;){if(L=(g+12|0)+(V<<2)|0,R=e[L>>2]|0,CC(R),F=(V|0)==7,F){V=8;continue}if(T=e[L>>2]|0,E2(T),N=V+1|0,s0=(N|0)==15,s0)break;V=N}E2(g),q=t,Z=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(Z|0));return 0}function HS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=VS(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=yb(o)|0,S=Q+60|0,e[S>>2]=B,b=le(1,180)|0,e[Q>>2]=b,ZS(b,o),v=Q+80|0,GS(o,v),w=t+64|0,D=w,d=D,e[d>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function uQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0;if(O2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,z0=(w0|0)!=0,z0?(V0=w0+28|0,a1=e[V0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if($2=e[x1>>2]|0,b=($2|0)==0,b||(jS($2),N=e[x1>>2]|0,E2(N)),q=x1+12|0,f0=e[q>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,kC(S0),Q0=e[q>>2]|0,b0=e[Q0>>2]|0,E2(b0),E0=e[q>>2]|0,E2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(W0=e[B0>>2]|0,kC(W0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,E2(v0),T0=e[y0>>2]|0,E2(T0)),N0=x1+48|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0){if(F0=(k0|0)==0,F0)p1=P0;else if(L0=k0+16|0,G0=e[L0>>2]|0,K0=(G0|0)>0,K0){if(J0=k0+800|0,H0=e[J0>>2]|0,Z0=25640+(H0<<2)|0,O0=e[Z0>>2]|0,Y0=O0+16|0,s1=e[Y0>>2]|0,i1=e[P0>>2]|0,as[s1&7](i1),x0=e[L0>>2]|0,o1=(x0|0)>1,o1)for(g1=1;o=e[N0>>2]|0,h1=J0+(g1<<2)|0,m1=e[h1>>2]|0,d1=25640+(m1<<2)|0,u1=e[d1>>2]|0,A1=u1+16|0,c1=e[A1>>2]|0,$1=o+(g1<<2)|0,j0=e[$1>>2]|0,as[c1&7](j0),E1=g1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)g1=E1;a=e[N0>>2]|0,p1=a}else p1=P0;E2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,as[Z1&7](G1),J1=e[M1>>2]|0,q1=(J1|0)>1,q1)for(Y1=1;$=e[B1>>2]|0,H1=R1+(Y1<<2)|0,V1=e[H1>>2]|0,X1=25648+(V1<<2)|0,o2=e[X1>>2]|0,j1=o2+16|0,O1=e[j1>>2]|0,u2=$+(Y1<<2)|0,I2=e[u2>>2]|0,as[O1&7](I2),a2=Y1+1|0,C2=e[M1>>2]|0,A2=(a2|0)<(C2|0),A2;)Y1=a2;g=e[B1>>2]|0,K1=g}else K1=w1;E2(K1)}if(d2=x1+56|0,l2=e[d2>>2]|0,i2=(l2|0)==0,!i2){if(c2=(k0|0)==0,c2)L2=l2;else if(r2=k0+28|0,e2=e[r2>>2]|0,s2=(e2|0)>0,s2){if(BQ(l2),m2=e[r2>>2]|0,t2=(m2|0)>1,t2)for(D2=1;d=e[d2>>2]|0,k2=d+(D2*52|0)|0,BQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,G2=(S2|0)<(Q2|0),G2;)D2=S2;m=e[d2>>2]|0,L2=m}else L2=l2;E2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||wb(w),y=x1+80|0,US(y),x=x1+20|0,xQ(x),M=x1+32|0,xQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(z0)if(T=w0+4|0,G=e[T>>2]|0,Y=(G|0)>0,Y){for(J=R,p0=G,P2=0;e0=J+(P2<<2)|0,a0=e[e0>>2]|0,K=(a0|0)==0,K?V=p0:(E2(a0),E=e[T>>2]|0,V=E),r0=P2+1|0,s0=(r0|0)<(V|0),!!s0;)I=e[L>>2]|0,J=I,p0=V,P2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;E2(o0),h0=t+12|0,t0=e[h0>>2]|0,Z=(t0|0)==0,Z||E2(t0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,W=e[l0>>2]|0,m0=(W|0)==0,m0||E2(W),g0=x1+72|0,n0=e[g0>>2]|0,d0=(n0|0)==0,d0||E2(n0),E2(x1)),p2=t,z2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(z2|0))}}function hQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0;if(z0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||E2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,T=e[F>>2]|0,N=(T|0)>0,N)if(G=t+8|0,Y=e[G>>2]|0,e0=e[Y>>2]|0,J=R<<2,a0=J7(e0,J)|0,K=e[G>>2]|0,e[K>>2]=a0,s0=e[F>>2]|0,V=(s0|0)>1,V)for($0=1;;)if($=e[D>>2]|0,u0=e[G>>2]|0,c0=u0+($0<<2)|0,W=e[c0>>2]|0,m0=$<<2,g0=J7(W,m0)|0,f0=e[G>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,d0=$0+1|0,p0=e[F>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(q=(o0|0)>0,q)){for(h0=t+8|0,t0=e[b>>2]|0,Z=t+12|0,q0=0;;)if(S0=e[h0>>2]|0,Q0=S0+(q0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(t0<<2)|0,w0=e[Z>>2]|0,B0=w0+(q0<<2)|0,e[B0>>2]=y0,_0=q0+1|0,W0=(_0|0)<(o0|0),W0)q0=_0;else{g=Z;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function YS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0;if(H0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=H0,$|0):(e[S0>>2]=E0,_0=t+28|0,W0=e[_0>>2]|0,M0=(W0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,q0=r0+4|0,k0=e[q0>>2]|0,z0=(N0|0)>(k0|0),!z0)?($=0,C=H0,$|0):(fQ(t),$=0,C=H0,$|0));if(b0=C,C=C+128|0,P0=t+28|0,F0=e[P0>>2]|0,L0=(F0|0)==0,L0&&fQ(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,hQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=H0,$|0;for(F=t+8|0,T=b,K0=0;;){if(N=(T|0)>64,N?(G=e[G0>>2]|0,Y=(T|0)>(G|0),a=Y?G:T,e0=e[F>>2]|0,J=e0+(K0<<2)|0,a0=e[J>>2]|0,d=T-a|0,K=a0+(d<<2)|0,+IQ(K,b0,a,32),s0=e[F>>2]|0,V=s0+(K0<<2)|0,o0=e[V>>2]|0,q=e[v>>2]|0,h0=o0+(q<<2)|0,m=q+-32|0,t0=o0+(m<<2)|0,Z=e[S>>2]|0,u0=Z-q|0,mQ(b0,t0,32,h0,u0)):(c0=e[F>>2]|0,$0=c0+(K0<<2)|0,W=e[$0>>2]|0,m0=W+(T<<2)|0,g0=e[S>>2]|0,f0=g0-T|0,n0=f0<<2,g4(m0|0,0,n0|0)|0),d0=K0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,T=g,K0=d0}return C=H0,$|0}function dQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0;if(ge=C,S=t+4|0,b=e[S>>2]|0,a2=b+28|0,S5=e[a2>>2]|0,a6=t+104|0,M6=e[a6>>2]|0,C6=M6+60|0,B6=e[C6>>2]|0,Y6=t+48|0,s9=e[Y6>>2]|0,v=t+40|0,G=e[v>>2]|0,h0=S5+(G<<2)|0,n0=e[h0>>2]|0,_0=(n0|0)/2&-1,L0=s9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,O2=e[m2>>2]|0,_5=(O2|0)==-1,_5))return $=0,$|0;y2=XS(t)|0,y5=(y2|0)==-1;do if(y5){if(J2=e[m2>>2]|0,I3=(J2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,d=X3,V3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,G5=e[Y3>>2]|0,$6=(Q3|0)==(G5|0),n3=t+44|0,$6){e[n3>>2]=0,d=n3,V3=0;break}else{e[n3>>2]=y2,d=n3,V3=y2;break}while(!1);if(l3=e[Y6>>2]|0,G3=e[v>>2]|0,E6=S5+(G3<<2)|0,S3=e[E6>>2]|0,x3=(S3|0)/4&-1,b3=x3+l3|0,i6=S5+(V3<<2)|0,j5=e[i6>>2]|0,L3=(j5|0)/4&-1,h3=b3+L3|0,z3=(j5|0)/2&-1,d6=h3+z3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(d6|0),L6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,f6=(r6|0)==0,!f6)for(y9=r6;b6=y9+4|0,N6=e[b6>>2]|0,j6=e[y9>>2]|0,E2(j6),E2(y9),v6=(N6|0)==0,!v6;)y9=N6;M3=o+80|0,n6=e[M3>>2]|0,o6=(n6|0)==0,o6||(J3=o+68|0,R3=e[J3>>2]|0,K3=o+76|0,e6=e[K3>>2]|0,R6=e6+n6|0,l6=J7(R3,R6)|0,e[J3>>2]=l6,o3=e[M3>>2]|0,J6=e[K3>>2]|0,A3=J6+o3|0,e[K3>>2]=A3,e[M3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,F3=t+36|0,H6=e[F3>>2]|0,A6=o+24|0,e[A6>>2]=H6,D6=e[v>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=eb(t)|0,U6=(g9|0)==0,V6=j0+8|0,U6){e[V6>>2]=1;break}else{e[V6>>2]=0;break}else if(U3=(H6|0)==0,r9=(e9|0)==0,V9=U3|r9,o9=j0+8|0,V9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,P3=e[P6>>2]|0,O6=_6+4|0,h9=O6,n9=e[h9>>2]|0,C9=ns(P3|0,n9|0,1,0)|0,B9=Z6,Q9=t9,d9=Q9,e[d9>>2]=C9,f9=Q9+4|0,Y9=f9,e[Y9>>2]=B9,y6=o+56|0,q6=y6,w=q6,e[w>>2]=P3,D=q6+4|0,y=D,e[y>>2]=n9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,T=F,N=e[T>>2]|0,Y=o+48|0,e0=Y,J=e0,e[J>>2]=R,a0=e0+4|0,K=a0,e[K>>2]=N,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,V=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=V,q=j0+4|0,t0=+s[q>>2],Z=+s[B6>>2],u0=t0>Z,u0?(s[B6>>2]=t0,c0=t0):c0=Z,$0=+Sb(c0,t),s[B6>>2]=$0,s[q>>2]=$0,l0=b+4|0,W=e[l0>>2]|0,m0=W<<2,g0=m0+7|0,f0=g0&-8,d0=e[c6>>2]|0,p0=f0+d0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=M9(8)|0,W0=e[M3>>2]|0,M0=W0+d0|0,e[M3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=M9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,q0=N0,k0=0,G0=g,O0=f0):(q0=E0,k0=d0,G0=W,O0=S0),P0=q0+k0|0,z0=k0+f0|0,e[c6>>2]=z0,e[o>>2]=P0,F0=G0<<2,K0=F0+7|0,J0=K0&-8,H0=J0+z0|0,Z0=(H0|0)>(O0|0),Z0?(Y0=(q0|0)==0,Y0||(s1=q0,V0=M9(8)|0,i1=e[M3>>2]|0,o1=i1+z0|0,e[M3>>2]=o1,h1=e[S6>>2]|0,g1=V0+4|0,e[g1>>2]=h1,e[V0>>2]=s1,e[S6>>2]=V0),e[C0>>2]=J0,m1=M9(J0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,u1=m1,A1=0,a1=m,V5=J0):(u1=q0,A1=z0,a1=G0,V5=O0),d1=u1+A1|0,c1=A1+J0|0,e[c6>>2]=c1,e[j0>>2]=d1,$1=(a1|0)>0;e:do if($1)for(E1=t+8|0,k1=c1,M1=V5,_1=u1,a9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,U1=M9(8)|0,D1=e[M3>>2]|0,P1=D1+k1|0,e[M3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=M9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,Y1=0):(H1=_1,Y1=k1),J1=H1+Y1|0,V1=Y1+w1|0,e[c6>>2]=V1,X1=e[j0>>2]|0,o2=X1+(a9<<2)|0,e[o2>>2]=J1,j1=e[j0>>2]|0,O1=j1+(a9<<2)|0,u2=e[O1>>2]|0,W1=e[E1>>2]|0,I2=W1+(a9<<2)|0,A2=e[I2>>2]|0,ce(u2|0,A2|0,p1|0)|0,K1=e[j0>>2]|0,d2=K1+(a9<<2)|0,l2=e[d2>>2]|0,i2=l2+(L0<<2)|0,c2=e[o>>2]|0,r2=c2+(a9<<2)|0,e[r2>>2]=i2,$2=a9+1|0,e2=e[l0>>2]|0,s2=($2|0)<(e2|0),!s2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,_1=Q,a9=$2}while(!1);if(t2=e[m2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[Y6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[m2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(G2=S5+4|0,L2=e[G2>>2]|0,P2=(L2|0)/2&-1,p2=h3-P2|0,K2=(p2|0)>0,!K2)return $=1,$|0;if(z2=e[M6>>2]|0,tb(z2,p2),U2=e[m3>>2]|0,H2=U2-p2|0,e[m3>>2]=H2,W2=e[l0>>2]|0,A5=(W2|0)>0,A5&&(Y2=t+8|0,N1=e[Y2>>2]|0,e5=e[N1>>2]|0,F5=e5+(p2<<2)|0,t5=H2<<2,oA(e5|0,F5|0,t5|0)|0,Z2=e[l0>>2]|0,I5=(Z2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[Y2>>2]|0,Y5=b5+(g5<<2)|0,b2=e[Y5>>2]|0,B5=b2+(p2<<2)|0,o5=B<<2,oA(b2|0,B5|0,o5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return T5=e[v>>2]|0,e[F3>>2]=T5,m5=e[d>>2]|0,e[v>>2]=m5,e[Y6>>2]=P2,x5=e[m2>>2]|0,q5=(x5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,q3=x,X5=q3,D3=e[X5>>2]|0,t3=q3+4|0,s6=t3,N3=e[s6>>2]|0,H3=ns(D3|0,N3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=H3,J5=g3+4|0,H5=J5,e[H5>>2]=c3,$=1,$|0):(L5=x5-p2|0,V2=(L5|0)<1,a=V2?-1:L5,e[m2>>2]=a,p5=(a|0)>(P2|0),p5?(c5=(p2|0)<0,F2=c5<<31>>31,v5=x,z5=v5,i3=e[z5>>2]|0,E5=v5+4|0,d3=E5,W5=e[d3>>2]|0,r3=ns(i3|0,W5|0,p2|0,F2|0)|0,a3=Z6,B3=x,N5=B3,e[N5>>2]=r3,Z5=B3+4|0,_3=Z5,e[_3>>2]=a3,$=1,$|0):($5=a+p2|0,u5=$5-P2|0,T1=(u5|0)<0,D5=T1<<31>>31,h5=x,l5=h5,j2=e[l5>>2]|0,h2=h5+4|0,w5=h2,i5=e[w5>>2]|0,s5=ns(j2|0,i5|0,u5|0,D5|0)|0,d5=Z6,f5=x,r5=f5,e[r5>>2]=s5,M5=f5+4|0,X2=M5,e[X2>>2]=d5,$=1,$|0))}function VS(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0;if(r5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,c2=(O1|0)<1,c2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,L5=e[b2>>2]|0,S=(L5|0)<(G2|0),S))return $=1,$|0;T=B+3656|0,o0=e[T>>2]|0,J2=t,M5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(M5|0));g0=le(1,136)|0,w0=t+104|0,e[w0>>2]=g0,z0=t+4|0,e[z0>>2]=o,V0=e[Z1>>2]|0,a1=V0+-1|0,B1=q8(a1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=le(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=le(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=le(1,20)|0,e[k1>>2]=_1,R1=le(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,vC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,vC(P1,x1),J1=e[B>>2]|0,q1=q8(J1)|0,H1=q1+-7|0,Y1=g0+4|0,e[Y1>>2]=H1,V1=e[b2>>2]|0,X1=q8(V1)|0,o2=X1+-7|0,j1=g0+8|0,e[j1>>2]=o2,u2=(a|0)==0;e:do if(u2){if(y2=B+2848|0,Q5=e[y2>>2]|0,T5=(Q5|0)==0,T5&&(m5=B+24|0,x5=e[m5>>2]|0,q5=le(x5,56)|0,e[y2>>2]=q5,V2=e[m5>>2]|0,p5=(V2|0)>0,p5)){for(Q1=V2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(h5=e[y2>>2]|0,l5=h5+(w5*56|0)|0,j2=Jb(l5,u5)|0,b=(j2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,SC(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,d5=0;A1=(B+1824|0)+(d5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?I1=p1:(SC(c1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=d5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,d5=j0;return uQ(t),$=-1,$|0}}else{if(W1=g0+20|0,I2=e[B>>2]|0,_Q(W1,I2),a2=g0+32|0,C2=e[b2>>2]|0,_Q(a2,C2),A2=B+2848|0,K1=e[A2>>2]|0,d2=(K1|0)==0,d2&&(l2=B+24|0,i2=e[l2>>2]|0,r2=le(i2,56)|0,e[A2>>2]=r2,$2=e[l2>>2]|0,e2=($2|0)>0,e2&&(s2=B+1824|0,m2=e[s2>>2]|0,DQ(r2,m2)|0,t2=e[l2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[A2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,DQ(D2,L2)|0,P2=S2+1|0,p2=e[l2>>2]|0,K2=(P2|0)<(p2|0),K2;)S2=P2;O2=B+28|0,z2=e[O2>>2]|0,U2=le(z2,52)|0,H2=g0+56|0,e[H2>>2]=U2,W2=e[O2>>2]|0,A5=(W2|0)>0;t:do if(A5)for(N1=B+2868|0,e5=o+8|0,t5=U2,h2=0;;){if(F5=t5+(h2*52|0)|0,_5=(B+2852|0)+(h2<<2)|0,Z2=e[_5>>2]|0,I5=e[Z2>>2]|0,b5=B+(I5<<2)|0,Y5=e[b5>>2]|0,g5=(Y5|0)/2&-1,B5=e[e5>>2]|0,kb(F5,Z2,N1,g5,B5),o5=h2+1|0,R2=e[O2>>2]|0,M2=(o5|0)<(R2|0),!M2)break t;d=e[H2>>2]|0,t5=d,h2=o5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,N=M9(F)|0,G=t+8|0,e[G>>2]=N,Y=M9(F)|0,e0=t+12|0,e[e0>>2]=Y,J=(R|0)>0,J&&(a0=le(x,4)|0,e[N>>2]=a0,K=(R|0)>1,K))for(V=1;m=e[G>>2]|0,r0=le(x,4)|0,s0=m+(V<<2)|0,e[s0>>2]=r0,q=V+1|0,h0=(q|0)<(R|0),h0;)V=q;if(t0=t+36|0,e[t0>>2]=0,Z=t+40|0,e[Z>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,W=B+16|0,m0=e[W>>2]|0,f0=le(m0,4)|0,n0=g0+48|0,e[n0>>2]=f0,d0=B+20|0,p0=e[d0>>2]|0,C0=le(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[W>>2]|0,b0=(Q0|0)>0,b0)for(i5=0;B0=(B+800|0)+(i5<<2)|0,_0=e[B0>>2]|0,W0=25640+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(i5<<2)|0,P0=e[N0>>2]|0,q0=pi[T0&15](t,P0)|0,k0=e[n0>>2]|0,F0=k0+(i5<<2)|0,e[F0>>2]=q0,L0=i5+1|0,G0=e[W>>2]|0,K0=(L0|0)<(G0|0),K0;)i5=L0;if(E0=e[d0>>2]|0,y0=(E0|0)>0,y0)s5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(s5<<2)|0,H0=e[J0>>2]|0,Z0=25648+(H0<<2)|0,O0=e[Z0>>2]|0,Y0=O0+8|0,s1=e[Y0>>2]|0,i1=(B+1568|0)+(s5<<2)|0,x0=e[i1>>2]|0,o1=pi[s1&15](t,x0)|0,h1=e[S0>>2]|0,g1=h1+(s5<<2)|0,e[g1>>2]=o1,m1=s5+1|0,d1=e[d0>>2]|0,u1=(m1|0)<(d1|0),u1)s5=m1;else{$=0;break}return $|0}function fQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,C=C+64|0,g=M0,d=t+20|0,y=e[d>>2]|0,J=y<<2,o=J,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,T=u0+(B0<<2)|0,e[T>>2]=F,N=B0+1|0,G=(b|0)>(N|0),G;)B0=N;if(Y=e[Q0>>2]|0,e0=b-Y|0,+IQ(u0,g,e0,16),a0=e[d>>2]|0,K=e[Q0>>2]|0,a=a0-K|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,mQ(g,s0,16,r0,K),V=e[d>>2]|0,o0=(V|0)>0,o0)for(q=e[S>>2]|0,h0=q+(w0<<2)|0,t0=e[h0>>2]|0,_0=0;Z=u0+(_0<<2)|0,c0=e[Z>>2]|0,$0=_0^-1,l0=V+$0|0,W=t0+(l0<<2)|0,e[W>>2]=c0,m0=_0+1|0,g0=(V|0)>(m0|0),g0;)_0=m0;if(f0=w0+1|0,n0=e[m>>2]|0,d0=n0+4|0,p0=e[d0>>2]|0,S0=(f0|0)<(p0|0),S0)b=V,w0=f0;else break}C=M0}function zS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0;$2=C,q2(o,5653314,24),m=e[t>>2]|0,q2(o,m,16),I=t+4|0,G=e[I>>2]|0,q2(o,G,24),h0=e[I>>2]|0,n0=(h0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(b1=L0+O1|0,E=f[b1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(h0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(h0|0);e:do if(M){if(q2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,T=F<<24>>24,N=T+-1|0,q2(o,N,5),Y=e[I>>2]|0,e0=(Y|0)>1,e0)for(w=Y,H1=0,W1=1;;){if(J=e[L>>2]|0,a0=J+W1|0,K=f[a0>>0]|0,r0=W1+-1|0,s0=J+r0|0,V=f[s0>>0]|0,o0=K<<24>>24>V<<24>>24,o0)for(q=V<<24>>24,t0=K<<24>>24,c0=w,Y1=H1,l2=q;;)if(Z=W1-Y1|0,u0=c0-Y1|0,$0=q8(u0)|0,q2(o,Z,$0),l0=l2+1|0,o2=(l0|0)==(t0|0),d=e[I>>2]|0,o2){g0=d,V1=W1;break}else c0=d,Y1=W1,l2=l0;else g0=w,V1=H1;if(W=W1+1|0,m0=(W|0)<(g0|0),m0)w=g0,H1=V1,W1=W;else{$=g0,q1=V1,u2=W;break}}else $=Y,q1=0,u2=1;f0=u2-q1|0,d0=$-q1|0,p0=q8(d0)|0,q2(o,f0,p0)}else{q2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,a2=0;;){if(E0=b0+a2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){I2=a2;break t}if(B0=a2+1|0,W0=(B0|0)<(C0|0),W0)a2=B0;else{I2=B0;break}}else I2=0;while(!1);if(M0=(I2|0)==(C0|0),M0){if(q2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,C2=0;;)if(P0=e[N0>>2]|0,q0=P0+C2|0,k0=f[q0>>0]|0,z0=k0<<24>>24,F0=z0+-1|0,q2(o,F0,5),G0=C2+1|0,K0=e[I>>2]|0,J0=(G0|0)<(K0|0),J0)C2=G0;else break e}if(q2(o,1,1),H0=e[I>>2]|0,Z0=(H0|0)>0,Z0)for(O0=t+8|0,A2=0;Y0=e[O0>>2]|0,s1=Y0+A2|0,V0=f[s1>>0]|0,i1=V0<<24>>24==0,i1?q2(o,0,1):(q2(o,1,1),o1=e[O0>>2]|0,h1=o1+A2|0,g1=f[h1>>0]|0,m1=g1<<24>>24,d1=m1+-1|0,q2(o,d1,5)),u1=A2+1|0,A1=e[I>>2]|0,c1=(u1|0)<(A1|0),c1;)A2=u1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,q2(o,$1,4),E1=e[a1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,q2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,q2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,q2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,q2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=Yb(t)|0,c2=D1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=n5(Z1,P1)|0,c2=G1;else break;if(x1=(c2|0)>0,x1)for(K1=0;J1=e[I1>>2]|0,Q=J1+(K1<<2)|0,B=e[Q>>2]|0,d2=(B|0)>-1,i2=0-B|0,S=d2?B:i2,b=e[L1>>2]|0,q2(o,S,b),v=K1+1|0,X1=(v|0)==(c2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Nu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0;return e0=C,g=(o|0)<0,g||(d=t+12|0,y=e[d>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,T=e[F>>2]|0,N=T+(o<<2)|0,G=e[N>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,q2(a,G,B),S=e[d>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function iE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,d=(g|0)>0,!d||(m=Gu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function JS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,q=o0<<2,d=q,h0=C,C=C+((1*d|0)+15&-16)|0,t0=(o0|0)>0;e:do if(t0){for(Z=t+16|0,l0=0;;){if(N=Gu(t,a)|0,G=(N|0)==-1,G){g=-1;break}if(Y=e[Z>>2]|0,e0=e[t>>2]|0,J=n5(e0,N)|0,a0=Y+(J<<2)|0,K=h0+(l0<<2)|0,e[K>>2]=a0,r0=l0+1|0,V=(r0|0)<(o0|0),V)l0=r0;else{u0=e0;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=t0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(W=0,g0=0;;){for(m0=0;v=h0+(m0<<2)|0,w=e[v>>2]|0,D=w+(W<<2)|0,y=+s[D>>2],x=m0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,T=m0+1|0,$0=(T|0)==(o0|0),!$0;)m0=T;if(B=W+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)W=B,g0=S;else{g=0;break}}return C=n0,g|0}function KS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0;if(e5=C,J=t+8|0,a0=e[J>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(J1=t+16|0,e2=0;;){if(t0=Gu(t,a)|0,Z=(t0|0)==-1,Z){g=-1,N1=29;break}if(u0=e[J1>>2]|0,c0=e[t>>2]|0,$0=n5(c0,t0)|0,l0=(c0|0)>0,l0){for(W=(c0|0)>1,Y2=W?c0:1,m2=e2,p2=0;m0=p2+1|0,e0=p2+$0|0,g0=u0+(e0<<2)|0,n0=+s[g0>>2],d0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(m0|0)<(c0|0),Q0;)m2=d0,p2=m0;I2=e2+Y2|0,s2=I2}else s2=e2;if(K=(s2|0)<($|0),K)e2=s2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(V=Gu(t,a)|0,o0=(V|0)==-1,o0){g=-1,N1=29;break e}switch(q=e[i1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=V,y=q,N1=19;break t}case 3:{S=V,x=q,N1=21;break t}case 7:{I=V,v=q,N1=13;break t}case 6:{E=V,w=q,N1=15;break t}case 8:{d=q,m=V,N1=12;break t}case 5:{Q=V,D=q,N1=17;break t}case 1:{K1=V,l2=q,P2=t2,A5=0;break t}case 2:{b=V,M=q,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=d+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,W0=+s[_0>>2],M0=W0+y0,s[_0>>2]=M0,N0=b0,q0=d,k2=w0,K2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,q0=v,k2=t2,K2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,Z0=J0,Y0=w,D2=t2,O2=0,N1=16):(N1|0)==17?(N1=0,g1=Q*5|0,d1=g1,A1=D,S2=t2,z2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,D1=F1,Z1=x,G2=t2,H2=0,N1=22):(N1|0)==23&&(N1=0,V1=b<<1,o2=V1,O1=M,L2=t2,W2=0,N1=24),(N1|0)==14&&(N1=0,T0=K2+1|0,Y=K2+N0|0,P0=q0+(Y<<2)|0,k0=+s[P0>>2],z0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],K0=G0+k0,s[L0>>2]=K0,Z0=N0,Y0=q0,D2=z0,O2=T0,N1=16),(N1|0)==16&&(N1=0,H0=O2+1|0,G=O2+Z0|0,O0=Y0+(G<<2)|0,s1=+s[O0>>2],V0=D2+1|0,x0=o+(D2<<2)|0,o1=+s[x0>>2],h1=o1+s1,s[x0>>2]=h1,d1=Z0,A1=Y0,S2=V0,z2=H0,N1=18),(N1|0)==18&&(N1=0,m1=z2+1|0,N=z2+d1|0,u1=A1+(N<<2)|0,c1=+s[u1>>2],a1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+c1,s[j0>>2]=I1,B1=d1,v1=A1,Q2=a1,U2=m1,N1=20),(N1|0)==20&&(N1=0,p1=U2+1|0,T=U2+B1|0,w1=v1+(T<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,b1=o+(Q2<<2)|0,_1=+s[b1>>2],R1=_1+k1,s[b1>>2]=R1,D1=B1,Z1=v1,G2=L1,H2=p1,N1=22),(N1|0)==22&&(N1=0,U1=H2+1|0,F=H2+D1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],Y1=H1+G1,s[q1>>2]=Y1,o2=D1,O1=Z1,L2=x1,W2=U1,N1=24),(N1|0)==24&&(N1=0,X1=W2+1|0,R=W2+o2|0,j1=O1+(R<<2)|0,u2=+s[j1>>2],W1=L2+1|0,a2=o+(L2<<2)|0,C2=+s[a2>>2],A2=C2+u2,s[a2>>2]=A2,K1=o2,l2=O1,P2=W1,A5=X1),L=A5+K1|0,d2=l2+(L<<2)|0,i2=+s[d2>>2],c2=P2+1|0,r2=o+(P2<<2)|0,$2=+s[r2>>2],r0=$2+i2,s[r2>>2]=r0,s0=(c2|0)<($|0),s0)t2=c2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function WS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,T=(S|0)>0,!T||(r0=(a|0)/($|0)&-1,s0=d+a|0,V=(s0|0)/($|0)&-1,o0=(r0|0)<(V|0),!o0))return I=0,I|0;for(q=t+16|0,Z=0,$0=r0;;){if(t0=Gu(t,g)|0,b=(t0|0)==-1,b){I=-1,g0=8;break}if(v=e[q>>2]|0,w=e[t>>2]|0,D=n5(w,t0)|0,y=(w|0)>0,y)for(c0=Z,W=$0,m0=0;;)if(Q=m0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,N=F+(W<<2)|0,G=+s[N>>2],Y=G+M,s[N>>2]=Y,e0=(L|0)==($|0),J=e0&1,E=J+W|0,m=e0?0:L,a0=m0+1|0,K=(a0|0)<(w|0),K)c0=m,W=E,m0=a0;else{u0=m,l0=E;break}else u0=Z,l0=$0;if(h0=(l0|0)<(V|0),h0)Z=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Gu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,d=e[g>>2]|0,y=t+36|0,J=e[y>>2]|0,u0=BC(o,J)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,h1=J0+(u0<<2)|0,g1=e[h1>>2]|0,m=(g1|0)<0,m){I=g1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=g1&32767,b=B-S|0,m1=b,u1=E;break}return v=g1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,QC(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,u1=0;while(!1);if(T=BC(o,d)|0,N=(T|0)<0,G=(d|0)>1,Y=N&G,Y)for(j0=d;;)if(e0=j0+-1|0,a0=BC(o,e0)|0,K=(a0|0)<0,r0=(e0|0)>1,s0=K&r0,s0)j0=e0;else{$=K,a1=a0,$1=e0;break}else $=N,a1=T,$1=d;if($)return a=-1,a|0;if(V=a1>>>16,o0=a1<<16,q=V|o0,h0=q>>>8,t0=h0&16711935,Z=q<<8,c0=Z&-16711936,$0=t0|c0,l0=$0>>>4,W=l0&252645135,m0=$0<<4,g0=m0&-252645136,f0=W|g0,n0=f0>>>2,d0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=d0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-u1|0,W0=(_0|0)>1,W0)for(M0=t+20|0,T0=e[M0>>2]|0,P0=_0,d1=m1,c1=u1;;)if(N0=P0>>1,q0=N0+c1|0,k0=T0+(q0<<2)|0,z0=e[k0>>2]|0,F0=z0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+c1|0,K0=F0?N0:0,H0=d1-K0|0,Z0=H0-G0|0,O0=(Z0|0)>1,O0)P0=Z0,d1=H0,c1=G0;else{A1=G0;break}else A1=u1;return Y0=t+28|0,s1=e[Y0>>2]|0,V0=s1+A1|0,i1=f[V0>>0]|0,x0=i1<<24>>24,o1=(x0|0)>($1|0),o1?(QC(o,$1),a=-1,a|0):(QC(o,x0),a=A1,a|0)}function ZS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0;for(h1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,V=e[F>>2]|0,m0=t+4|0,e[m0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,H0=t+12|0,e[H0>>2]=J0,e[t>>2]=V,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=le(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,vC(x,128),M=e[y>>2]|0,V0=0;L=+(V0|0),R=L*.024736950028266088,T=+Yn(+R),N=T,G=M+(V0<<2)|0,Y=N*N,s[G>>2]=Y,e0=V0+1|0,s1=(e0|0)==128,!s1;)V0=e0;for(J=t+40|0,e[J>>2]=2,a0=t+44|0,e[a0>>2]=4,K=t+56|0,e[K>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,q=t+88|0,e[q>>2]=9,h0=t+92|0,e[h0>>2]=8,t0=t+104|0,e[t0>>2]=13,Z=t+108|0,e[Z>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(W=g0<<2,f0=M9(W)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Yn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,W0=M0+B0,v0=i1+1|0,O0=(v0|0)==(g0|0),O0){a=W0;break}else M0=W0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,P0=x0+1|0,Y0=(P0|0)==7,Y0)break;$=((t+40|0)+(P0<<4)|0)+4|0,d=e[$>>2]|0,g0=d,x0=P0}q0=V*7|0,z0=le(q0,144)|0,F0=t+152|0,e[F0>>2]=z0,L0=e[Z0>>2]|0,G0=le(L0,4)|0,K0=t+160|0,e[K0>>2]=G0}function jS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;N=C,o=t+16|0,kC(o),a=t+48|0,v=e[a>>2]|0,E2(v),D=t+64|0,y=e[D>>2]|0,E2(y),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,R=e[L>>2]|0,E2(R),F=t+112|0,$=e[F>>2]|0,E2($),g=t+128|0,d=e[g>>2]|0,E2(d),m=t+144|0,I=e[m>>2]|0,E2(I),E=t+36|0,Q=e[E>>2]|0,E2(Q),B=t+152|0,S=e[B>>2]|0,E2(S),b=t+160|0,w=e[b>>2]|0,E2(w),g4(t|0,0,180)|0}function XS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,d=t+4|0,m=e[d>>2]|0,R=m+28|0,s0=e[R>>2]|0,W=s0+2868|0,E0=t+104|0,q0=e[E0>>2]|0,Y0=e[q0>>2]|0,A1=Y0+168|0,v1=e[A1>>2]|0,I=Y0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=Y0+164|0,F=e[L>>2]|0,T=(M|0)>(F|0),T&&(e[L>>2]=M,N=Y0+160|0,G=e[N>>2]|0,Y=M<<2,e0=J7(G,Y)|0,e[N>>2]=e0),J=(o|0)<(y|0),J)for(a0=Y0+156|0,K=Y0+160|0,r0=t+8|0,V=Y0+40|0,o0=Y0+152|0,x1=o;;){if(q=e[a0>>2]|0,h0=q+1|0,t0=(q|0)>23,$=t0?24:h0,e[a0>>2]=$,Z=e[Y0>>2]|0,u0=(Z|0)>0,u0){for(G1=0,Y1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,d0=n5(n0,x1)|0,p0=f0+(d0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=ib(Y0,W,p0,V,Q0)|0,y0=b0|Y1,w0=G1+1|0,B0=e[Y0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,Y1=y0;else{g=y0;break}W0=x1+2|0,M0=e[K>>2]|0,v0=M0+(W0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(P0=M0+(x1<<2)|0,e[P0>>2]=1,k0=x1+1|0,z0=M0+(k0<<2)|0,e[z0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,K0=(x1|0)>0,K0&&(J0=x1+-1|0,H0=M0+(J0<<2)|0,e[H0>>2]=1)),Z0=g&4,O0=(Z0|0)==0,O0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[K>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(s1=x1+1|0,Z1=(s1|0)==(y|0),Z1)break;x1=s1}if(V0=e[I>>2]|0,i1=n5(V0,y)|0,e[A1>>2]=i1,x0=t+48|0,o1=e[x0>>2]|0,h1=t+40|0,g1=e[h1>>2]|0,m1=s0+(g1<<2)|0,d1=e[m1>>2]|0,u1=(d1|0)/4&-1,c1=u1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,j0=($1|0)/2&-1,E1=c1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=Y0+176|0,w1=e[B1>>2]|0,k1=i1-V0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=Y0+160|0,J1=w1;;){if(R1=(J1|0)<(p1|0),!R1){a=1,V1=22;break}if(e[B1>>2]=J1,F1=(J1|0)/(V0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,Q=(J1|0)>(o1|0),H1=Q&E,b1=V0+J1|0,H1){q1=J1,V1=21;break}if(_1=(b1|0)<(k1|0),_1)J1=b1;else{a=-1,V1=22;break}}return(V1|0)==21?(B=Y0+172|0,e[B>>2]=q1,a=0,a|0):(V1|0)==22?a|0:0}function eb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,d=e[g>>2]|0,y=e[d>>2]|0,J=t+4|0,u0=e[J>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,d0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=d0-Q|0,S=Q+d0|0,b=(m|0)==0,b?(G=e[f0>>2]|0,Y=(G|0)/4&-1,a=Y,$=Y):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,T=e[F>>2]|0,N=(T|0)/4&-1,a=N,$=M),C0=B-$|0,S0=S+a|0,e0=y+172|0,a0=e[e0>>2]|0,K=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=K&r0,b0)return o=1,o|0;if(s0=y+8|0,V=e[s0>>2]|0,o0=(C0|0)/(V|0)&-1,q=(S0|0)/(V|0)&-1,h0=(o0|0)<(q|0),!h0)return o=0,o|0;for(t0=y+160|0,Z=e[t0>>2]|0,Q0=o0;;){if(l0=Z+(Q0<<2)|0,W=e[l0>>2]|0,m0=(W|0)==0,c0=Q0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(q|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function tb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,T=F+(L<<2)|0,g=M-L|0,d=g<<2,oA(F|0,T|0,d|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function ib(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0;if(m3=C,J=t+4|0,a0=e[J>>2]|0,c2=t+12|0,G2=+s[c2>>2],Y2=a0<<2,x=Y2,b2=C,C=C+((1*x|0)+15&-16)|0,L5=t+156|0,h2=e[L5>>2]|0,F2=(h2|0)>5,N5=(h2|0)/2&-1,d=F2?N5:2,K=o+60|0,$0=+s[K>>2],Q0=N5+-2|0,N0=+(Q0|0),Z0=$0-N0,d1=Z0<0,E6=d1?0:Z0,B1=E6>$0,S3=B1?$0:E6,D1=(a0|0)>0,D1)for(o2=t+36|0,l2=e[o2>>2]|0,V5=0;r2=a+(V5<<2)|0,$2=+s[r2>>2],e2=l2+(V5<<2)|0,s2=+s[e2>>2],m2=s2*$2,t2=b2+(V5<<2)|0,s[t2>>2]=m2,k2=V5+1|0,Q3=(k2|0)==(a0|0),!Q3;)V5=k2;D2=t+16|0,pQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,P2=b2+4|0,p2=+s[P2>>2],K2=p2,O2=K2*K2,z2=O2*.7,U2=z2+L2,H2=b2+8|0,W2=+s[H2>>2],A5=W2,N1=A5*A5,e5=N1*.2,F5=U2+e5,t5=F5,_5=g+140|0,Z2=e[_5>>2]|0,I5=(Z2|0)==0,I5?(b5=g+136|0,Y5=+s[b5>>2],g5=Y5+t5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=t5,T=B5,V2=g5):(o5=g+132|0,R2=+s[o5>>2],M2=R2+t5,s[o5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],T5=Q5+t5,s[y2>>2]=T5,T=o5,V2=M2),m5=(g+72|0)+(Z2<<2)|0,x5=+s[m5>>2],q5=V2-x5,s[T>>2]=q5,s[m5>>2]=t5,p5=e[_5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[_5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=V2*.0625,h5=(s[w2>>2]=D5,e[w2>>2]|0),l5=h5&2147483647,j2=+(l5>>>0),w5=j2*7177114298428933e-22,i5=w5+-764.6162109375,s5=i5,d5=s5*.5,J2=d5+-15,f5=J2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,P0=S5|1,q0=b2+(P0<<2)|0,k0=+s[q0>>2],z0=k0*k0,F0=z0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,K0=+(G0>>>0),J0=K0*35885571492144663e-23,H0=J0+-382.30810546875,O0=H0>1,V0=b2+(s1<<2)|0,s[V0>>2]=e0,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;o1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=o1,T0=F,S5=i1}while(!1);if(r5=(d|0)>0,r5)l3=0,V3=0;else{for(n3=0,i6=0;;){if(h1=($+(n3<<4)|0)+4|0,g1=e[h1>>2]|0,m1=(g1|0)>0,m1)for(u1=$+(n3<<4)|0,A1=e[u1>>2]|0,c1=($+(n3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=a1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(g1|0),k1)c3=w1,Y3=v1;else{N3=w1;break}else N3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*N3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=b1P1,S=x1?P1:b1,J1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,Y1=e[_1>>2]|0,V1=Y1+1|0,X1=(Y1|0)>15,D=X1?0:V1,e[_1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],u2=O1+S3,W1=q1>u2,I2=i6|5,j5=W1?I2:i6,a2=(o+32|0)+(n3<<2)|0,C2=+s[a2>>2],A2=C2-S3,K1=J1>2]|0,c5=(X2|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,G5=0;;)if(u0=c0+G5|0,l0=b2+(u0<<2)|0,W=+s[l0>>2],m0=g0+(G5<<2)|0,f0=+s[m0>>2],n0=f0*W,d0=n0+g3,p0=G5+1|0,C0=(p0|0)<(X2|0),C0)g3=d0,G5=p0;else{H3=d0;break}else H3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],d3=y0*H3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],W0=d3<_0,i3=W0?_0:d3,M0=d3>_0,b=M0?_0:d3,$6=0,G3=E,x3=-99999,b3=99999;;)if(s0=(G3|0)<1,w=s0?16:-1,v=w+G3|0,V=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[V>>2],q=x3o0,N=t0?o0:b3,Z=$6+1|0,J5=(Z|0)==(d|0),J5){L=h0,G=N;break}else $6=Z,G3=v,x3=h0,b3=N;if(v5=b-G,z5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=d3,W5=e[r3>>2]|0,a3=W5+1|0,B3=(W5|0)>15,y=B3?0:a3,e[r3>>2]=y,Z5=(o+4|0)+(l3<<2)|0,_3=+s[Z5>>2],f3=_3+S3,w3=z5>f3,X3=V3|5,L3=w3?X3:V3,q3=(o+32|0)+(l3<<2)|0,X5=+s[q3>>2],D3=X5-S3,t3=v5>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,P3=o+1284|0,y6=e[P3>>2]|0,w9=(y6|0)>0,w9){for(mt=0;r4=Se+(mt<<2)|0,e[r4>>2]=-200,v4=mt+1|0,k4=(v4|0)==(y6|0),!k4;)mt=v4;if(w9){for(W3=0;Ce=Ie+(W3<<2)|0,e[Ce>>2]=-200,r0=W3+1|0,fe=(r0|0)==(y6|0),!fe;)W3=r0;if(w9){for(l0=y6<<2,g4(Pt|0,0,l0|0)|0,_9=0;b0=F4+(_9<<2)|0,e[b0>>2]=1,P0=_9+1|0,z4=(P0|0)==(y6|0),!z4;)_9=P0;if(w9){if(u1=y6<<2,g4(t8|0,-1,u1|0)|0,w1=(y6|0)>1,!w1)return a4=0,C=Ae,a4|0;for(P1=r6+-1|0,j1=K+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ve=F,S9=0,S4=0;;){Re=S9+1|0,Fe=o+(Re<<2)|0,Ge=e[Fe>>2]|0,qe=z6+(S9*56|0)|0,O4=qe,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[qe>>2]=ve,He=(z6+(S9*56|0)|0)+4|0,e[He>>2]=Ge,J9=(Ge|0)<(r6|0),s8=J9?Ge:P1,Ye=(s8|0)<(ve|0),Ye)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,W8=0,Z8=0;else for(xe=ve,pt=0,J4=0,Ke=0,se=0,b4=0,gt=0,E3=0,F9=0,ht=0,b9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,Y=+s[he>>2],Ue=Y*7.314285755157471,Ee=Ue+1023.5,w4=~~Ee,Z9=(w4|0)>1023,v9=(w4|0)<0,m=v9?0:w4,S=Z9?1023:m,Y4=(S|0)==0;do if(Y4)Jt=pt,at=J4,$t=Ke,Bt=se,W4=b4,be=gt,wt=E3,Wt=F9,Ze=ht,et=b9,l4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Ve=+s[nt>>2],V4=+s[j1>>2],ze=V4+Ve,n4=!(ze>=Y),n4){h4=xe+gt|0,oe=S+Nt|0,d4=n5(xe,xe)|0,f4=d4+se|0,ke=n5(S,S)|0,s0=ke+b9|0,V=n5(S,xe)|0,o0=V+F9|0,q=J4+1|0,Jt=pt,at=q,$t=Ke,Bt=f4,W4=b4,be=h4,wt=E3,Wt=o0,Ze=ht,et=s0,l4=u8,Xt=oe;break}else{R4=xe+b4|0,ot=S+u8|0,ne=n5(xe,xe)|0,u4=ne+Ke|0,T6=n5(S,S)|0,Je=T6+ht|0,O9=n5(S,xe)|0,de=O9+E3|0,Te=pt+1|0,Jt=Te,at=J4,$t=u4,Bt=se,W4=R4,be=gt,wt=de,Wt=F9,Ze=Je,et=b9,l4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,t0=(xe|0)<(s8|0),t0)xe=h0,pt=Jt,J4=at,Ke=$t,se=Bt,b4=W4,gt=be,E3=wt,F9=Wt,ht=Ze,b9=et,u8=l4,Nt=Xt;else{_t=Jt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=be,a8=wt,j9=Wt,jt=Ze,Tt=et,W8=l4,Z8=Xt;break}}if(Z=(z6+(S9*56|0)|0)+8|0,e[Z>>2]=Qt,u0=(z6+(S9*56|0)|0)+12|0,e[u0>>2]=W8,c0=(z6+(S9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(S9*56|0)|0)+20|0,e[$0>>2]=jt,W=(z6+(S9*56|0)|0)+24|0,e[W>>2]=a8,m0=(z6+(S9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(S9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(z6+(S9*56|0)|0)+36|0,e[f0>>2]=Z8,n0=(z6+(S9*56|0)|0)+40|0,e[n0>>2]=Rt,d0=(z6+(S9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(S9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(z6+(S9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+S4|0,I6=(Re|0)==(i2|0),I6){E8=S0;break}else ve=Ge,S9=Re,S4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(O0=(y6|0)==0,!O0)return a4=0,C=Ae,a4|0;G2=z6+4|0,O4=z6,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[G2>>2]=r6,Y2=(r6|0)<1,Y2)Vt=0,r8=0,Kt=0,Ct=0,ct=0,ae=0,yt=0,A4=0,l8=0,c8=0,H8=0,Y8=0;else for(b2=K+1112|0,me=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,We=0,$4=0,ut=0,X4=0,M8=0,dt=0;;){L5=$+(me<<2)|0,G=+s[L5>>2],h2=G*7.314285755157471,F2=h2+1023.5,N5=~~F2,N3=(N5|0)>1023,G5=(N5|0)<0,d=G5?0:N5,B=N3?1023:d,V3=(B|0)==0;do if(V3)zt=xt,G4=Et,U4=At,lt=m4,K4=p4,D4=E4,Z4=We,j4=$4,Ft=ut,g8=X4,R8=M8,F8=dt;else if(f6=a+(me<<2)|0,K3=+s[f6>>2],A6=+s[b2>>2],g9=A6+K3,U6=!(g9>=G),U6){C9=me+E4|0,B9=B+dt|0,Q9=n5(me,me)|0,d9=Q9+m4|0,f9=n5(B,B)|0,Y9=f9+X4|0,q6=n5(B,me)|0,a9=q6+$4|0,V9=Et+1|0,zt=xt,G4=V9,U4=At,lt=d9,K4=p4,D4=C9,Z4=We,j4=a9,Ft=ut,g8=Y9,R8=M8,F8=B9;break}else{V6=me+p4|0,F6=B+M8|0,t9=n5(me,me)|0,_6=t9+At|0,P6=n5(B,B)|0,O6=P6+ut|0,s9=n5(B,me)|0,h9=s9+We|0,n9=xt+1|0,zt=n9,G4=Et,U4=_6,lt=m4,K4=V6,D4=E4,Z4=h9,j4=$4,Ft=O6,g8=X4,R8=F6,F8=dt;break}while(!1);if(y9=me+1|0,k9=(y9|0)==(r6|0),k9){Vt=zt,r8=G4,Kt=U4,Ct=lt,ct=K4,ae=D4,yt=Z4,A4=j4,l8=Ft,c8=g8,H8=R8,Y8=F8;break}else me=y9,xt=zt,Et=G4,At=U4,m4=lt,p4=K4,E4=D4,We=Z4,$4=j4,ut=Ft,X4=g8,M8=R8,dt=F8}ye=z6+8|0,e[ye>>2]=ct,ge=z6+12|0,e[ge>>2]=H8,pe=z6+16|0,e[pe>>2]=Kt,z9=z6+20|0,e[z9>>2]=l8,re=z6+24|0,e[re>>2]=yt,R9=z6+28|0,e[R9>>2]=Vt,K6=z6+32|0,e[K6>>2]=ae,A9=z6+36|0,e[A9>>2]=Y8,we=z6+40|0,e[we>>2]=Ct,Me=z6+44|0,e[Me>>2]=c8,ue=z6+48|0,e[ue>>2]=A4,D9=z6+52|0,e[D9>>2]=r8,E8=Vt}if(Q0=(E8|0)==0,Q0)return a4=0,C=Ae,a4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,yC(z6,E0,$8,Zt,K)|0,y0=e[$8>>2]|0,e[Se>>2]=y0,e[Ie>>2]=y0,w0=e[Zt>>2]|0,B0=Ie+4|0,e[B0>>2]=w0,_0=Se+4|0,e[_0>>2]=w0,W0=(y6|0)>2;do if(W0){M0=K+1112|0,v0=K+1096|0,T0=K+1100|0,N0=K+1104|0,Oe=2;e:for(;;){q0=(o+520|0)+(Oe<<2)|0,k0=e[q0>>2]|0,z0=Pt+(k0<<2)|0,F0=e[z0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,K0=t8+(F0<<2)|0,J0=e[K0>>2]|0,H0=(J0|0)==(G0|0);t:do if(!H0){if(Z0=(o+520|0)+(F0<<2)|0,Y0=e[Z0>>2]|0,s1=(o+520|0)+(G0<<2)|0,V0=e[s1>>2]|0,e[K0>>2]=G0,i1=(K+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,o1=(K+836|0)+(G0<<2)|0,h1=e[o1>>2]|0,g1=Se+(F0<<2)|0,m1=e[g1>>2]|0,d1=(m1|0)<0,A1=Ie+(F0<<2)|0,c1=e[A1>>2]|0,d1?w=c1:(a1=(c1|0)<0,a1?w=m1:($1=c1+m1|0,j0=$1>>1,w=j0)),E1=Se+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=Ie+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,b1=(y|0)==-1,x8=M1|b1,x8){C4=38;break e}_1=y-w|0,R1=h1-x0|0,N4=(_1|0)>-1,x9=0-_1|0,F1=N4?_1:x9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,Z1=D1|1,G1=$+(x0<<2)|0,J=+s[G1>>2],x1=J*7.314285755157471,J1=x1+1023.5,q1=~~J1,H1=(q1|0)>1023,Y1=(q1|0)<0,I=Y1?0:q1,b=H1?1023:I,V1=n5(U1,R1)|0,f8=(V1|0)>-1,p8=0-V1|0,X1=f8?V1:p8,o2=F1-X1|0,O1=w-b|0,u2=n5(O1,O1)|0,W1=a+(x0<<2)|0,I2=+s[W1>>2],a2=+s[M0>>2],C2=a2+I2,A2=!(C2>=J),A2?C4=42:(K1=+(w|0),d2=+s[v0>>2],l2=d2+K1,c2=+(b|0),r2=l2>2],e2=K1-$2,s2=e2>c2,s2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=x0+1|0,t2=(m2|0)<(h1|0),t2)for(p2=m2,o4=0,_8=u2,Yt=1,C8=w;;){if(k2=o4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Pe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,P2=$+(p2<<2)|0,e0=+s[P2>>2],K2=e0*7.314285755157471,O2=K2+1023.5,z2=~~O2,U2=(z2|0)>1023,H2=(z2|0)<0,E=H2?0:z2,D=U2?1023:E,W2=A8-D|0,A5=n5(W2,W2)|0,N1=A5+_8|0,e5=Yt+1|0,F5=a+(p2<<2)|0,t5=+s[F5>>2],_5=t5+a2,Z2=_5>=e0,I5=(D|0)!=0,o8=Z2&I5,o8&&(b5=+(A8|0),Y5=+s[v0>>2],g5=Y5+b5,B5=+(D|0),o5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=p2+1|0,T5=(Q5|0)<(h1|0),T5)p2=Q5,o4=Pe,_8=N1,Yt=e5,C8=A8;else{i8=N1,Ht=e5;break}}else i8=u2,Ht=1;if(m5=+s[v0>>2],x5=m5*m5,q5=+(Ht|0),V2=x5/q5,p5=+s[N0>>2],$5=V2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(h5=(i8|0)/(Ht|0)&-1,l5=+(h5|0),j2=l5>p5,j2)))break;g3=Se+(Oe<<2)|0,e[g3>>2]=-200,u3=Ie+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(Y0*56|0)|0,i5=k0-Y0|0,s5=yC(w5,i5,Ot,qt,K)|0,d5=z6+(k0*56|0)|0,J2=V0-k0|0,f5=yC(d5,J2,T4,st,K)|0,r5=(s5|0)!=0,r5&&(e[Ot>>2]=w,M5=e[T4>>2]|0,e[qt>>2]=M5),X2=(f5|0)==0,!X2&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,r5)){v5=Se+(Oe<<2)|0,e[v5>>2]=-200,z5=Ie+(Oe<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[Se>>2]=i3),I3=e[qt>>2]|0,d3=Se+(Oe<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,r3=Ie+(Oe<<2)|0,e[r3>>2]=W5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),Z5=W5&I3,_3=(Z5|0)>-1,_3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(D8=e8+-1|0,X3=F4+(D8<<2)|0,q3=e[X3>>2]|0,X5=(q3|0)==(G0|0),!X5)break i;if(e[X3>>2]=Oe,D3=(e8|0)>1,D3)e8=D8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(y6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,H3=(s6|0)==(F0|0),!H3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,J5=(Q3|0)<(y6|0),J5)Oe=Q3;else{C4=68;break}}if((C4|0)==38)yS(1);else if((C4|0)==68){T=e[Se>>2]|0,N=e[Ie>>2]|0,S5=T,$6=N;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,V5=K8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,G3=l3>>1,v=G3)),e[V5>>2]=v,E6=e[_0>>2]|0,S3=(E6|0)<0,x3=e[B0>>2]|0,S3?M=x3:(b3=(x3|0)<0,b3?M=E6:(a6=x3+E6|0,i6=a6>>1,M=i6)),j5=V5+4|0,e[j5>>2]=M,W0)s4=2;else return a4=V5,C=Ae,a4|0;for(;;)if(L3=s4+-2|0,h3=(o+1032|0)+(L3<<2)|0,z3=e[h3>>2]|0,d6=(o+780|0)+(L3<<2)|0,m3=e[d6>>2]|0,x6=(K+836|0)+(z3<<2)|0,L6=e[x6>>2]|0,M6=(K+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=V5+(z3<<2)|0,N6=e[b6>>2]|0,j6=V5+(m3<<2)|0,v6=e[j6>>2]|0,M3=(K+836|0)+(s4<<2)|0,n6=e[M3>>2]|0,o6=N6&32767,C6=v6&32767,J3=C6-o6|0,R3=S6-L6|0,d8=(J3|0)>-1,Lt=0-J3|0,e6=d8?J3:Lt,R6=n6-L6|0,l6=n5(e6,R6)|0,o3=(l6|0)/(R3|0)&-1,J6=(J3|0)<0,A3=0-o3|0,L=J6?A3:o3,x=L+o6|0,c6=Se+(s4<<2)|0,B6=e[c6>>2]|0,F3=(B6|0)<0,H6=Ie+(s4<<2)|0,D6=e[H6>>2]|0,F3?Q=D6:(G6=(D6|0)<0,G6?Q=B6:(e9=D6+B6|0,Q6=e9>>1,Q=Q6)),X6=(Q|0)<0,U3=(x|0)==(Q|0),L8=X6|U3,r9=x|32768,g=L8?r9:Q,Y6=V5+(s4<<2)|0,e[Y6>>2]=g,o9=s4+1|0,I4=(o9|0)==(y6|0),I4){a4=V5;break}else s4=o9;return C=Ae,a4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0;if(u0=C,d=o+1284|0,m=e[d>>2]|0,x=(a|0)!=0,e0=($|0)!=0,h0=x&e0,!h0)return t0=0,t0|0;if(J=m<<2,a0=K8(t,J)|0,K=(m|0)>0,!K)return t0=a0,t0|0;for(r0=65536-g|0,q=0;;)if(s0=a+(q<<2)|0,V=e[s0>>2]|0,I=V&32767,E=n5(I,r0)|0,Q=$+(q<<2)|0,B=e[Q>>2]|0,S=B&32767,b=n5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(q<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,T=F&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),Y=q+1|0,o0=(Y|0)==(m|0),o0){t0=a0;break}else q=Y;return t0|0}function rb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,h3=O6+32|0,U3=O6,D=a+1296|0,y=e[D>>2]|0,d2=a+1284|0,R2=e[d2>>2]|0,$5=o+64|0,s5=e[$5>>2]|0,i3=s5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return q2(t,0,1),F5=o+36|0,t5=e[F5>>2]|0,_5=(t5|0)/2&-1,Z2=_5<<2,g4(g|0,0,Z2|0)|0,m=0,C=O6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;H0=$+(C6<<2)|0,m1=e[H0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(W2=p1>>>4,V6=W2):(U1|0)==1?(X1=p1>>>2,V6=X1):(U1|0)==2?(l2=p1>>>3,V6=l2):(U1|0)==3?(S2=(p1>>>0)/12&-1,V6=S2):V6=p1,I5=m1&32768,b5=I5|V6,e[H0>>2]=b5,Y5=C6+1|0,v6=(Y5|0)==(R2|0),!v6;)C6=Y5;if(g5=e[$>>2]|0,e[U6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(J3=2;;){if(Q5=J3+-2|0,T5=(a+1032|0)+(Q5<<2)|0,m5=e[T5>>2]|0,x5=(a+780|0)+(Q5<<2)|0,q5=e[x5>>2]|0,L5=(y+836|0)+(m5<<2)|0,V2=e[L5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,h5=e[D5>>2]|0,l5=(y+836|0)+(J3<<2)|0,j2=e[l5>>2]|0,h2=T1&32767,w5=h5&32767,i5=w5-h2|0,d5=u5-V2|0,K3=(i5|0)>-1,r9=0-i5|0,J2=K3?i5:r9,f5=j2-V2|0,r5=n5(J2,f5)|0,M5=(r5|0)/(d5|0)&-1,X2=(i5|0)<0,c5=0-M5|0,E=X2?c5:M5,I=E+h2|0,F2=$+(J3<<2)|0,v5=e[F2>>2]|0,z5=v5&32768,E5=(z5|0)!=0,I3=(v5|0)==(I|0),g9=E5|I3,g9)d3=I|32768,e[F2>>2]=d3,W5=U6+(J3<<2)|0,e[W5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),d=B3?a3:I,N5=v5-I|0,Z5=(N5|0)<0;do if(Z5)if(_3=0-d|0,w3=(N5|0)<(_3|0),w3){X3=N5^-1,q3=d+X3|0,F6=q3;break}else{X5=N5<<1,D3=X5^-1,F6=D3;break}else if(t3=(d|0)>(N5|0),t3){N3=N5<<1,F6=N3;break}else{s6=d+N5|0,F6=s6;break}while(!1);H3=U6+(J3<<2)|0,e[H3>>2]=F6,e[y5>>2]=h2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=J3+1|0,j6=(Q3|0)==(R2|0),j6)break;J3=Q3}S=e[U6>>2]|0,b=e[o5>>2]|0,a6=S,L3=b}else a6=g5,L3=B5;if(q2(t,1,1),J5=a+1308|0,H5=e[J5>>2]|0,V5=H5+1|0,e[J5>>2]=V5,S5=e[y2>>2]|0,Y3=S5+-1|0,G5=q8(Y3)|0,$6=G5<<1,n3=a+1304|0,G3=e[n3>>2]|0,E6=G3+$6|0,e[n3>>2]=E6,S3=e[y2>>2]|0,x3=S3+-1|0,b3=q8(x3)|0,q2(t,a6,b3),i6=e[y2>>2]|0,V3=i6+-1|0,j5=q8(V3)|0,q2(t,L3,j5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,R3=0,l6=2;;){if(F=(y+4|0)+(R3<<2)|0,T=e[F>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,Y=(y+192|0)+(T<<2)|0,e0=e[Y>>2]|0,J=1<>2]=0,e[h3+4>>2]=0,e[h3+8>>2]=0,e[h3+12>>2]=0,e[h3+16>>2]=0,e[h3+20>>2]=0,e[h3+24>>2]=0,e[h3+28>>2]=0,K=(e0|0)==0,!K){if(e[U3>>2]=0,e[U3+4>>2]=0,e[U3+8>>2]=0,e[U3+12>>2]=0,e[U3+16>>2]=0,e[U3+20>>2]=0,e[U3+24>>2]=0,e[U3+28>>2]=0,r0=(e0|0)==31,!r0)for(A3=0;d0=((y+320|0)+(T<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=U3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(J|0),_0;)A3=B0;s0=(G|0)>0;e:do if(s0){if(r0)for(z3=0,x6=0,c6=0;;)if(W0=h3+(c6<<2)|0,M0=e[W0>>2]|0,v0=M0<>2]|0,H6=0;;){if(V=U3+(H6<<2)|0,o0=e[V>>2]|0,h0=(q|0)<(o0|0),h0){A6=H6,P3=31;break}if(t0=H6+1|0,Z=(t0|0)<(J|0),Z)H6=t0;else{P3=33;break}}if((P3|0)==31?(P3=0,u0=h3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(P3|0)==33&&(P3=0,Q=h3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(z0*56|0)|0,L0=Nu(F0,m3,t)|0,G0=e[R>>2]|0,K0=G0+L0|0,e[R>>2]=K0}if(J0=(G|0)>0,J0)for(F3=0;Z0=h3+(F3<<2)|0,O0=e[Z0>>2]|0,Y0=((y+320|0)+(T<<5)|0)+(O0<<2)|0,s1=e[Y0>>2]|0,V0=(s1|0)>-1,V0&&(i1=F3+l6|0,x0=U6+(i1<<2)|0,o1=e[x0>>2]|0,h1=(a0+(s1*56|0)|0)+4|0,g1=e[h1>>2]|0,d1=(o1|0)<(g1|0),d1&&(u1=a0+(s1*56|0)|0,A1=Nu(u1,o1,t)|0,c1=e[n3>>2]|0,a1=c1+A1|0,e[n3>>2]=a1)),$1=F3+1|0,b6=($1|0)==(G|0),!b6;)F3=$1;if(j0=G+l6|0,E1=R3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)R3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=n5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[d2>>2]|0,D1=(F1|0)>1,D1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(J1=(a+260|0)+(o3<<2)|0,q1=e[J1>>2]|0,H1=$+(q1<<2)|0,Y1=e[H1>>2]|0,V1=Y1&32767,o2=(V1|0)==(Y1|0),o2)if(j1=e[w1>>2]|0,O1=n5(j1,Y1)|0,u2=(y+836|0)+(q1<<2)|0,W1=e[u2>>2]|0,I2=O1-Q6|0,a2=W1-D6|0,e6=(I2|0)>-1,Y6=0-I2|0,C2=e6?I2:Y6,A2=(I2|0)/(a2|0)&-1,K1=I2>>31,i2=K1|1,c2=n5(A2,a2)|0,R6=(c2|0)>-1,o9=0-c2|0,r2=R6?c2:o9,$2=C2-r2|0,e2=(R1|0)>(W1|0),t9=e2?W1:R1,s2=(t9|0)>(D6|0),s2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(t9|0),k2)for(p2=t2,M6=0,_6=Q6;;)if(D2=M6+$2|0,Q2=(D2|0)<(a2|0),G2=Q2?0:i2,L2=Q2?0:a2,S6=D2-L2|0,B=_6+A2|0,P6=B+G2|0,P2=g+(p2<<2)|0,e[P2>>2]=P6,K2=p2+1|0,f6=(K2|0)==(t9|0),f6){o6=W1,G6=W1,X6=O1;break}else p2=K2,M6=S6,_6=P6;else o6=W1,G6=W1,X6=O1;else o6=n6,G6=D6,X6=Q6;if(O2=o3+1|0,z2=e[d2>>2]|0,U2=(O2|0)<(z2|0),U2)n6=o6,o3=O2,D6=G6,Q6=X6;else{M3=o6,e9=X6;break}}else M3=0,e9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(M3|0)<(G1|0),x1)J6=M3;else return m=1,C=O6,m|0;for(;;)if(H2=g+(J6<<2)|0,e[H2>>2]=e9,A5=J6+1|0,Y2=e[P1>>2]|0,N1=(Y2|0)/2&-1,e5=(A5|0)<(N1|0),e5)J6=A5;else{m=1;break}return C=O6,m|0}function yC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,d1=+s[Z0>>2],i2=0,e2=0,m2=0,S2=0,P2=0,z2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,D1=e[B1>>2]|0,o2=(t+(e2*56|0)|0)+28|0,S=e[o2>>2]|0,T=S+D1|0,V=+(T|0),o0=V*d1,q=S+1|0,h0=+(q|0),t0=o0/h0,Z=t0,u0=Z+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,W=+(l0|0),m0=(t+(e2*56|0)|0)+8|0,g0=e[m0>>2]|0,f0=+(g0|0),n0=f0*u0,d0=W+S2,p0=d0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+z2,W0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),P0=(t+(e2*56|0)|0)+16|0,q0=e[P0>>2]|0,k0=+(q0|0),z0=k0*u0,F0=T0+m2,L0=F0+z0,G0=(t+(e2*56|0)|0)+48|0,K0=e[G0>>2]|0,J0=+(K0|0),H0=(t+(e2*56|0)|0)+24|0,O0=e[H0>>2]|0,Y0=+(O0|0),s1=Y0*u0,V0=J0+P2,i1=V0+s1,x0=+(D1|0),o1=+(S|0),h1=u0*o1,g1=x0+i2,m1=g1+h1,u1=e2+1|0,$2=(u1|0)==(o|0),$2){l2=m1,s2=L0,D2=p0,L2=i1,O2=W0;break}else i2=m1,e2=u1,m2=L0,S2=p0,P2=i1,z2=W0;else l2=0,s2=0,D2=0,L2=0,O2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(Q|0),$1=D2+a1,j0=+(A1|0),E1=j0+O2,I1=n5(Q,Q)|0,Q1=+(I1|0),p1=s2+Q1,w1=n5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=l2+1,c2=L1,t2=p1,Q2=$1,p2=k1,U2=E1):(c2=l2,t2=s2,Q2=D2,p2=L2,U2=O2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(Q0|0),R1=Q2+_1,F1=+(M1|0),U1=F1+U2,P1=n5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=n5(M1,Q0)|0,J1=+(x1|0),q1=J1+p2,H1=c2+1,r2=H1,k2=G1,G2=R1,K2=q1,H2=U1):(r2=c2,k2=t2,G2=Q2,K2=p2,H2=U2),Y1=k2*r2,V1=G2*G2,X1=Y1-V1,j1=X1>0,j1?(O1=H2*k2,u2=G2*K2,W1=O1-u2,I2=W1/X1,a2=K2*r2,C2=G2*H2,A2=a2-C2,K1=A2/X1,d2=+(Q|0),b=K1*d2,v=b+I2,w=+z7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+I2,L=+z7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,N=(F|0)>1023,N?(e[a>>2]=1023,m=e[$>>2]|0,G=m,r0=1023):(G=R,r0=F),Y=(G|0)>1023,Y?(e[$>>2]=1023,I=e[a>>2]|0,e0=I,s0=1023):(e0=r0,s0=G),J=(e0|0)<0,J?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,K=(a0|0)<0,K?(e[$>>2]=0,d=0,d|0):(d=0,d|0)):(e[a>>2]=0,e[$>>2]=0,d=1,d|0)}function nb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,K=e[t>>2]|0,q2(o,K,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,K0=0,V0=-1;;)if(B=N0+(K0<<2)|0,S=e[B>>2]|0,q2(o,S,4),b=e[B>>2]|0,v=(V0|0)<(b|0),a=v?b:V0,w=K0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)K0=w,V0=a;else{$=a;break}if(q0=($|0)>-1,q0)for(k0=t+128|0,z0=t+192|0,E=t+256|0,Q=t+320|0,J0=0;;){if(x=k0+(J0<<2)|0,L=e[x>>2]|0,R=L+-1|0,q2(o,R,3),F=z0+(J0<<2)|0,T=e[F>>2]|0,q2(o,T,2),N=e[F>>2]|0,G=(N|0)==0,G?(Z0=0,i1=8):(Y=E+(J0<<2)|0,e0=e[Y>>2]|0,q2(o,e0,8),g=e[F>>2]|0,J=(g|0)==31,J||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(J0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,q2(o,s0,8),V=Z0+1|0,o0=e[F>>2]|0,q=1<>2]|0,c0=u0+-1|0,q2(o,c0,2),l0=M+-1|0,W=q8(l0)|0,q2(o,W,4),m0=q8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,d0=t+128|0,P0=g0,F0=0,H0=0,O0=0;;){if(p0=n0+(H0<<2)|0,C0=e[p0>>2]|0,S0=d0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(O0|0)<(E0|0),y0){for(s1=O0;w0=s1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,q2(o,_0,m0),W0=s1+1|0,L0=(W0|0)==(E0|0),!L0;)s1=W0;d=e[t>>2]|0,T0=d,Y0=E0}else T0=P0,Y0=O0;if(M0=H0+1|0,v0=(M0|0)<(T0|0),v0)P0=T0,F0=E0,H0=M0,O0=Y0;else break}}function ob(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,J=le(1,1120)|0,u0=i4(o,5)|0,e[J>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=J+4|0,Z1=0,o2=-1;;){if(L=i4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(T=(o2|0)<(L|0),g=T?L:o2,N=Z1+1|0,G=e[J>>2]|0,Y=(N|0)<(G|0),Y)Z1=N,o2=g;else{d=g;break}}if(J0=(d|0)>-1,J0)for(g1=J+128|0,Q1=J+192|0,F1=J+256|0,x=y+24|0,M=J+320|0,G1=0;;){if(e0=i4(o,3)|0,a0=e0+1|0,K=g1+(G1<<2)|0,e[K>>2]=a0,r0=i4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,V=(r0|0)<0,V||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,t0=I):(q=i4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=q,t0=q),Z=(t0|0)<0,Z)||(c0=e[x>>2]|0,$0=(t0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,W=(l0|0)==31,!W)for(H1=0;;){if(d0=i4(o,8)|0,p0=d0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(d0|0)<0,Q0||(b0=e[x>>2]|0,E0=(d0|0)>(b0|0),f0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=_0,M0=i4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[J>>2]|0,P0=(N0|0)>0,P0)for(q0=J+4|0,k0=J+128|0,z0=J+836|0,F0=1<>2]|0,K0=k0+(G0<<2)|0,H0=e[K0>>2]|0,Z0=H0+P1|0,O0=(Z0|0)>63,O0)break e;if(Y0=(Y1|0)<(Z0|0),Y0){for(X1=Y1;;){if(s1=i4(o,M0)|0,V0=X1+2|0,i1=z0+(V0<<2)|0,e[i1>>2]=s1,x0=(s1|0)>-1,o1=(s1|0)<(F0|0),j1=x0&o1,!j1)break e;if(h1=X1+1|0,m1=(h1|0)<(Z0|0),m1)X1=h1;else{$=h1;break}}B=e[J>>2]|0,A1=B,V1=$}else A1=U1,V1=Y1;if(d1=x1+1|0,u1=(d1|0)<(A1|0),u1)U1=A1,P1=Z0,x1=d1,Y1=V1;else{E=z0,Q=F0,D1=Z0;break}}else v=J+836|0,w=1<>2]=0,c1=J+840|0,e[c1>>2]=Q,a1=D1+2|0,$1=(D1|0)>-2,$1)for(J1=0;j0=E+(J1<<2)|0,E1=O1+(J1<<2)|0,e[E1>>2]=j0,I1=J1+1|0,p1=(I1|0)<(a1|0),p1;)J1=I1;Uu(O1,a1,4,8),B1=(a1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,b1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),w1=q1+1|0,!_1;)if(v1=(w1|0)<(a1|0),v1)b1=M1,q1=w1;else break t;if(R1=(J|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=J,C=W1,a|0}while(!1);return E2(J),a=0,C=W1,a|0}function sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=le(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,e0=o+840|0,Z=e[e0>>2]|0,p0=$+1288|0,e[p0>>2]=Z,M0=e[o>>2]|0,K0=(M0|0)>0,K0){for(V0=o+4|0,d=o+128|0,d1=0,k1=0;;)if(m=V0+(d1<<2)|0,I=e[m>>2]|0,E=d+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=d1+1|0,b=(S|0)<(M0|0),b)d1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,_1=7):(Uu(b1,v,4,8),w1=a)}else s1=$+1284|0,e[s1>>2]=2,F=2,v1=0,_1=7;if((_1|0)==7){for(u1=0;x=D+(u1<<2)|0,M=b1+(u1<<2)|0,e[M>>2]=x,L=u1+1|0,R=(L|0)<(F|0),R;)u1=L;for(Uu(b1,F,4,8),T=D,N=$+260|0,A1=0;J=b1+(A1<<2)|0,a0=e[J>>2]|0,K=a0,r0=K-T|0,s0=r0>>2,V=N+(A1<<2)|0,e[V>>2]=s0,o0=A1+1|0,q=(o0|0)<(F|0),q;)A1=o0;for(G=$+260|0,Y=$+520|0,c1=0;t0=G+(c1<<2)|0,u0=e[t0>>2]|0,c0=Y+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(F|0),l0;)c1=$0;for(h0=$+260|0,a1=0;;)if(W=h0+(a1<<2)|0,m0=e[W>>2]|0,g0=D+(m0<<2)|0,f0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=f0,d0=a1+1|0,C0=(d0|0)<(F|0),C0)a1=d0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,W0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,P0=e[p0>>2]|0,x0=1,g1=P0,j0=0,E1=0,p1=0;;)if(q0=D+(j0<<2)|0,k0=e[q0>>2]|0,z0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=z0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(g1|0),G0=(k0|0)>(N0|0),M1=L0&G0,o1=M1?j0:x0,m1=M1?k0:g1,J0=j0+1|0,H0=(J0|0)<(v0|0),H0)x0=o1,g1=m1,j0=J0,E1=I1,p1=B1;else{h1=o1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,O0=W0+($1<<2)|0,e[O0>>2]=h1,Y0=$1+1|0,i1=(Y0|0)==(w1|0),i1)break;$1=Y0}return C=R1,$|0}function ab(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Ab(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function $b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+1296|0,m=e[d>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,P0=b0+4|0,O0=e[P0>>2]|0,u1=O0+28|0,w1=e[u1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=i4(I,1)|0,K=(M|0)==1,!K)return a=0,a|0;q=o+1284|0,h0=e[q>>2]|0,t0=h0<<2,Z=K8(t,t0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,W=q8($0)|0,m0=i4(I,W)|0,e[Z>>2]=m0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=q8(f0)|0,d0=i4(I,n0)|0,p0=Z+4|0,e[p0>>2]=d0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,s2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,W0=(m+128|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(z0*56|0)|0,L0=iE(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(K0=(M0|0)>0,K0)for(J0=N0+-1|0,c2=i2,m2=0;;){if(H0=c2&J0,Z0=((m+320|0)+(_0<<5)|0)+(H0<<2)|0,Y0=e[Z0>>2]|0,s1=c2>>T0,V0=(Y0|0)>-1,V0){if(i1=j1+(Y0*56|0)|0,x0=iE(i1,I)|0,o1=m2+s2|0,h1=Z+(o1<<2)|0,e[h1>>2]=x0,g1=(x0|0)==-1,g1){a=0,D2=25;break t}}else m1=m2+s2|0,d1=Z+(m1<<2)|0,e[d1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(M0|0),c1)c2=s1,m2=A1;else break}if(a1=M0+s2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,s2=a1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[q>>2]|0,E0=(Q0|0)>2,!E0)return a=Z,a|0;for(y0=o+1032|0,w0=o+780|0,$2=2;;){if(I1=$2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=Z+(p1<<2)|0,R1=e[_1>>2]|0,F1=Z+(L1<<2)|0,U1=e[F1>>2]|0,D1=(m+836|0)+($2<<2)|0,Z1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,J1=x1-G1|0,q1=b1-v1|0,e2=(J1|0)>-1,t2=0-J1|0,H1=e2?J1:t2,Y1=Z1-v1|0,V1=n5(H1,Y1)|0,X1=(V1|0)/(q1|0)&-1,o2=(J1|0)<0,O1=0-X1|0,g=o2?O1:X1,$=g+G1|0,u2=e[u0>>2]|0,W1=u2-$|0,I2=Z+($2<<2)|0,a2=e[I2>>2]|0,C2=(a2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{A2=(W1|0)<($|0),K1=A2?W1:$,d2=K1<<1,l2=(a2|0)<(d2|0);do if(l2)if(b=a2&1,v=(b|0)==0,v){x=a2>>1,k2=x;break}else{w=a2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=a2-$|0,k2=Q;break}else{B=a2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[I2>>2]=R,F=e[Q1>>2]|0,T=Z+(F<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,Y=e[k1>>2]|0,e0=Z+(Y<<2)|0,J=e[e0>>2]|0,a0=J&32767,e[e0>>2]=a0}if(s0=$2+1|0,V=e[q>>2]|0,o0=(s0|0)<(V|0),o0)$2=s0;else{a=Z;break}}return a|0}function lb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,K=e[M>>2]|0,$0=K+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,g1=t+28|0,m1=e[g1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return h1=B<<2,g4($|0,0,h1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=n5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,T=e[F>>2]|0,N=(T|0)>1,N)for(G=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=G+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,V=e[s0>>2]|0,o0=V&32767,q=(o0|0)==(V|0),q)if(h0=(I+836|0)+(r0<<2)|0,t0=e[h0>>2]|0,Z=n5(w,V)|0,u0=(Z|0)<0,c0=(Z|0)>255,l0=c0?255:Z,W=u0?0:l0,m0=W-k1|0,g0=t0-B1|0,E1=(m0|0)>-1,M1=0-m0|0,f0=E1?m0:M1,n0=(m0|0)/(g0|0)&-1,d0=m0>>31,p0=d0|1,C0=n5(n0,g0)|0,I1=(C0|0)>-1,b1=0-C0|0,S0=I1?C0:b1,b0=f0-S0|0,E0=(B|0)>(t0|0),_1=E0?t0:B,y0=(_1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,W0=+s[_0>>2],M0=W0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(_1|0),T0)for(K0=v0,d1=0,R1=k1;;)if(P0=d1+b0|0,q0=(P0|0)<(g0|0),k0=q0?0:p0,z0=q0?0:g0,u1=P0-z0|0,d=R1+n0|0,F1=d+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(K0<<2)|0,J0=+s[G0>>2],H0=J0*L0,s[G0>>2]=H0,O0=K0+1|0,c1=(O0|0)==(_1|0),c1){j0=t0,w1=t0,L1=W;break}else K0=O0,d1=u1,R1=F1;else j0=t0,w1=t0,L1=W;else j0=$1,w1=B1,L1=k1;if(Y0=Q1+1|0,s1=(Y0|0)<(T|0),s1)$1=j0,Q1=Y0,B1=w1,k1=L1;else{a1=j0,v1=L1;break}}else a1=0,v1=R;if(Y=(a1|0)<(B|0),!Y)return g=1,g|0;for(e0=1768+(v1<<2)|0,J=+s[e0>>2],p1=a1;;)if(V0=$+(p1<<2)|0,i1=+s[V0>>2],x0=i1*J,s[V0>>2]=x0,o1=p1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else p1=o1;return g|0}function cb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$-d|0,m|0}function gb(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function ub(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0;u0=C,g=il(o|0)|0,d=il(a|0)|0,y=g+2|0,J=y+d|0,$=J,K=C,C=C+((1*$|0)+15&-16)|0,bC(K|0,o|0)|0,t0=il(K|0)|0,h0=K+t0|0,f[h0>>0]=61,f[h0+1>>0]=0,NQ(K|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,V=e[s0>>2]|0,o0=V<<2,q=o0+8|0,m=J7(r0,q)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=J7(E,S)|0,e[I>>2]=b,v=il(K|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=M9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,T=F+(w<<2)|0,N=e[T>>2]|0,bC(N|0,K|0)|0,G=e[s0>>2]|0,Y=G+1|0,e[s0>>2]=Y,e0=e[t>>2]|0,a0=e0+(Y<<2)|0,e[a0>>2]=0,C=u0}function hb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0;if(J=C,g=(t|0)==0,!g){if(d=e[t>>2]|0,y=(d|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,T=d,Y=0;F=T+(Y<<2)|0,N=e[F>>2]|0,G=(N|0)==0,G?E=x:(E2(N),a=e[M>>2]|0,E=a),m=Y+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,T=o,Y=m;$=e[t>>2]|0,Q=$}else Q=d;E2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||E2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function db(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=le(1,3664)|0,a=t+28|0,e[a>>2]=o}function wC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,d=t+28|0,m=e[d>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(d1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?S=d1:(E2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)d1=S,$1=Q;if(T0=m+12|0,H0=e[T0>>2]|0,m1=(H0|0)>0,m1)for(u1=H0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?J=u1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,T=e[F>>2]|0,N=T+8|0,G=e[N>>2]|0,as[G&7](y),a=e[T0>>2]|0,J=a),Y=j0+1|0,e0=(Y|0)<(J|0),e0;)u1=J,j0=Y;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;V=(m+1056|0)+(E1<<2)|0,o0=e[V>>2]|0,q=(o0|0)==0,q?g0=A1:(h0=(m+800|0)+(E1<<2)|0,t0=e[h0>>2]|0,Z=25640+(t0<<2)|0,u0=e[Z>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[b>>2]|0,g0=$),W=E1+1|0,m0=(W|0)<(g0|0),m0;)A1=g0,E1=W;if(K=m+20|0,r0=e[K>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=c1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,W0=e[_0>>2]|0,as[W0&7](Q0),g=e[K>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)c1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,d0=(n0|0)>0,p0=m+2848|0,d0)for(Q1=0;P0=(m+1824|0)+(Q1<<2)|0,q0=e[P0>>2]|0,k0=(q0|0)==0,k0||SC(q0),z0=e[p0>>2]|0,F0=(z0|0)==0,F0||(L0=z0+(Q1*56|0)|0,zb(L0)),G0=Q1+1|0,K0=e[f0>>2]|0,J0=(G0|0)<(K0|0),J0;)Q1=G0;if(Z0=e[p0>>2]|0,O0=(Z0|0)==0,O0||E2(Z0),Y0=m+28|0,s1=e[Y0>>2]|0,V0=(s1|0)>0,V0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,vb(x0),o1=p1+1|0,h1=e[Y0>>2]|0,g1=(o1|0)<(h1|0),g1;)p1=o1;E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function fb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0;if(j2=C,C=C+32|0,T1=j2,E=t+4|0,Q=e[E>>2]|0,c1=t+104|0,k1=e[c1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,d=-129,C=j2,d|0;if(u2=Q+4|0,r2=e[u2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(EC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,V=(F|0)<64,V)D5=-130,l5=27;else if(m0=B5+4|0,y0=e[m0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{q2(T1,1,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),q2(T1,0,32),s1=e[u2>>2]|0,q2(T1,s1,8),d1=Q+8|0,u1=e[d1>>2]|0,q2(T1,u1,32),A1=Q+12|0,a1=e[A1>>2]|0,q2(T1,a1,32),$1=Q+16|0,j0=e[$1>>2]|0,q2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,q2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=q8(p1)|0,q2(T1,B1,4),w1=e[m0>>2]|0,v1=w1+-1|0,L1=q8(v1)|0,q2(T1,L1,4),q2(T1,1,1),M1=k1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=b8(T1)|0,F1=M9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=b8(T1)|0,ce(F1|0,D1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=b8(T1)|0,J1=a+4|0,e[J1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),Ib(T1,o),Y1=k1+68|0,V1=e[Y1>>2]|0,X1=(V1|0)==0,X1||E2(V1),o2=b8(T1)|0,j1=M9(o2)|0,e[Y1>>2]=j1,O1=e[U1>>2]|0,W1=b8(T1)|0,ce(j1|0,O1|0,W1|0)|0,I2=e[Y1>>2]|0,e[$>>2]=I2,a2=b8(T1)|0,C2=$+4|0,e[C2>>2]=a2,A2=$+8|0,K1=$+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,d2=K1,l2=d2,e[l2>>2]=1,i2=d2+4|0,c2=i2,e[c2>>2]=0,mi(T1),$2=e[N1>>2]|0,e2=($2|0)==0;e:do if(!e2){if(q2(T1,5,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),s2=$2+24|0,m2=e[s2>>2]|0,t2=m2+-1|0,q2(T1,t2,8),k2=e[s2>>2]|0,D2=(k2|0)>0,D2)for(V2=0;;){if(P2=($2+1824|0)+(V2<<2)|0,p2=e[P2>>2]|0,K2=zS(p2,T1)|0,O2=(K2|0)==0,Q2=V2+1|0,!O2)break e;if(S2=e[s2>>2]|0,G2=(Q2|0)<(S2|0),G2)V2=Q2;else break}if(q2(T1,0,6),q2(T1,0,16),z2=$2+16|0,U2=e[z2>>2]|0,H2=U2+-1|0,q2(T1,H2,6),W2=e[z2>>2]|0,A5=(W2|0)>0,A5)for(p5=0;;){if(Y2=($2+800|0)+(p5<<2)|0,e5=e[Y2>>2]|0,q2(T1,e5,16),F5=e[Y2>>2]|0,t5=25640+(F5<<2)|0,_5=e[t5>>2]|0,Z2=e[_5>>2]|0,I5=(Z2|0)==0,I5)break e;if(b5=($2+1056|0)+(p5<<2)|0,Y5=e[b5>>2]|0,LC[Z2&3](Y5,T1),g5=p5+1|0,b2=e[z2>>2]|0,o5=(g5|0)<(b2|0),o5)p5=g5;else break}if(R2=$2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,q2(T1,y2,6),Q5=e[R2>>2]|0,T5=(Q5|0)>0,T5)for($5=0;m5=($2+1312|0)+($5<<2)|0,x5=e[m5>>2]|0,q2(T1,x5,16),q5=e[m5>>2]|0,L5=25648+(q5<<2)|0,S=e[L5>>2]|0,b=e[S>>2]|0,v=($2+1568|0)+($5<<2)|0,w=e[v>>2]|0,LC[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=$2+12|0,L=e[M>>2]|0,R=L+-1|0,q2(T1,R,6),T=e[M>>2]|0,N=(T|0)>0,N)for(u5=0;G=($2+288|0)+(u5<<2)|0,Y=e[G>>2]|0,q2(T1,Y,16),e0=e[G>>2]|0,J=25664+(e0<<2)|0,a0=e[J>>2]|0,K=e[a0>>2]|0,r0=($2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,HQ[K&1](Q,s0,T1),o0=u5+1|0,q=e[M>>2]|0,h0=(o0|0)<(q|0),h0;)u5=o0;if(t0=$2+8|0,Z=e[t0>>2]|0,u0=Z+-1|0,q2(T1,u0,6),c0=e[t0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=($2+32|0)+(y5<<2)|0,W=e[l0>>2]|0,g0=e[W>>2]|0,q2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,d0=e[n0>>2]|0,q2(T1,d0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,q2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,q2(T1,E0,8),w0=y5+1|0,B0=e[t0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return q2(T1,1,1),W0=k1+72|0,M0=e[W0>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=b8(T1)|0,N0=M9(T0)|0,e[W0>>2]=N0,P0=e[U1>>2]|0,q0=b8(T1)|0,ce(N0|0,P0|0,q0|0)|0,z0=e[W0>>2]|0,e[g>>2]=z0,F0=b8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,K0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,J0=K0,H0=J0,e[H0>>2]=2,Z0=J0+4|0,O0=Z0,e[O0>>2]=0,CC(T1),d=0,C=j2,d|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,h5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,h5=D5),CC(T1),Y0=e[I>>2]|0,V0=(Y0|0)==0,V0||E2(Y0),i1=k1+68|0,x0=e[i1>>2]|0,o1=(x0|0)==0,o1||E2(x0),h1=k1+72|0,g1=e[h1>>2]|0,m1=(g1|0)==0,m1||E2(g1),e[I>>2]=0,e[i1>>2]=0,e[h1>>2]=0,d=h5,C=j2,d|0}function Ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0;for($0=C,q2(t,3,8),q2(t,118,8),q2(t,111,8),q2(t,114,8),q2(t,98,8),q2(t,105,8),q2(t,115,8),q2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,K=M<<24>>24,q2(t,K,8),V=(m|0)==0,!V;)a=I,g=m;if(o0=o+8|0,q=e[o0>>2]|0,q2(t,q,32),h0=e[o0>>2]|0,t0=(h0|0)>0,!t0){q2(t,1,1);return}for(Z=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)q2(t,0,32);else if(b=e[Z>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,q2(t,w,32),D=e[Z>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,T=e[F>>2]|0,$=T,d=x;N=d+-1|0,G=$+1|0,Y=f[$>>0]|0,e0=Y<<24>>24,q2(t,e0,8),J=(N|0)==0,!J;)$=G,d=N;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}q2(t,1,1)}function IQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0;if(V1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,W=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)N=0;else{for(q0=$;;){if(Y0=(q0|0)<(a|0),Y0)for(Q1=0,R1=q0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-q0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(q0<<3)|0,l1[M>>3]=I1,L=q0+-1|0,F=(q0|0)==0,F)break;q0=L}I=+l1[R>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,Y=G+1e-10,e0=($|0)>0,e0)B1=T,F1=0;else return k1=T,j0=k1,C=V1,+j0;for(;;){if(D1=F1+1|0,J=B1>3],q=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=q;;)if(u0=W+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,f0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=f0;break}else P1=n0,q1=f0;if(d0=m/B1,p0=W+(F1<<3)|0,l1[p0>>3]=d0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=W+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=W+(B0<<3)|0,W0=+l1[_0>>3],M0=W0*d0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*d0,N0=+l1[_0>>3],P0=N0+T0,l1[_0>>3]=P0,k0=G1+1|0,z0=(k0|0)<(C0|0),z0;)G1=k0;H1=b0?C0:1,H0=d0,Z1=H1}else H0=d0,Z1=0}else t0=q/B1,Z=W+(F1<<3)|0,l1[Z>>3]=t0,H0=t0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=W+(Z1<<3)|0,K0=+l1[G0>>3],J0=K0*H0,Z0=J0+K0,l1[G0>>3]=Z0),O0=H0*H0,s1=1-O0,V0=s1*B1,i1=(D1|0)<($|0),i1)B1=V0,F1=D1;else{v1=V0;break}}if((Y1|0)==8&&(a0=W+(U1<<3)|0,K=$-U1|0,r0=K<<3,g4(a0|0,0,r0|0)|0,v1=w1),e0)p1=.99,x1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;x0=W+(x1<<3)|0,o1=+l1[x0>>3],h1=o1*p1,l1[x0>>3]=h1,g1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=g1,x1=m1;if(e0)J1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;;)if(d1=W+(J1<<3)|0,u1=+l1[d1>>3],c1=u1,a1=o+(J1<<2)|0,s[a1>>2]=c1,$1=J1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else J1=$1;return j0=k1,C=V1,+j0}function mQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0;if(Z=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,F=(o|0)==0,T=(a|0)>0,F?T&&(G=a<<2,g4(L|0,0,G|0)|0):T&&(N=a<<2,ce(L|0,o|0,N|0)|0),Y=(g|0)>0,!Y){C=Z;return}if(e0=(a|0)>0,e0)r0=0,s0=a;else{J=g<<2,g4(L|0,0,J|0)|0,g4($|0,0,J|0)|0,C=Z;return}for(;;){for(o0=r0,q=a,h0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=q+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=h0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,q=D,h0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,V=s0+1|0,K=(S|0)==(g|0),K)break;r0=S,s0=V}C=Z}function mb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,d=(g|0)>1,d?(q2(a,1,1),y=e[o>>2]|0,J=y+-1|0,q2(a,J,4)):q2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(q2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,q2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=q8(v)|0,q2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=q8(L)|0,q2(a,x,R),F=E0+1|0,T=e[u0>>2]|0,N=(F|0)<(T|0),N;)E0=F}else q2(a,0,1);if(q2(a,0,2),G=e[o>>2]|0,Y=(G|0)>1,Y){if(e0=t+4|0,a0=e[e0>>2]|0,K=(a0|0)>0,K){for(r0=o+4|0,y0=0;h0=r0+(y0<<2)|0,t0=e[h0>>2]|0,q2(a,t0,4),Z=y0+1|0,c0=e[e0>>2]|0,$0=(Z|0)<(c0|0),$0;)y0=Z;$=e[o>>2]|0,s0=$,B0=13}}else s0=G,B0=13;if(!((B0|0)==13&&(V=(s0|0)>0,!V)))for(o0=o+1028|0,q=o+1092|0,w0=0;q2(a,0,8),l0=o0+(w0<<2)|0,W=e[l0>>2]|0,q2(a,W,8),m0=q+(w0<<2)|0,g0=e[m0>>2]|0,q2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,d0=(f0|0)<(n0|0),d0;)w0=f0}function pb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0;a1=C,g=le(1,3208)|0,d=t+28|0,y=e[d>>2]|0,g4(g|0,0,3208)|0,J=t+4|0,u0=e[J>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=i4(o,1)|0,J0=(v0|0)<0,J0)c1=24;else{if(V0=(v0|0)==0,V0)e[g>>2]=1;else if(i1=i4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=i4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=i4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[J>>2]|0,T=$,x0=0;;){if(F=T+-1|0,N=q8(F)|0,G=i4(o,N)|0,Y=D+(x0<<2)|0,e[Y>>2]=G,e0=e[J>>2]|0,a0=e0+-1|0,K=q8(a0)|0,r0=i4(o,K)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,V=r0|G,o0=(V|0)<0,q=(G|0)==(r0|0),g1=q|o0,g1||(h0=e[J>>2]|0,t0=(G|0)<(h0|0),Z=(r0|0)<(h0|0),m1=t0&Z,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)T=h0,x0=L;else break}}if(c0=i4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,W=(l0|0)>1,W){if(m0=e[J>>2]|0,g0=(m0|0)>0,g0)for(f0=g+4|0,o1=0;;){if(B0=i4(o,4)|0,_0=f0+(o1<<2)|0,e[_0>>2]=B0,W0=e[g>>2]|0,M0=(B0|0)>=(W0|0),T0=(B0|0)<0,d1=T0|M0,y0=o1+1|0,d1)break e;if(E0=e[J>>2]|0,w0=(y0|0)<(E0|0),w0)o1=y0;else{n0=W0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(d0=(n0|0)>0,!d0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,h1=0;;){if(i4(o,8)|0,k0=i4(o,8)|0,z0=p0+(h1<<2)|0,e[z0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,u1=G0|L0,u1||(K0=i4(o,8)|0,H0=Q0+(h1<<2)|0,e[H0>>2]=K0,Z0=e[b0>>2]|0,O0=(K0|0)>=(Z0|0),Y0=(K0|0)<0,A1=Y0|O0,P0=h1+1|0,A1))break e;if(N0=e[g>>2]|0,q0=(P0|0)<(N0|0),q0)h1=P0;else{a=g;break}}return a|0}}}while(!1);return(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function Eb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Cb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,V8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,wr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,rr=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,nr=0,Dr=0,K7=0,_r=0,mo=0,W7=0,b7=0,D7=0,i7=0,_7=0,xr=0,or=0,sr=0,Lr=0,E7=0,Os=0,fi=0,nl=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,V3=e[i2>>2]|0,Te=V3+28|0,Ze=e[Te>>2]|0,Bs=M+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,hn=e[Ms>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=V3+4|0,b0=e[l0>>2]|0,P0=b0<<2,$=P0,O0=C,C=C+((1*$|0)+15&-16)|0,u1=K8(t,P0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=K8(t,P1)|0,c2=e[l0>>2]|0,G2=c2<<2,Y2=K8(t,G2)|0,b2=hn+4|0,L5=+s[b2>>2],h2=e[l0>>2]|0,F2=h2<<2,g=F2,N5=C,C=C+((1*g|0)+15&-16)|0,N3=hn+8|0,G5=e[N3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,K3=(Ze+544|0)+(f6<<2)|0,A6=e[K3>>2]|0,U6=m7+56|0,C9=e[U6>>2]|0,ye=(f6|0)!=0,ue=ye?2:0,D=ue+G5|0,he=C9+(D*52|0)|0,ze=t+40|0,e[ze>>2]=f6,h4=(h2|0)>0,h4)for(fe=+(r0|0),W3=4/fe,m8=(s[w2>>2]=W3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),be=ct*7177114298428933e-22,j4=be+-764.6162109375,c8=j4,l4=c8+.345,$i=l4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,z8=$i+-764.6162109375,nn=r0+-1|0,us=(nn|0)>1,eo=$i+-382.30810546875,_r=L5,W7=0;;){if(Qs=e[t>>2]|0,ln=Qs+(W7<<2)|0,I7=e[ln>>2]|0,ro=K8(t,Lt)|0,ys=j1+(W7<<2)|0,e[ys>>2]=ro,ws=K8(t,Lt)|0,no=u1+(W7<<2)|0,e[no>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,tD(I7,li,Ze,oo,so,vs),cn=e[j5>>2]|0,ks=(m7+12|0)+(cn<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[no>>2]|0,pQ(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,Wb(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=z8+$o,Fs=Rs,gn=Fs+.345,kr=gn,s[I7>>2]=kr,un=N5+(W7<<2)|0,s[un>>2]=kr,us)for(Y=kr,xr=1;;)if(Ts=I7+(xr<<2)|0,rr=+s[Ts>>2],Ns=rr*rr,lo=xr+1|0,co=I7+(lo<<2)|0,dn=+s[co>>2],Gs=dn*dn,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,Sr=Ps,R=Sr+.345,F=R,T=lo>>1,N=I7+(T<<2)|0,s[N>>2]=F,G=F>Y,G?(s[un>>2]=F,vr=F):vr=Y,e0=xr+2|0,J=(e0|0)<(nn|0),J)Y=vr,xr=e0;else{K=vr;break}else K=kr;if(a0=K>0,a0?(s[un>>2]=0,V=0):V=K,s0=V>_r,mo=s0?V:_r,o0=W7+1|0,q=e[l0>>2]|0,h0=(o0|0)<(q|0),h0)_r=mo,W7=o0;else{Q=Lt,S=_t,K7=mo;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,K7=L5;t0=K8(t,Q)|0,Z=K8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,W=m7+48|0,$0)D7=0;else{for(b7=0;;){o6=(A6+4|0)+(b7<<2)|0,C6=e[o6>>2]|0,J3=u1+(b7<<2)|0,R3=e[J3>>2]|0,e6=e[t>>2]|0,R6=e6+(b7<<2)|0,l6=e[R6>>2]|0,o3=l6+(S<<2)|0,e[ze>>2]=f6,J6=K8(t,60)|0,A3=Y2+(b7<<2)|0,e[A3>>2]=J6,fi=J6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));if(QQ(he,o3,t0),c6=N5+(b7<<2)|0,B6=+s[c6>>2],yQ(he,l6,Z,K7,B6),tl(he,t0,Z,1,l6,R3,o3),F3=(A6+1028|0)+(C6<<2)|0,H6=e[F3>>2]|0,D6=(Ze+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[W>>2]|0,X6=Q6+(H6<<2)|0,U3=e[X6>>2]|0,r9=el(t,U3,o3,l6)|0,Y6=e[A3>>2]|0,o9=Y6+28|0,e[o9>>2]=r9,g9=Tu(t)|0,V6=(g9|0)==0,V6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(tl(he,t0,Z,2,l6,R3,o3),P3=e[F3>>2]|0,O6=e[W>>2]|0,s9=O6+(P3<<2)|0,h9=e[s9>>2]|0,n9=el(t,h9,o3,l6)|0,B9=e[A3>>2]|0,Q9=B9+56|0,e[Q9>>2]=n9,tl(he,t0,Z,0,l6,R3,o3),d9=e[F3>>2]|0,f9=e[W>>2]|0,Y9=f9+(d9<<2)|0,y6=e[Y9>>2]|0,q6=el(t,y6,o3,l6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,V9=e[F3>>2]|0,y9=e[W>>2]|0,ge=y9+(V9<<2)|0,pe=e[ge>>2]|0,z9=e[A3>>2]|0,re=e[z9>>2]|0,R9=z9+28|0,w9=e[R9>>2]|0,K6=Gt(t,pe,re,w9,9362)|0,A9=e[A3>>2]|0,we=A9+4|0,e[we>>2]=K6,Me=e[F3>>2]|0,D9=e[W>>2]|0,Re=D9+(Me<<2)|0,Fe=e[Re>>2]|0,Ge=e[A3>>2]|0,qe=e[Ge>>2]|0,r4=Ge+28|0,ve=e[r4>>2]|0,He=Gt(t,Fe,qe,ve,18724)|0,J9=e[A3>>2]|0,Ye=J9+8|0,e[Ye>>2]=He,Ue=e[F3>>2]|0,Ee=e[W>>2]|0,w4=Ee+(Ue<<2)|0,Z9=e[w4>>2]|0,v9=e[A3>>2]|0,v4=e[v9>>2]|0,Y4=v9+28|0,nt=e[Y4>>2]|0,Ve=Gt(t,Z9,v4,nt,28086)|0,V4=e[A3>>2]|0,n4=V4+12|0,e[n4>>2]=Ve,R4=e[F3>>2]|0,ot=e[W>>2]|0,ne=ot+(R4<<2)|0,u4=e[ne>>2]|0,Ce=e[A3>>2]|0,T6=e[Ce>>2]|0,Je=Ce+28|0,O9=e[Je>>2]|0,de=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,d4=oe+16|0,e[d4>>2]=de,f4=e[F3>>2]|0,ke=e[W>>2]|0,o4=ke+(f4<<2)|0,Pe=e[o4>>2]|0,I4=e[A3>>2]|0,k9=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,k4=Gt(t,Pe,k9,z4,46811)|0,Se=e[A3>>2]|0,Ie=Se+20|0,e[Ie>>2]=k4,z6=e[F3>>2]|0,F4=e[W>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,me=e[A3>>2]|0,xe=e[me>>2]|0,mt=me+28|0,_9=e[mt>>2]|0,S9=Gt(t,st,xe,_9,56173)|0,Oe=e[A3>>2]|0,s4=Oe+24|0,e[s4>>2]=S9,d8=e[F3>>2]|0,N4=e[W>>2]|0,f8=N4+(d8<<2)|0,D8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,D8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,_8=e[F3>>2]|0,Ht=e[W>>2]|0,Yt=Ht+(_8<<2)|0,Vt=e[Yt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Jt=xt+56|0,r8=e[Jt>>2]|0,n8=Gt(t,Vt,zt,r8,18724)|0,Et=e[A3>>2]|0,J4=Et+36|0,e[J4>>2]=n8,G4=e[F3>>2]|0,at=e[W>>2]|0,x9=at+(G4<<2)|0,p8=e[x9>>2]|0,S4=e[A3>>2]|0,E8=S4+28|0,x8=e[E8>>2]|0,o8=S4+56|0,L8=e[o8>>2]|0,a4=Gt(t,p8,x8,L8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=a4,At=e[F3>>2]|0,Ke=e[W>>2]|0,U4=Ke+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,Qt=e[A3>>2]|0,p4=Qt+44|0,e[p4>>2]=Bt,b4=e[F3>>2]|0,K4=e[W>>2]|0,W4=K4+(b4<<2)|0,ae=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,D4=P4+56|0,yt=e[D4>>2]|0,a8=Gt(t,ae,gt,yt,46811)|0,We=e[A3>>2]|0,E3=We+48|0,e[E3>>2]=a8,Z4=e[F3>>2]|0,wt=e[W>>2]|0,A4=wt+(Z4<<2)|0,j9=e[A4>>2]|0,$4=e[A3>>2]|0,F9=$4+28|0,Wt=e[F9>>2]|0,C8=$4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=b7+1|0,ut=e[l0>>2]|0,ht=(jt|0)<(ut|0),ht)b7=jt;else{B=W,Tt=ut;break e}}return C=In,a|0}for(;;){N6=(A6+4|0)+(D7<<2)|0,C0=e[N6>>2]|0,j6=u1+(D7<<2)|0,d0=e[j6>>2]|0,v6=e[t>>2]|0,M3=v6+(D7<<2)|0,n0=e[M3>>2]|0,m0=n0+(S<<2)|0,e[ze>>2]=f6,n6=K8(t,60)|0,v0=Y2+(D7<<2)|0,e[v0>>2]=n6,fi=n6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));for(or=0;i6=d0+(or<<2)|0,L3=e[i6>>2]|0,h3=L3&2147483647,z3=+(h3>>>0),d6=z3*7177114298428933e-22,m3=d6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,y=or+S|0,S6=n0+(y<<2)|0,s[S6>>2]=M6,r6=or+1|0,b6=(r6|0)<(S|0),b6;)or=r6;if(QQ(he,m0,t0),g0=N5+(D7<<2)|0,f0=+s[g0>>2],yQ(he,n0,Z,K7,f0),tl(he,t0,Z,1,n0,d0,m0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(Ze+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[W>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,W0=el(t,_0,m0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=W0,N0=Tu(t)|0,q0=(N0|0)==0,q0||(k0=e[v0>>2]|0,z0=k0+28|0,F0=e[z0>>2]|0,L0=(F0|0)==0,L0||(tl(he,t0,Z,2,n0,d0,m0),G0=e[p0>>2]|0,K0=e[W>>2]|0,J0=K0+(G0<<2)|0,H0=e[J0>>2]|0,Z0=el(t,H0,m0,n0)|0,Y0=e[v0>>2]|0,s1=Y0+56|0,e[s1>>2]=Z0,tl(he,t0,Z,0,n0,d0,m0),V0=e[p0>>2]|0,i1=e[W>>2]|0,x0=i1+(V0<<2)|0,o1=e[x0>>2]|0,h1=el(t,o1,m0,n0)|0,g1=e[v0>>2]|0,e[g1>>2]=h1,m1=e[p0>>2]|0,d1=e[W>>2]|0,A1=d1+(m1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,j0=a1+28|0,E1=e[j0>>2]|0,I1=Gt(t,c1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[W>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,Z1=e[p0>>2]|0,G1=e[W>>2]|0,x1=G1+(Z1<<2)|0,J1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,Y1=q1+28|0,V1=e[Y1>>2]|0,X1=Gt(t,J1,H1,V1,28086)|0,o2=e[v0>>2]|0,O1=o2+12|0,e[O1>>2]=X1,u2=e[p0>>2]|0,W1=e[W>>2]|0,I2=W1+(u2<<2)|0,a2=e[I2>>2]|0,C2=e[v0>>2]|0,A2=e[C2>>2]|0,K1=C2+28|0,d2=e[K1>>2]|0,l2=Gt(t,a2,A2,d2,37449)|0,r2=e[v0>>2]|0,$2=r2+16|0,e[$2>>2]=l2,e2=e[p0>>2]|0,s2=e[W>>2]|0,m2=s2+(e2<<2)|0,t2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,P2=e[v0>>2]|0,p2=P2+20|0,e[p2>>2]=L2,K2=e[p0>>2]|0,O2=e[W>>2]|0,z2=O2+(K2<<2)|0,U2=e[z2>>2]|0,H2=e[v0>>2]|0,W2=e[H2>>2]|0,A5=H2+28|0,N1=e[A5>>2]|0,e5=Gt(t,U2,W2,N1,56173)|0,F5=e[v0>>2]|0,t5=F5+24|0,e[t5>>2]=e5,_5=e[p0>>2]|0,Z2=e[W>>2]|0,I5=Z2+(_5<<2)|0,b5=e[I5>>2]|0,Y5=e[v0>>2]|0,g5=Y5+28|0,B5=e[g5>>2]|0,o5=Y5+56|0,R2=e[o5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,T5=e[p0>>2]|0,m5=e[W>>2]|0,x5=m5+(T5<<2)|0,q5=e[x5>>2]|0,V2=e[v0>>2]|0,p5=V2+28|0,$5=e[p5>>2]|0,u5=V2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,h5=D5+36|0,e[h5>>2]=T1,l5=e[p0>>2]|0,j2=e[W>>2]|0,w5=j2+(l5<<2)|0,i5=e[w5>>2]|0,s5=e[v0>>2]|0,d5=s5+28|0,J2=e[d5>>2]|0,f5=s5+56|0,r5=e[f5>>2]|0,M5=Gt(t,i5,J2,r5,28086)|0,X2=e[v0>>2]|0,c5=X2+40|0,e[c5>>2]=M5,v5=e[p0>>2]|0,z5=e[W>>2]|0,i3=z5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,d3=I3+28|0,W5=e[d3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,W5,a3,37449)|0,Z5=e[v0>>2]|0,_3=Z5+44|0,e[_3>>2]=B3,f3=e[p0>>2]|0,w3=e[W>>2]|0,X3=w3+(f3<<2)|0,q3=e[X3>>2]|0,X5=e[v0>>2]|0,D3=X5+28|0,t3=e[D3>>2]|0,s6=X5+56|0,H3=e[s6>>2]|0,c3=Gt(t,q3,t3,H3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,J5=e[W>>2]|0,H5=J5+(Q3<<2)|0,V5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,G3=Gt(t,V5,$6,l3,56173)|0,E6=e[v0>>2]|0,S3=E6+52|0,e[S3>>2]=G3)),x3=D7+1|0,b3=e[l0>>2]|0,a6=(x3|0)<(b3|0),a6)D7=x3;else{B=W,Tt=b3;break e}}return C=In,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=K7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,m=Ft,b9=C,C=C+((1*m|0)+15&-16)|0,g8=Tu(t)|0,et=(g8|0)!=0,H8=et?0:7,W8=m7+44|0,M8=t+24|0,u8=t+32|0,R8=Ze+2868|0,Y8=m7+52|0,E7=H8;;){if(Z8=(hn+12|0)+(E7<<2)|0,dt=e[Z8>>2]|0,q2(dt,0,1),Nt=e[W8>>2]|0,q2(dt,f6,Nt),F8=e[j5>>2]|0,Xt=(F8|0)==0,Xt||(O4=e[M8>>2]|0,q2(dt,O4,1),C4=e[u8>>2]|0,q2(dt,C4,1)),Ae=e[l0>>2]|0,T8=(Ae|0)>0,T8)for(i7=0;;)if(qi=(A6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Yi=j1+(i7<<2)|0,Ei=e[Yi>>2]|0,j8=(A6+1028|0)+(Hi<<2)|0,Ci=e[j8>>2]|0,X8=e[B>>2]|0,Bi=X8+(Ci<<2)|0,ei=e[Bi>>2]|0,Qi=Y2+(i7<<2)|0,g7=e[Qi>>2]|0,Vi=g7+(E7<<2)|0,yi=e[Vi>>2]|0,wi=rb(dt,t,ei,yi,Ei)|0,u7=O0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,h7=(vi|0)<(ci|0),h7)i7=vi;else{I=ci;break}else I=Ae;if(zi=e[j5>>2]|0,Ji=((Ze+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ji>>2]|0,bb(E7,R8,he,A6,u1,j1,O0,Wi,I),gi=e[A6>>2]|0,ki=(gi|0)>0,ki)for(_7=0;;){if(Zi=(A6+1092|0)+(_7<<2)|0,ti=e[Zi>>2]|0,ui=e[l0>>2]|0,V8=(ui|0)>0,V8)for($n=ui,p7=0,sr=0;;)if(ii=(A6+4|0)+(sr<<2)|0,d7=e[ii>>2]|0,ji=(d7|0)==(_7|0),ji?(Si=b9+(p7<<2)|0,Xi=O0+(sr<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,Di=j1+(sr<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ri=X4+(p7<<2)|0,e[ri>>2]=e7,E=e[l0>>2]|0,hi=E,fn=_i):(hi=$n,fn=p7),xi=sr+1|0,t7=(xi|0)<(hi|0),t7)$n=hi,p7=fn,sr=xi;else{Io=fn;break}else Io=0;if(Li=(Ze+1312|0)+(ti<<2)|0,_4=e[Li>>2]|0,Mi=25648+(_4<<2)|0,N8=e[Mi>>2]|0,di=N8+20|0,$9=e[di>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ti<<2)|0,Q8=e[vt>>2]|0,G8=MC[$9&7](t,Q8,X4,b9,Io)|0,wr=e[l0>>2]|0,As=(wr|0)>0,As)for(nr=0,Lr=0;;)if(zn=(A6+4|0)+(Lr<<2)|0,$s=e[zn>>2]|0,Jn=($s|0)==(_7|0),Jn?(ls=j1+(Lr<<2)|0,cs=e[ls>>2]|0,Kn=nr+1|0,gs=X4+(nr<<2)|0,e[gs>>2]=cs,Dr=Kn):Dr=nr,on=Lr+1|0,hs=(on|0)<(wr|0),hs)nr=Dr,Lr=on;else{br=Dr;break}else br=0;if(ds=e[Li>>2]|0,Wn=25648+(ds<<2)|0,fs=e[Wn>>2]|0,Zn=fs+24|0,jn=e[Zn>>2]|0,Is=e[Y8>>2]|0,sn=Is+(ti<<2)|0,Xn=e[sn>>2]|0,YQ[jn&3](dt,t,Xn,X4,b9,br,G8,_7)|0,an=_7+1|0,to=e[A6>>2]|0,ms=(an|0)<(to|0),ms)_7=an;else break}if(ps=E7+1|0,Es=Tu(t)|0,An=(Es|0)!=0,io=An?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=In,a|0}function Bb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,V1=F1+28|0,K1=e[V1>>2]|0,k2=v+104|0,U2=e[k2>>2]|0,I5=t+28|0,T5=e[I5>>2]|0,w=K1+(T5<<2)|0,Y=e[w>>2]|0,t0=t+36|0,e[t0>>2]=Y,d0=F1+4|0,W0=e[d0>>2]|0,G0=W0<<2,g=G0,o1=C,C=C+((1*g|0)+15&-16)|0,d=G0,j0=C,C=C+((1*d|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[d0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=U2+48|0,L1=Y<<1,M1=L1&2147483646,j2=0;;)if(P1=w1+(j2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,J1=(K1+800|0)+(x1<<2)|0,q1=e[J1>>2]|0,H1=25640+(q1<<2)|0,Y1=e[H1>>2]|0,X1=Y1+20|0,o2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,u2=e[O1>>2]|0,W1=pi[o2&15](t,u2)|0,I2=I1+(j2<<2)|0,e[I2>>2]=W1,a2=E1+(j2<<2)|0,X2=(W1|0)!=0,a=X2&1,e[a2>>2]=a,C2=e[t>>2]|0,A2=C2+(j2<<2)|0,d2=e[A2>>2]|0,g4(d2|0,0,M1|0)|0,l2=j2+1|0,i2=e[d0>>2]|0,c2=(l2|0)<(i2|0),c2)j2=l2;else{a1=i2;break}else a1=p1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,h2=0;t2=U1+(h2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,G2=(Q2|0)==0,L2=D1+(h2<<2)|0,P2=e[L2>>2]|0,G2?(p2=E1+(P2<<2)|0,K2=e[p2>>2]|0,O2=(K2|0)==0,O2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,z2=E1+(P2<<2)|0,e[z2>>2]=1),H2=h2+1|0,W2=(H2|0)<(_1|0),W2;)h2=H2;if(r2=e[o>>2]|0,$2=(r2|0)>0,$2){for(e2=o+1092|0,s2=U2+52|0,m2=o+4|0,A5=a1,w5=0;;){if(Y2=(A5|0)>0,Y2)for($1=A5,h5=0,f5=0;;)if(N1=m2+(f5<<2)|0,e5=e[N1>>2]|0,F5=(e5|0)==(w5|0),F5?(t5=E1+(f5<<2)|0,_5=e[t5>>2]|0,Z2=j0+(h5<<2)|0,M5=(_5|0)!=0,$=M5&1,e[Z2>>2]=$,b5=e[t>>2]|0,Y5=b5+(f5<<2)|0,g5=e[Y5>>2]|0,b2=h5+1|0,B5=o1+(h5<<2)|0,e[B5>>2]=g5,B=e[d0>>2]|0,M2=B,l5=b2):(M2=$1,l5=h5),o5=f5+1|0,R2=(o5|0)<(M2|0),R2)$1=M2,h5=l5,f5=o5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,x5=e[m5>>2]|0,q5=25648+(x5<<2)|0,L5=e[q5>>2]|0,V2=L5+28|0,p5=e[V2>>2]|0,$5=e[s2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,MC[p5&7](t,y5,o1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[d0>>2]|0,A5=Q,w5=T1}S=e[b1>>2]|0,x=S}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,T=(Y|0)/2&-1,N=(Y|0)>1,s5=x;;){if(i5=s5+-1|0,s0=L+(i5<<2)|0,V=e[s0>>2]|0,o0=R+(V<<2)|0,q=e[o0>>2]|0,h0=F+(i5<<2)|0,Z=e[h0>>2]|0,u0=R+(Z<<2)|0,c0=e[u0>>2]|0,N)for(r5=0;;){$0=q+(r5<<2)|0,l0=+s[$0>>2],W=c0+(r5<<2)|0,m0=+s[W>>2],g0=l0>0,f0=m0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-m0,s[W>>2]=n0;break}else{s[W>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=m0+l0,s[W>>2]=C0;break}else{s[W>>2]=l0,S0=l0-m0,s[$0>>2]=S0;break}while(!1);if(Q0=r5+1|0,b0=(Q0|0)<(T|0),b0)r5=Q0;else break}if(G=(s5|0)>1,G)s5=i5;else break}if(e0=e[d0>>2]|0,J=(e0|0)>0,!J)return C=F2,0;for(a0=o+4|0,K=o+1028|0,r0=U2+48|0,d5=0;;)if(y0=e[t>>2]|0,w0=y0+(d5<<2)|0,B0=e[w0>>2]|0,_0=a0+(d5<<2)|0,M0=e[_0>>2]|0,v0=K+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,P0=e[N0>>2]|0,q0=25640+(P0<<2)|0,k0=e[q0>>2]|0,z0=k0+24|0,F0=e[z0>>2]|0,L0=e[r0>>2]|0,K0=L0+(T0<<2)|0,J0=e[K0>>2]|0,H0=I1+(d5<<2)|0,Z0=e[H0>>2]|0,xC[F0&3](t,J0,Z0,B0)|0,O0=d5+1|0,Y0=e[d0>>2]|0,s1=(O0|0)<(Y0|0),s1)d5=O0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(J2=0;V0=e[t>>2]|0,i1=V0+(J2<<2)|0,x0=e[i1>>2]|0,h1=e[I5>>2]|0,g1=(U2+12|0)+(h1<<2)|0,m1=e[g1>>2]|0,d1=e[m1>>2]|0,Qb(d1,x0,x0),u1=J2+1|0,A1=e[d0>>2]|0,c1=(u1|0)<(A1|0),c1;)J2=u1;return C=F2,0}function vC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=M9($)|0,Y=a+o|0,t0=Y<<2,d0=M9(t0)|0,W0=o>>1,G0=+(o|0),o1=G0,E1=+tn(+o1),g=E1*1.4426950408889634,d=+z7(g),m=~~d,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,T=+(F|0),N=b*T,G=+rA(+N),e0=G,J=w1<<1,a0=d0+(J<<2)|0,s[a0>>2]=e0,K=+Yn(+N),r0=K,s0=-r0,V=J|1,o0=d0+(V<<2)|0,s[o0>>2]=s0,q=+(V|0),h0=y*q,Z=+rA(+h0),u0=Z,c0=J+W0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Yn(+h0),W=l0,m0=c0+1|0,g0=d0+(m0<<2)|0,s[g0>>2]=W,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+rA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=d0+(B0<<2)|0,s[_0>>2]=y0,M0=+Yn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,P0=d0+(N0<<2)|0,s[P0>>2]=T0,q0=v1+1|0,k0=(q0|0)<(x|0),k0;)v1=q0;if(z0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=J0,Q1=0,L1=0;;)if(H0=Z0&k1,O0=(H0|0)==0,Y0=1<>V0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=V0;if(h1=B1^-1,g1=L0&h1,m1=g1+-1|0,d1=k1<<1,u1=w+(d1<<2)|0,e[u1>>2]=m1,A1=d1|1,c1=w+(A1<<2)|0,e[c1>>2]=B1,a1=k1+1|0,$1=(a1|0)<(x|0),$1)k1=a1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function kC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+12|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function Qb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0;for(z3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,K2=o+($<<2)|0,g=I+j1|0,t5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,d5=u5+(j1<<2)|0,u3=d5,H5=K2,x3=t5;E5=x3+-16|0,w3=H5+8|0,E=+s[w3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,P0=+s[H5>>2],O0=u3+8|0,u1=+s[O0>>2],w1=u1*P0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],c2=+s[L>>2],k2=c2*O1,D2=+s[w3>>2],S2=+s[O0>>2],Q2=S2*D2,G2=k2-Q2,L2=x3+-12|0,s[L2>>2]=G2,P2=H5+24|0,p2=+s[P2>>2],O2=u3+4|0,z2=+s[O2>>2],U2=p2*z2,H2=-U2,W2=H5+16|0,A5=+s[W2>>2],Y2=+s[u3>>2],N1=Y2*A5,e5=H2-N1,F5=x3+-8|0,s[F5>>2]=e5,_5=+s[W2>>2],Z2=+s[O2>>2],I5=Z2*_5,b5=+s[P2>>2],Y5=+s[u3>>2],g5=Y5*b5,b2=I5-g5,B5=x3+-4|0,s[B5>>2]=b2,o5=H5+-32|0,R2=u3+16|0,y2=o5>>>0>>0,!y2;)u3=R2,H5=o5,x3=E5;for(Q5=a+(I<<2)|0,d=I+-8|0,T5=o+(d<<2)|0,Q3=d5,V5=T5,b3=t5;m5=Q3+-16|0,x5=V5+16|0,q5=+s[x5>>2],L5=Q3+-4|0,V2=+s[L5>>2],p5=V2*q5,$5=V5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],h5=D5*y5,l5=h5+p5,s[b3>>2]=l5,j2=+s[x5>>2],h2=+s[T1>>2],w5=h2*j2,i5=+s[$5>>2],s5=+s[L5>>2],J2=s5*i5,f5=w5-J2,r5=b3+4|0,s[r5>>2]=f5,M5=+s[V5>>2],X2=Q3+-12|0,c5=+s[X2>>2],F2=c5*M5,v5=V5+8|0,z5=+s[v5>>2],i3=+s[m5>>2],I3=i3*z5,d3=I3+F2,W5=b3+8|0,s[W5>>2]=d3,r3=+s[V5>>2],a3=+s[m5>>2],B3=a3*r3,N5=+s[v5>>2],Z5=+s[X2>>2],_3=Z5*N5,f3=B3-_3,X3=b3+12|0,s[X3>>2]=f3,q3=V5+-32|0,X5=b3+16|0,D3=q3>>>0>>0,!D3;)Q3=m5,V5=q3,b3=X5;for($6=t+4|0,n3=e[$6>>2]|0,EQ(n3,u5,Q5,I),l3=e[t>>2]|0,G3=e[M2>>2]|0,E6=t+12|0,S3=e[E6>>2]|0,CQ(l3,G3,S3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,J5=s6,S5=a,a6=t5,j5=t5;N3=a6+-16|0,H3=+s[S5>>2],c3=J5+4|0,g3=+s[c3>>2],Q=g3*H3,B=S5+4|0,S=+s[B>>2],b=+s[J5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[J5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],T=F*R,N=M+T,G=-N,s[j5>>2]=G,Y=S5+8|0,e0=+s[Y>>2],J=J5+12|0,a0=+s[J>>2],K=a0*e0,s0=S5+12|0,V=+s[s0>>2],o0=J5+8|0,q=+s[o0>>2],h0=q*V,t0=K-h0,Z=a6+-8|0,s[Z>>2]=t0,u0=+s[Y>>2],c0=+s[o0>>2],$0=c0*u0,W=+s[s0>>2],m0=+s[J>>2],g0=m0*W,f0=$0+g0,n0=-f0,d0=j5+4|0,s[d0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=J5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=J5+16|0,_0=+s[B0>>2],W0=_0*w0,M0=E0-W0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],q0=N0*T0,k0=+s[y0>>2],z0=+s[S0>>2],F0=z0*k0,L0=q0+F0,G0=-L0,K0=j5+8|0,s[K0>>2]=G0,J0=S5+24|0,H0=+s[J0>>2],Z0=J5+28|0,Y0=+s[Z0>>2],s1=Y0*H0,V0=S5+28|0,i1=+s[V0>>2],x0=J5+24|0,o1=+s[x0>>2],h1=o1*i1,g1=s1-h1,s[N3>>2]=g1,m1=+s[J0>>2],d1=+s[x0>>2],A1=d1*m1,c1=+s[V0>>2],a1=+s[Z0>>2],$1=a1*c1,j0=A1+$1,E1=-j0,I1=j5+12|0,s[I1>>2]=E1,Q1=j5+16|0,p1=S5+32|0,B1=J5+32|0,v1=p1>>>0>>0,v1;)J5=B1,S5=p1,a6=N3,j5=Q1;for(k1=a+(j1<<2)|0,Y3=t5,i6=k1,L3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=i6+-4|0,s[R1>>2]=_1,F1=-_1,s[L3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=D1,G1=-D1,x1=L3+4|0,s[x1>>2]=G1,J1=Y3+-12|0,q1=+s[J1>>2],H1=i6+-12|0,s[H1>>2]=q1,Y1=-q1,V1=L3+8|0,s[V1>>2]=Y1,X1=+s[M1>>2],s[L1>>2]=X1,o2=-X1,u2=L3+12|0,s[u2>>2]=o2,W1=L3+16|0,I2=W1>>>0>>0,I2)Y3=M1,i6=L1,L3=W1;else{G5=t5,V3=t5;break}for(;a2=V3+-16|0,C2=G5+12|0,A2=e[C2>>2]|0,e[a2>>2]=A2,K1=G5+8|0,d2=e[K1>>2]|0,l2=V3+-12|0,e[l2>>2]=d2,i2=G5+4|0,r2=e[i2>>2]|0,$2=V3+-8|0,e[$2>>2]=r2,e2=e[G5>>2]|0,s2=V3+-4|0,e[s2>>2]=e2,m2=G5+16|0,t2=a2>>>0>Q5>>>0,t2;)G5=m2,V3=a2}function pQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0;if(z5=C,v=e[t>>2]|0,w=v>>1,s1=v>>2,c1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,u2=G1+(w<<2)|0,g=w+s1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,e0=(c1|0)>0,e0){for(d=g+1|0,Z=o+(d<<2)|0,p0=c1+-1|0,M0=p0>>>1,K0=M0<<1,H0=w+-2|0,Z0=H0-K0|0,O0=g+-4|0,Y0=M0<<2,V0=O0-Y0|0,o5=D,x5=0,d5=r2,M5=Z;i1=d5+-16|0,x0=o5+-8|0,o1=d5+-8|0,h1=+s[o1>>2],g1=+s[M5>>2],m1=g1+h1,d1=+s[i1>>2],u1=M5+8|0,A1=+s[u1>>2],a1=A1+d1,$1=o5+-4|0,j0=+s[$1>>2],E1=a1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=x5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*a1,L1=+s[$1>>2],M1=L1*m1,b1=v1-M1,_1=x5|1,b=_1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=b1,F1=M5+16|0,U1=x5+2|0,D1=(U1|0)<(c1|0),D1;)o5=x0,x5=U1,d5=i1,M5=F1;P1=K0+2|0,h2=N1+(Z0<<2)|0,w5=o+(V0<<2)|0,Y2=Z0,B5=h2,m5=P1,s5=w5}else Y2=w,B5=D,m5=0,s5=r2;if(Z1=o+4|0,x1=w-c1|0,J1=(m5|0)<(x1|0),J1){for(q1=w+-1|0,H1=q1-m5|0,Y1=H1-c1|0,V1=Y1>>>1,X1=V1<<1,o2=m5+X1|0,j1=V1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,L5=m5,J2=s5,c5=Z1;I2=M2+-8|0,a2=J2+-16|0,C2=J2+-8|0,A2=+s[C2>>2],K1=+s[c5>>2],d2=A2-K1,l2=+s[a2>>2],i2=c5+8|0,c2=+s[i2>>2],$2=l2-c2,e2=M2+-4|0,s2=+s[e2>>2],m2=$2*s2,t2=+s[I2>>2],k2=t2*d2,D2=k2+m2,E=L5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[I2>>2],G2=Q2*$2,P2=+s[e2>>2],p2=P2*d2,K2=G2-p2,O2=L5|1,Q=O2+w|0,z2=G1+(Q<<2)|0,s[z2>>2]=K2,U2=c5+16|0,H2=L5+2|0,W2=(H2|0)<(x1|0),W2;)M2=I2,L5=H2,J2=a2,c5=U2;A5=o2+2|0,l5=o+(O1<<2)|0,B=Y2+W1|0,j2=N1+(B<<2)|0,R2=j2,q5=A5,X2=l5}else R2=B5,q5=m5,X2=Z1;if(e5=(q5|0)<(w|0),e5)for(F5=o+(v<<2)|0,y2=R2,V2=q5,f5=F5,F2=X2;t5=y2+-8|0,_5=f5+-16|0,Z2=f5+-8|0,I5=+s[Z2>>2],b5=-I5,Y5=+s[F2>>2],g5=b5-Y5,b2=+s[_5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],T=L*F,N=+s[t5>>2],G=N*g5,Y=G+T,m=V2+w|0,J=G1+(m<<2)|0,s[J>>2]=Y,a0=+s[t5>>2],K=a0*L,r0=+s[R>>2],s0=r0*g5,V=K-s0,o0=V2|1,I=o0+w|0,q=G1+(I<<2)|0,s[q>>2]=V,h0=F2+16|0,t0=V2+2|0,u0=(t0|0)<(w|0),u0;)y2=t5,V2=t0,f5=_5,F2=h0;if($5=t+4|0,u5=e[$5>>2]|0,EQ(u5,N1,u2,w),h5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,CQ(h5,y5,D5,G1),c0=(s1|0)>0,!c0){C=z5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,W=l0+(w<<2)|0,m0=t+16|0,Q5=W,p5=0,i5=G1,r5=$0;g0=r5+-4|0,f0=+s[i5>>2],n0=+s[Q5>>2],d0=n0*f0,C0=i5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+d0,w0=+s[m0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,W0=+s[i5>>2],v0=+s[Q0>>2],T0=v0*W0,N0=+s[C0>>2],P0=+s[Q5>>2],q0=P0*N0,k0=T0-q0,z0=+s[m0>>2],F0=k0*z0,s[g0>>2]=F0,L0=i5+8|0,G0=Q5+8|0,J0=p5+1|0,T5=(J0|0)==(s1|0),!T5;)Q5=G0,p5=J0,i5=L0,r5=g0;C=z5}function EQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,V8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,wr=0;if(wr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,Y5=a+(I<<2)|0,F3=$>>1,B=F3+-8|0,e8=a+(B<<2)|0,g=o,B8=Y5,Q8=e8;dt=B8+24|0,Yi=+s[dt>>2],yi=Q8+24|0,ki=+s[yi>>2],bi=Yi-ki,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,d1=+s[Z0>>2],B1=N0-d1,D1=ki+Yi,s[dt>>2]=D1,o2=+s[Z0>>2],l2=o2+N0,s[Q0>>2]=l2,S2=g+4|0,W2=+s[S2>>2],g5=W2*B1,q5=+s[g>>2],j2=q5*bi,c5=j2+g5,s[yi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*bi,S6=s6-i6,s[Z0>>2]=S6,J3=B8+16|0,H6=+s[J3>>2],g9=Q8+16|0,n9=+s[g9>>2],y9=H6-n9,Me=B8+20|0,Ye=+s[Me>>2],V4=Q8+20|0,de=+s[V4>>2],I6=Ye-de,xe=n9+H6,s[J3>>2]=xe,I8=+s[V4>>2],Vt=I8+Ye,s[Me>>2]=Vt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,D4=g+16|0,F9=+s[D4>>2],Ft=F9*y9,u8=Ft+Bt,s[g9>>2]=u8,Z8=+s[D4>>2],Nt=Z8*I6,F8=+s[at>>2],Xt=F8*y9,O4=Nt-Xt,s[V4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],T8=Q8+8|0,$i=+s[T8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],j8=Q8+12|0,Ci=+s[j8>>2],X8=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ei=+s[j8>>2],Qi=ei+Ei,s[Hi>>2]=Qi,li=g+36|0,g7=+s[li>>2],Vi=g7*X8,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Vi,s[T8>>2]=ci,h7=+s[wi>>2],zi=h7*X8,Ji=+s[li>>2],Ki=Ji*qi,Wi=zi-Ki,s[j8>>2]=Wi,gi=+s[B8>>2],Zi=+s[Q8>>2],ti=gi-Zi,ui=B8+4|0,V8=+s[ui>>2],ii=Q8+4|0,d7=+s[ii>>2],ji=V8-d7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ii>>2],Xi=Si+V8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ri=g+48|0,xi=+s[ri>>2],t7=xi*ti,hi=t7+_i,s[Q8>>2]=hi,z8=+s[ri>>2],Li=z8*ji,_4=+s[Di>>2],b0=_4*ti,E0=Li-b0,s[ii>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(W0=(C0|0)>1,W0)for(N8=1;;){if(M0=1<>N8,P0=4<>1,S=q0+-8|0,N=P0+1|0,h0=P0<<1,$0=h0|1,m0=P0*3|0,f0=m0+1|0,d0=P0<<2,di=0;;){for(z0=n5(di,T0)|0,F0=a+(z0<<2)|0,m=E+z0|0,L0=a+(m<<2)|0,u0=S+z0|0,G0=a+(u0<<2)|0,d=o,vt=L0,G8=G0;K0=vt+24|0,J0=+s[K0>>2],H0=G8+24|0,O0=+s[H0>>2],Y0=J0-O0,s1=vt+28|0,V0=+s[s1>>2],i1=G8+28|0,x0=+s[i1>>2],o1=V0-x0,h1=O0+J0,s[K0>>2]=h1,g1=+s[i1>>2],m1=g1+V0,s[s1>>2]=m1,u1=d+4|0,A1=+s[u1>>2],c1=A1*o1,a1=+s[d>>2],$1=a1*Y0,j0=$1+c1,s[H0>>2]=j0,E1=+s[d>>2],I1=E1*o1,Q1=+s[u1>>2],p1=Q1*Y0,w1=I1-p1,s[i1>>2]=w1,v1=d+(P0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=G8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=G8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=b1+L1,s[k1>>2]=G1,x1=+s[U1>>2],J1=x1+F1,s[R1>>2]=J1,q1=d+(N<<2)|0,H1=+s[q1>>2],Y1=H1*Z1,V1=+s[v1>>2],X1=V1*_1,j1=X1+Y1,s[M1>>2]=j1,O1=+s[v1>>2],u2=O1*Z1,W1=+s[q1>>2],I2=W1*_1,a2=u2-I2,s[U1>>2]=a2,C2=d+(h0<<2)|0,A2=vt+8|0,K1=+s[A2>>2],d2=G8+8|0,i2=+s[d2>>2],c2=K1-i2,r2=vt+12|0,$2=+s[r2>>2],e2=G8+12|0,s2=+s[e2>>2],m2=$2-s2,t2=i2+K1,s[A2>>2]=t2,k2=+s[e2>>2],D2=k2+$2,s[r2>>2]=D2,Q2=d+($0<<2)|0,G2=+s[Q2>>2],L2=G2*m2,P2=+s[C2>>2],p2=P2*c2,K2=p2+L2,s[d2>>2]=K2,O2=+s[C2>>2],z2=O2*m2,U2=+s[Q2>>2],H2=U2*c2,A5=z2-H2,s[e2>>2]=A5,Y2=d+(m0<<2)|0,N1=+s[vt>>2],e5=+s[G8>>2],F5=N1-e5,t5=vt+4|0,_5=+s[t5>>2],Z2=G8+4|0,I5=+s[Z2>>2],b5=_5-I5,b2=e5+N1,s[vt>>2]=b2,B5=+s[Z2>>2],o5=B5+_5,s[t5>>2]=o5,R2=d+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[Y2>>2],T5=Q5*F5,m5=T5+y2,s[G8>>2]=m5,x5=+s[Y2>>2],L5=x5*b5,V2=+s[R2>>2],p5=V2*F5,$5=L5-p5,s[Z2>>2]=$5,u5=d+(d0<<2)|0,y5=vt+-32|0,T1=G8+-32|0,D5=T1>>>0>>0,!D5;)d=u5,vt=y5,G8=T1;if(h5=di+1|0,l5=(h5|0)<(M0|0),l5)di=h5;else break}if(h2=N8+1|0,Mi=(h2|0)==(C0|0),Mi)break;N8=h2}if(k0=($|0)>0,k0)$9=0;else return;for(;w5=a+($9<<2)|0,Q=$9|30,i5=a+(Q<<2)|0,s5=+s[i5>>2],T=$9|14,d5=a+(T<<2)|0,J2=+s[d5>>2],f5=s5-J2,q=$9|31,r5=a+(q<<2)|0,M5=+s[r5>>2],c0=$9|15,X2=a+(c0<<2)|0,F2=+s[X2>>2],v5=M5-F2,z5=J2+s5,s[i5>>2]=z5,i3=F2+M5,s[r5>>2]=i3,s[d5>>2]=f5,s[X2>>2]=v5,l0=$9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],W=$9|12,d3=a+(W<<2)|0,W5=+s[d3>>2],r3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,N5=+s[a3>>2],n0=$9|13,Z5=a+(n0<<2)|0,_3=+s[Z5>>2],f3=N5-_3,w3=W5+I3,s[E5>>2]=w3,X3=_3+N5,s[a3>>2]=X3,q3=r3*.9238795042037964,X5=f3*.3826834261417389,D3=q3-X5,s[d3>>2]=D3,t3=r3*.3826834261417389,N3=f3*.9238795042037964,H3=N3+t3,s[Z5>>2]=H3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=$9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],J5=g3-Q3,v=$9|27,H5=a+(v<<2)|0,V5=+s[H5>>2],w=$9|11,S5=a+(w<<2)|0,G5=+s[S5>>2],$6=V5-G5,n3=Q3+g3,s[c3>>2]=n3,l3=G5+V5,s[H5>>2]=l3,G3=J5-$6,E6=G3*.7071067690849304,s[u3>>2]=E6,S3=$6+J5,x3=S3*.7071067690849304,s[S5>>2]=x3,D=$9|24,b3=a+(D<<2)|0,a6=+s[b3>>2],y=$9|8,V3=a+(y<<2)|0,j5=+s[V3>>2],L3=a6-j5,x=$9|25,h3=a+(x<<2)|0,z3=+s[h3>>2],M=$9|9,d6=a+(M<<2)|0,m3=+s[d6>>2],x6=z3-m3,L6=j5+a6,s[b3>>2]=L6,M6=m3+z3,s[h3>>2]=M6,r6=L3*.3826834261417389,f6=x6*.9238795042037964,b6=r6-f6,N6=x6*.3826834261417389,j6=L3*.9238795042037964,v6=N6+j6,L=$9|22,M3=a+(L<<2)|0,n6=+s[M3>>2],R=$9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],R3=n6-C6,F=$9|7,K3=a+(F<<2)|0,e6=+s[K3>>2],G=$9|23,R6=a+(G<<2)|0,l6=+s[R6>>2],o3=e6-l6,J6=C6+n6,s[M3>>2]=J6,A3=l6+e6,s[R6>>2]=A3,s[o6>>2]=o3,s[K3>>2]=R3,Y=$9|4,c6=a+(Y<<2)|0,B6=+s[c6>>2],e0=$9|20,A6=a+(e0<<2)|0,D6=+s[A6>>2],G6=B6-D6,J=$9|5,e9=a+(J<<2)|0,Q6=+s[e9>>2],a0=$9|21,X6=a+(a0<<2)|0,U3=+s[X6>>2],r9=Q6-U3,Y6=D6+B6,s[A6>>2]=Y6,o9=U3+Q6,s[X6>>2]=o9,U6=r9*.9238795042037964,V6=G6*.3826834261417389,F6=U6+V6,t9=r9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,K=$9|2,P3=a+(K<<2)|0,O6=+s[P3>>2],r0=$9|18,s9=a+(r0<<2)|0,h9=+s[s9>>2],C9=O6-h9,s0=$9|3,B9=a+(s0<<2)|0,Q9=+s[B9>>2],V=$9|19,d9=a+(V<<2)|0,f9=+s[d9>>2],Y9=Q9-f9,y6=h9+O6,s[s9>>2]=y6,q6=f9+Q9,s[d9>>2]=q6,a9=Y9+C9,V9=a9*.7071067690849304,ye=Y9-C9,ge=ye*.7071067690849304,pe=+s[w5>>2],o0=$9|16,z9=a+(o0<<2)|0,re=+s[z9>>2],R9=pe-re,t0=$9|1,w9=a+(t0<<2)|0,K6=+s[w9>>2],Z=$9|17,A9=a+(Z<<2)|0,we=+s[A9>>2],ue=K6-we,D9=re+pe,s[z9>>2]=D9,Re=we+K6,s[A9>>2]=Re,Fe=ue*.3826834261417389,Ge=R9*.9238795042037964,qe=Fe+Ge,r4=ue*.9238795042037964,ve=R9*.3826834261417389,He=r4-ve,J9=He-v6,he=qe-b6,Ue=qe+b6,Ee=He+v6,w4=he+J9,Z9=J9-he,v9=+s[S5>>2],v4=ge-v9,Y4=+s[u3>>2],nt=Y4-V9,Ve=Y4+V9,ze=v9+ge,n4=+s[d3>>2],R4=n4-F6,ot=+s[Z5>>2],ne=ot-P6,u4=n4+F6,Ce=ot+P6,T6=R4-ne,Je=ne+R4,O9=+s[d5>>2],Te=O9-o3,h4=+s[X2>>2],oe=h4-R3,d4=o3+O9,f4=R3+h4,ke=Te+v4,o4=Te-v4,Pe=T6+w4,I4=Pe*.7071067690849304,k9=T6-w4,z4=k9*.7071067690849304,fe=I4+ke,s[o6>>2]=fe,k4=ke-I4,s[c6>>2]=k4,Se=Je-Z9,Ie=Se*.7071067690849304,z6=oe-nt,F4=Ie+o4,s[w5>>2]=F4,T4=o4-Ie,s[P3>>2]=T4,st=Je+Z9,me=st*.7071067690849304,mt=oe+nt,W3=z6+z4,s[B9>>2]=W3,_9=z6-z4,s[w9>>2]=_9,S9=mt+me,s[K3>>2]=S9,Oe=mt-me,s[e9>>2]=Oe,s4=d4+Ve,d8=d4-Ve,N4=Ue+u4,f8=u4-Ue,D8=s4+N4,s[d5>>2]=D8,m8=s4-N4,s[d3>>2]=m8,Ut=Ce-Ee,Pt=f4-ze,Ot=d8+Ut,s[V3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Ce+Ee,i8=f4+ze,_8=Pt+f8,s[S5>>2]=_8,Ht=Pt-f8,s[d6>>2]=Ht,Yt=i8+t8,s[X2>>2]=Yt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[h3>>2],pt=Re-xt,zt=+s[b3>>2],Jt=D9-zt,r8=zt+D9,n8=xt+Re,Et=Jt+pt,J4=pt-Jt,G4=+s[d9>>2],Lt=+s[H5>>2],x9=G4-Lt,p8=+s[c3>>2],S4=+s[s9>>2],E8=p8-S4,x8=S4+p8,o8=Lt+G4,L8=+s[E5>>2],a4=+s[A6>>2],s8=L8-a4,Mt=+s[a3>>2],At=+s[X6>>2],Ke=Mt-At,U4=a4+L8,$t=At+Mt,Ct=s8-Ke,Rt=Ke+s8,m4=+s[i5>>2],se=+s[M3>>2],lt=m4-se,ct=+s[r5>>2],Qt=+s[R6>>2],p4=ct-Qt,b4=se+m4,K4=Qt+ct,W4=lt+x9,ae=lt-x9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,be=gt*.7071067690849304,yt=E4+W4,s[M3>>2]=yt,a8=W4-E4,s[A6>>2]=a8,We=Rt-J4,E3=We*.7071067690849304,Z4=p4-E8,wt=E3+ae,s[z9>>2]=wt,A4=ae-E3,s[s9>>2]=A4,j9=Rt+J4,$4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+be,s[d9>>2]=Wt,C8=Z4-be,s[A9>>2]=C8,A8=j4+$4,s[R6>>2]=A8,$8=j4-$4,s[X6>>2]=$8,Zt=b4+x8,l8=b4-x8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,s[i5>>2]=ht,Ze=Zt-jt,s[E5>>2]=Ze,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[b3>>2]=X4,b9=l8-c8,s[c3>>2]=b9,g8=$t+n8,et=K4+o8,H8=Tt+ut,s[H5>>2]=H8,W8=Tt-ut,s[h3>>2]=W8,M8=et+g8,s[r5>>2]=M8,R8=et-g8,s[a3>>2]=R8,l4=$9+32|0,Y8=(l4|0)<($|0),Y8;)$9=l4}function CQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,G=o+(t<<2)|0,a1=G,$1=a,j0=$,E1=v;h0=e[$1>>2]|0,g=h0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,d=L0+b|0,x0=$+(d<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=c1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[a1>>2],F=L*R,T=a1+4|0,N=+s[T>>2],Y=N*y,e0=Y+F,J=N*L,a0=R*y,K=J-a0,r0=E1+-16|0,s0=D+c1,V=s0*.5,o0=x-M,q=o0*.5,t0=e0+V,s[j0>>2]=t0,Z=V-e0,u0=E1+-8|0,s[u0>>2]=Z,c0=K+q,$0=j0+4|0,s[$0>>2]=c0,l0=K-q,W=E1+-4|0,s[W>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],W0=B0+w0,M0=a1+8|0,v0=+s[M0>>2],T0=W0*v0,N0=a1+12|0,P0=+s[N0>>2],q0=P0*y0,k0=q0+T0,z0=P0*W0,F0=v0*y0,G0=z0-F0,K0=E0+Q0,J0=K0*.5,H0=w0-B0,Z0=H0*.5,O0=k0+J0,Y0=j0+8|0,s[Y0>>2]=O0,s1=J0-k0,s[r0>>2]=s1,V0=G0+Z0,i1=j0+12|0,s[i1>>2]=V0,o1=G0-Z0,h1=E1+-12|0,s[h1>>2]=o1,g1=a1+16|0,m1=$1+16|0,d1=j0+16|0,u1=d1>>>0>>0,u1;)a1=g1,$1=m1,j0=d1,E1=r0}function yb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=le(1,36)|0,d=t+4|0,m=e[d>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function wb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function vb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function kb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0;a9=C,y6=t,V9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(V9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,h3=+z7(l3),N6=h3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,r0=+(g|0),l0=r0*.25,b0=l0,P0=b0*.5,O0=+($|0),u1=P0/O0,w1=+tn(+u1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,c2=R6+1|0,G2=1<>2]=c5,v5=+($|0),z5=v5+.25,E5=z5*r0,I3=E5,d3=I3*.5,W5=d3/O0,r3=+tn(+W5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,N5=Y2*B3,Z5=N5+.5,_3=~~Z5,w3=1-c5|0,X3=w3+_3|0,q3=t+40|0,e[q3>>2]=X3,X5=$<<2,D3=M9(X5)|0,t3=t+16|0,e[t3>>2]=D3,s6=M9(X5)|0,N3=t+20|0,e[N3>>2]=s6,H3=M9(X5)|0,c3=t+24|0,e[c3>>2]=H3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,J5=t+48|0,s[J5>>2]=1,H5=(g|0)<26e3;do if(H5)s[J5>>2]=0;else{if(V5=(g|0)<38e3,V5){s[J5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[J5>>2]=1.274999976158142)}while(!1);Y3=O0*2,G5=+(g|0),$6=($|0)>0,S3=$6,t9=0,n9=0;e:for(;;){for(Q=S3^1,_6=t9;;){if(b3=_6+1|0,a6=+(b3|0),i6=a6*.08664337545633316,V3=i6+2.7488713472395148,j5=+Vn(+V3),L3=Y3*j5,z3=L3/G5,d6=+z7(z3),m3=~~d6,E=(m3|0)<=(n9|0),e9=E|Q,!e9){m=b3,I=m3,P6=_6;break}if(x6=(b3|0)<87,x6)_6=b3;else{h9=n9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],f6=r6-M6,b6=I-n9|0,j6=+(b6|0),v6=f6/j6,M3=n9-I|0,n6=n9-$|0,o6=M3>>>0>n6>>>0,Y9=o6?M3:n6,n3=n9-Y9|0,G6=M6,C9=n9;C6=G6+100,J3=D3+(C9<<2)|0,s[J3>>2]=C6,R3=G6+v6,K3=C9+1|0,Y6=(K3|0)==(n3|0),!Y6;)G6=R3,C9=K3;if(G3=(n3|0)<($|0),E6=(m|0)<87,E6)S3=G3,t9=m,n9=n3;else{h9=n3;break}}if(x3=(h9|0)<($|0),x3)for(B9=h9;H6=B9+-1|0,A6=D3+(H6<<2)|0,D6=e[A6>>2]|0,R=D3+(B9<<2)|0,e[R>>2]=D6,F=B9+1|0,r9=(F|0)==($|0),!r9;)B9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,J6=o+120|0,A3=e[J6>>2]|0,c6=o+124|0,B6=o+116|0,F3=o+112|0,U6=1,P3=0,Q9=-99;;){J=n5(o3,P3)|0,a0=+(J|0),K=a0*.0007399999885819852,s0=K,V=+is(+s0),o0=V*13.100000381469727,q=n5(J,J)|0,h0=+(q|0),t0=h0*18499999754340024e-24,Z=t0,u0=+is(+Z),c0=u0*2.240000009536743,$0=c0+o0,W=a0*9999999747378752e-20,m0=W,g0=$0+m0,f0=g0,n0=A3+Q9|0,d0=(n0|0)<(P3|0);e:do if(d0)for(p0=+s[F3>>2],C0=f0-p0,S0=C0,f9=Q9;;){if(Q0=n5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+is(+w0),_0=B0*13.100000381469727,W0=n5(Q0,Q0)|0,M0=+(W0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+is(+T0),q0=N0*2.240000009536743,k0=E0*9999999747378752e-20,z0=k0,F0=_0+z0,L0=F0+q0,G0=L0($|0);e:do if(K0)V6=U6;else for(J0=e[c6>>2]|0,H0=J0+P3|0,F6=U6;;){if(V0=(F6|0)<(H0|0),!V0&&(i1=n5(F6,o3)|0,x0=+(i1|0),o1=x0*.0007399999885819852,h1=o1,g1=+is(+h1),m1=g1*13.100000381469727,d1=n5(i1,i1)|0,A1=+(d1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,D1=P3+1|0,U3=(D1|0)==($|0),U3)break;U6=V6,P3=D1,Q9=d9}if(e6)for(T=G5*.5,N=e[L>>2]|0,G=N+1|0,Y=1<>2]=O1,W1=O6+1|0,X6=(W1|0)==($|0),X6){v=T;break}else O6=W1;else q6=19}else q6=19;if((q6|0)==19&&(y=G5*.5,v=y),I2=o+36|0,a2=v/O0,C2=a2,A2=o+24|0,K1=+s[A2>>2],d2=o+28|0,l2=+s[d2>>2],r2=Db(I2,C2,$,K1,l2)|0,$2=t+8|0,e[$2>>2]=r2,e2=M9(12)|0,s2=t+12|0,e[s2>>2]=e2,m2=M9(X5)|0,e[e2>>2]=m2,t2=M9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=M9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,s9=0;L2=+(s9|0),P2=L2+.5,p2=P2*G5,K2=p2/Y3,O2=+tn(+K2),z2=O2*2.885390043258667,U2=z2+-11.931568145751953,H2=U2,W2=H2<0,o9=W2?0:H2,d=o9>=16,g9=d?16:o9,A5=~~g9,N1=+(A5|0),e5=g9-N1,F5=e5,t5=1-F5,_5=A5+1|0,Z2=(Q2+132|0)+(A5<<2)|0,I5=+s[Z2>>2],b5=I5,Y5=b5*t5,g5=(Q2+132|0)+(_5<<2)|0,B5=+s[g5>>2],o5=B5*e5,R2=o5,M2=R2+Y5,y2=M2,Q5=b+(s9<<2)|0,s[Q5>>2]=y2,T5=(Q2+200|0)+(A5<<2)|0,m5=+s[T5>>2],x5=m5,q5=x5*t5,V2=(Q2+200|0)+(_5<<2)|0,p5=+s[V2>>2],$5=p5*e5,u5=$5,y5=u5+q5,T1=y5,D5=w+(s9<<2)|0,s[D5>>2]=T1,h5=(Q2+268|0)+(A5<<2)|0,l5=+s[h5>>2],j2=l5,w5=j2*t5,i5=(Q2+268|0)+(_5<<2)|0,s5=+s[i5>>2],d5=s5*e5,J2=d5,f5=J2+w5,r5=f5,M5=D+(s9<<2)|0,s[M5>>2]=r5,X2=s9+1|0,Q6=(X2|0)==($|0),!Q6;)s9=X2}function BQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0;if(O0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,Y=(w|0)==0,Y||E2(w),t0=t+20|0,d0=e[t0>>2]|0,W0=(d0|0)==0,W0||E2(d0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||E2(L0),g=t+8|0,d=e[g>>2]|0,m=(d|0)==0,!m){for(E=d,J0=0;I=E+(J0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,E2(B),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,E2(y),x=e[g>>2]|0,M=x+(J0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,E2(F),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,e0=G+12|0,J=e[e0>>2]|0,E2(J),a0=e[g>>2]|0,K=a0+(J0<<2)|0,r0=e[K>>2]|0,s0=r0+16|0,V=e[s0>>2]|0,E2(V),o0=e[g>>2]|0,q=o0+(J0<<2)|0,h0=e[q>>2]|0,Z=h0+20|0,u0=e[Z>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,W=l0+24|0,m0=e[W>>2]|0,E2(m0),g0=e[g>>2]|0,f0=g0+(J0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,Q0=S0+(J0<<2)|0,b0=e[Q0>>2]|0,E2(b0),E0=J0+1|0,K0=(E0|0)==17,!K0;)o=e[g>>2]|0,E=o,J0=E0;y0=e[g>>2]|0,E2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,E2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,E2(N0),P0=e[w0>>2]|0,q0=P0+8|0,k0=e[q0>>2]|0,E2(k0),z0=e[w0>>2]|0,E2(z0)),H0=t,Y0=H0+52|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(Y0|0))}}function QQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,d=I,M=C,C=C+((1*d|0)+15&-16)|0,K=t+24|0,u0=e[K>>2]|0,wQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],W=a+(d0<<2)|0,m0=+s[W>>2],E=l0-m0,Q=M+(d0<<2)|0,s[Q>>2]=E,B=d0+1|0,f0=(B|0)==(m|0),!f0;)d0=B;if(S=e[K>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,wQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],T=L-F,s[R>>2]=T,N=p0+1|0,n0=(N|0)==(m|0),!n0;)p0=N;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;G=a+(C0<<2)|0,Y=+s[G>>2],e0=Y,J=e0+.5,a0=~~J,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,V=M+(C0<<2)|0,o0=+s[V>>2],q=(y+336|0)+(g<<2)|0,h0=+s[q>>2],t0=h0+o0,s[G>>2]=t0,Z=C0+1|0,g0=(Z|0)==(m|0),!g0;)C0=Z;C=Q0}function yQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,T=t+40|0,u1=e[T>>2]|0,w1=u1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,N=(u1|0)>0,N)for($5=0;q=P1+($5<<2)|0,s[q>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(u1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],h1=g50,g1){for(m1=t+16|0,d1=e[m1>>2]|0,h5=0;A1=d1+(h5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(h5<<2)|0,s[$1>>2]=a1,j0=h5+1|0,V2=(j0|0)==(F|0),!V2;)h5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,g1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,u5=0;;){_1=o+(u5<<2)|0,R1=+s[_1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,s5=R1;e:for(;;)for(y5=D5;;){if(D1=y5+1|0,Z1=(D1|0)<(F|0),!Z1){S=0,v=D1,T1=y5,d5=s5;break e}if(G1=k1+(D1<<2)|0,x1=e[G1>>2]|0,J1=(x1|0)==(U1|0),!J1){S=1,v=D1,T1=y5,d5=s5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],Y1=H1>s5,Y1){D5=D1,s5=H1;continue e}else y5=D1}if(V1=d5+6,X1=a+(T1<<2)|0,o2=+s[X1>>2],O1=V1>o2,O1&&(u2=e[L1>>2]|0,W1=U1>>u2,I2=(W1|0)>16,m=I2?16:W1,a2=(m|0)<0,d=a2?0:m,C2=I1+(d<<2)|0,A2=e[C2>>2]|0,K1=e[M1>>2]|0,d2=B1+d5,l2=d2,c2=l2+-30,r2=c2*.10000000149011612,$2=~~r2,e2=($2|0)<0,s2=e2?0:$2,m2=(s2|0)>7,t2=m2?7:s2,k2=A2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+s[S2>>2],L2=~~G2,P2=+s[D2>>2],p2=~~P2,K2=(p2|0)<(L2|0),K2))for(O2=k1+(T1<<2)|0,z2=e[O2>>2]|0,U2=e[b1>>2]|0,H2=z2-U2|0,W2=+(H2|0),Y2=K1>>1,N1=+(Y2|0),e5=P2+-16,F5=+(K1|0),t5=e5*F5,_5=t5-N1,Z2=_5+W2,I5=~~Z2,p5=p2,z5=I5;b5=(z5|0)>0,b5&&(R=p5+2|0,Y5=D2+(R<<2)|0,b2=+s[Y5>>2],B5=b2+d5,o5=P1+(z5<<2)|0,R2=+s[o5>>2],M2=R2>2]=B5)),y2=z5+K1|0,Q5=(y2|0)<(u1|0),T5=p5+1|0,m5=(T5|0)<(L2|0),c5=m5&Q5,c5;)p5=T5,z5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),x5=e[M>>2]|0,_b(P1,x5,u1),G=e[t>>2]|0,Y=(G|0)>1;e:do if(Y)for(e0=t+20|0,J=t+28|0,a0=e[e0>>2]|0,K=e[a0>>2]|0,r0=x5>>1,s0=K-r0|0,V=e[J>>2]|0,o0=s0-V|0,h0=e[j1>>2]|0,t0=h0+32|0,W=1,n0=K,j2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(W<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,d0=g0>>1,p0=d0-V|0,C0=+s[t0>>2],S0=$0>C0,J2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,r5=J2;;){for(b0=r5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(W0=w0=(G|0),P0=(n0|0)>(T0|0),M5=N0|P0;t:do if(M5)h2=j2;else for(w5=j2;;){if(q0=a+(w5<<2)|0,k0=+s[q0>>2],z0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(G|0),!G0){h2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,K0=(L|0)>(T0|0),K0){h2=L0;break}else w5=L0}while(!1);if(Z=h2+1|0,u0=(Z|0)<(G|0),!u0){l5=h2;break e}w=a0+(h2<<2)|0,x=e[w>>2]|0,W=Z,n0=x,j2=h2,F2=v5}else l5=0;while(!1);if(J0=e[T>>2]|0,H0=J0+-1|0,Z0=P1+(H0<<2)|0,O0=+s[Z0>>2],Y0=(l5|0)<(G|0),Y0)i5=l5;else{C=E5;return}for(;s1=a+(i5<<2)|0,V0=+s[s1>>2],x0=V0>2]=O0),o1=i5+1|0,L5=(o1|0)==(G|0),!L5;)i5=o1;C=E5}function tl(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,W=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],T=F+M,N=+s[b>>2],G=T>N,_0=G?N:T,Y=a+(B0<<2)|0,e0=+s[Y>>2],J=e0+W,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,V=+s[r0>>2],o0=_0-V,q=o0>-17.200000762939453,h0=o0+17.200000762939453,t0=h0,q?(Z=D*t0,u0=1-Z,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*t0,m0=1-l0,g0=m0,y0=g0),f0=d+(B0<<2)|0,n0=+s[f0>>2],d0=n0*y0,s[f0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Sb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;return N=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),d=g+8|0,m=e[d>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function bb(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0;if(Ye=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?Z5=16:(d6=A5+508|0,v6=e[d6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,P0=e[b0>>2]|0,O0=1624+(P0<<3)|0,u1=+l1[O0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,Y2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,L5=C,C=C+((1*M|0)+15&-16)|0,h2=$+1156|0,F2=(c0|0)>1e3,He=F2?1696:1624,qe=He+(P1<<3)|0,Ge=+l1[qe>>3],N5=n5(j1,Z5)|0,L=N5,_3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=_3,v=N5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=N5,w3=C,C=C+((1*w|0)+15&-16)|0,e[Y2>>2]=w3,D=N5,q3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=q3,X5=(E|0)>1,X5&&(D3=_3+(Z5<<2)|0,t3=i2+4|0,e[t3>>2]=D3,s6=f3+(Z5<<2)|0,N3=Q2+4|0,e[N3>>2]=s6,H3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=H3,g3=q3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,C9=(E|0)==2,!C9))for(S5=2;F=e[i2>>2]|0,G=e[Q2>>2]|0,Y=e[Y2>>2]|0,e0=e[b2>>2]|0,V5=n5(S5,Z5)|0,Y3=F+(V5<<2)|0,G5=i2+(S5<<2)|0,e[G5>>2]=Y3,$6=G+(V5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=Y+(V5<<2)|0,G3=Y2+(S5<<2)|0,e[G3>>2]=l3,S3=e0+(V5<<2)|0,x3=b2+(S5<<2)|0,e[x3>>2]=S3,b3=S5+1|0,n9=(b3|0)==(E|0),!n9;)S5=b3;if(J5=e[h2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,V3=c0^-1,j5=Z5^-1,q6=0,y9=V3;;){if(z3=(y9|0)>(j5|0),r4=z3?y9:j5,m3=r4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),Q=L6?x6:Z5,ce(L5|0,m|0,j1|0)|0,g4(a6|0,0,N5|0)|0,i6)for(M6=(Q|0)>0,S6=l0-q6|0,A9=0;;){if(M3=d+(A9<<2)|0,n6=e[M3>>2]|0,o6=n6+(q6<<2)|0,C6=L5+(A9<<2)|0,J3=e[C6>>2]|0,R3=(J3|0)==0,R3){if(M6)for(R6=Y2+(A9<<2)|0,l6=e[R6>>2]|0,J6=i2+(A9<<2)|0,A3=e[J6>>2]|0,c6=Q2+(A9<<2)|0,B6=e[c6>>2]|0,F3=b2+(A9<<2)|0,H6=e[F3>>2]|0,w9=0;G0=l6+(w9<<2)|0,s[G0>>2]=1000000013351432e-25,K0=A3+(w9<<2)|0,s[K0>>2]=0,J0=B6+(w9<<2)|0,s[J0>>2]=0,H0=H6+(w9<<2)|0,e[H0>>2]=0,q=w9+q6|0,Z0=n6+(q<<2)|0,e[Z0>>2]=0,Y0=w9+1|0,O6=(Y0|0)==(m3|0),!O6;)w9=Y0}else{if(K3=Y2+(A9<<2)|0,e6=e[K3>>2]|0,M6){for(re=0;h0=re+q6|0,A6=n6+(h0<<2)|0,D6=e[A6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=e6+(re<<2)|0,e[X6>>2]=e9,U3=re+1|0,_6=(U3|0)==(m3|0),!_6;)re=U3;if(r9=g+(A9<<2)|0,Y6=e[r9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(z9=0;U6=(z9|0)>=(S6|0),u0=U6?Ge:u1,V6=u0,t0=z9+q6|0,F6=Y6+(t0<<2)|0,t9=+s[F6>>2],Q9=+tr(+t9),W=e6+(z9<<2)|0,m0=+s[W>>2],g0=Q9/m0,f0=g9+(z9<<2)|0,D9=!(g0>2]=B,n0=z9+1|0,P6=(n0|0)==(Q|0),!P6;)z9=n0;if(M6)for(d0=i2+(A9<<2)|0,p0=e[d0>>2]|0,C0=Q2+(A9<<2)|0,S0=e[C0>>2]|0,R9=0;;)if(Q0=R9+q6|0,E0=Y6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(R9<<2)|0,s[B0>>2]=w0,_0=S0+(R9<<2)|0,s[_0>>2]=w0,W0=+s[E0>>2],M0=W0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(R9<<2)|0,q0=+s[N0>>2],k0=q0*q0,s[N0>>2]=k0,z0=R9+1|0,P3=(z0|0)==(m3|0),P3){T=C0,L0=p0;break}else R9=z0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,R=i2+(A9<<2)|0,J=e[R>>2]|0,V=Q2+(A9<<2)|0,T=V,L0=J),F0=e[T>>2]|0,Re=e[$0>>2]|0,+vQ(Re,l0,L0,F0,e6,0,q6,Q,o6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}if(r6=e[h2>>2]|0,f6=(r6|0)>0,f6)for(b6=(Q|0)>0,N6=I-q6|0,j6=l0-q6|0,B3=r6,ve=0;;){if(V0=($+1160|0)+(ve<<2)|0,i1=e[V0>>2]|0,x0=($+2184|0)+(ve<<2)|0,o1=e[x0>>2]|0,h1=d+(i1<<2)|0,g1=e[h1>>2]|0,m1=g1+(q6<<2)|0,d1=d+(o1<<2)|0,A1=e[d1>>2]|0,c1=i2+(i1<<2)|0,a1=e[c1>>2]|0,$1=i2+(o1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(o1<<2)|0,p1=e[Q1>>2]|0,B1=Y2+(i1<<2)|0,v1=e[B1>>2]|0,k1=Y2+(o1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=L5+(i1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,Z1=L5+(o1<<2)|0,D1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?j2=B3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){J1=(K6|0)<(N6|0);do if(J1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,V1=R1+(K6<<2)|0,Y1&&(X1=e[V1>>2]|0,o2=(X1|0)==0,o2)){t5=(K6|0)<(j6|0);do if(t5)_5=j0+(K6<<2)|0,Z2=+s[_5>>2],I5=a1+(K6<<2)|0,b5=+s[I5>>2],Y5=b5+Z2,s[I5>>2]=Y5,f9=+tr(+Y5),g5=I1+(K6<<2)|0,s[g5>>2]=f9,N=_5;else if(B5=a1+(K6<<2)|0,o5=+s[B5>>2],R2=j0+(K6<<2)|0,M2=+s[R2>>2],y2=M2+o5,Q5=y2<0,B9=+tr(+o5),d9=+tr(+M2),T5=d9+B9,m5=I1+(K6<<2)|0,s[m5>>2]=T5,Q5){x5=-T5,s[B5>>2]=x5,N=R2;break}else{s[B5>>2]=T5,N=R2;break}while(!1);q5=p1+(K6<<2)|0,s[q5>>2]=0,s[N>>2]=0,e[V1>>2]=1,o0=K6+q6|0,V2=A1+(o0<<2)|0,e[V2>>2]=0;break}O1=a1+(K6<<2)|0,u2=+s[O1>>2],Y9=+tr(+u2),W1=j0+(K6<<2)|0,I2=+s[W1>>2],y6=+tr(+I2),a2=y6+Y9,s[O1>>2]=a2,C2=I1+(K6<<2)|0,A2=+s[C2>>2],K1=p1+(K6<<2)|0,d2=+s[K1>>2],l2=d2+A2,s[C2>>2]=l2,e[V1>>2]=1,e[q1>>2]=1,Z=K6+q6|0,c2=g1+(Z<<2)|0,r2=e[c2>>2]|0,$2=A1+(Z<<2)|0,e2=e[$2>>2]|0,ye=(r2|0)>-1,we=0-r2|0,s2=ye?r2:we,ge=(e2|0)>-1,ue=0-e2|0,m2=ge?e2:ue,t2=(s2|0)>(m2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,G2=k2?D2:S2,e[$2>>2]=G2,K=e[c2>>2]|0,O2=K,H2=G2):(L2=(e2|0)>0,P2=r2-e2|0,p2=e2-r2|0,K2=L2?P2:p2,e[$2>>2]=K2,e[c2>>2]=e2,a0=e[$2>>2]|0,O2=e2,H2=a0),pe=(O2|0)>-1,Me=0-O2|0,z2=pe?O2:Me,U2=z2<<1,W2=(H2|0)<(U2|0),W2||(N1=0-H2|0,e[$2>>2]=N1,e5=e[c2>>2]|0,F5=0-e5|0,e[c2>>2]=F5)}while(!1);if(p5=v1+(K6<<2)|0,$5=+s[p5>>2],u5=L1+(K6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=K6+1|0,h9=(D5|0)==(m3|0),h9)break;K6=D5}Fe=e[$0>>2]|0,+vQ(Fe,l0,a1,I1,v1,b1,q6,Q,m1),r0=e[h2>>2]|0,j2=r0}if(h5=ve+1|0,l5=(h5|0)<(j2|0),l5)B3=j2,ve=h5;else{a3=j2;break}}else a3=r6;if(w5=q6+Z5|0,i5=(c0|0)>(w5|0),V9=y9+Z5|0,i5)q6=w5,y9=V9;else{L3=a3;break}}else L3=J5;if(h3=(L3|0)>0,h3)r3=L3,a9=0;else{C=Ye;return}for(;s5=($+1160|0)+(a9<<2)|0,d5=e[s5>>2]|0,J2=m+(d5<<2)|0,f5=e[J2>>2]|0,r5=(f5|0)==0,M5=($+2184|0)+(a9<<2)|0,r5?(X2=e[M5>>2]|0,c5=m+(X2<<2)|0,v5=e[c5>>2]|0,z5=(v5|0)==0,z5?W5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[J2>>2]=1,i3=e[M5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[h2>>2]|0,W5=s0),I3=a9+1|0,d3=(I3|0)<(W5|0),d3;)r3=W5,a9=I3;C=Ye}function Db(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0;for(et=C,C=C+32480|0,W3=et+32256|0,b9=et+1792|0,_9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=M9(68)|0,g4(b9|0,0,30464)|0,L3=$>0,ge=$<0,x9=0;;){for(h4=x9<<2,a4=0;o5=a4+h4|0,p5=(o5|0)<88,p5?(i5=1272+(o5<<2)|0,z5=+s[i5>>2],j9=z5):j9=-30,_3=o5+1|0,c3=(_3|0)<88,c3?(U6=1272+(_3<<2)|0,V6=+s[U6>>2],t9=j9>V6,t9?$4=V6:$4=j9):(g9=j9>-30,g9?$4=-30:$4=j9),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],h9=$4>s9,h9?F9=s9:F9=$4):(P3=$4>-30,P3?F9=-30:F9=$4),n9=o5+3|0,C9=(n9|0)<88,C9?(d9=1272+(n9<<2)|0,f9=+s[d9>>2],Y9=F9>f9,Y9?j4=f9:j4=F9):(B9=F9>-30,B9?j4=-30:j4=F9),y6=W3+(a4<<2)|0,s[y6>>2]=j4,q6=a4+1|0,Ot=(q6|0)==56,!Ot;)a4=q6;if(fe=(b9+(x9*1792|0)|0)+448|0,F=2792+(x9*1344|0)|0,ce(fe|0,F|0,224)|0,V=(b9+(x9*1792|0)|0)+672|0,m0=(2792+(x9*1344|0)|0)+224|0,ce(V|0,m0|0,224)|0,y0=(b9+(x9*1792|0)|0)+896|0,k0=(2792+(x9*1344|0)|0)+448|0,ce(y0|0,k0|0,224)|0,s1=(b9+(x9*1792|0)|0)+1120|0,c1=(2792+(x9*1344|0)|0)+672|0,ce(s1|0,c1|0,224)|0,k1=(b9+(x9*1792|0)|0)+1344|0,G1=(2792+(x9*1344|0)|0)+896|0,ce(k1|0,G1|0,224)|0,u2=(b9+(x9*1792|0)|0)+1568|0,$2=(2792+(x9*1344|0)|0)+1120|0,ce(u2|0,$2|0,224)|0,P2=b9+(x9*1792|0)|0,ce(P2|0,F|0,224)|0,e5=(b9+(x9*1792|0)|0)+224|0,ce(e5|0,F|0,224)|0,L3)for(At=0;;){if(ge)for(Bt=0;pe=16-Bt|0,x8=(pe|0)>-1,$8=0-pe|0,z9=x8?pe:$8,re=+(z9|0),R9=re*g,w9=R9+$,K6=w9<0,I=K6?0:w9,A9=I>0,d=A9?0:I,we=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[we>>2],ue=Me+d,s[we>>2]=ue,Re=Bt+1|0,Vt=(Re|0)==56,!Vt;)Bt=Re;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,N6=o8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Q9=F6<0,E=Q9?0:F6,a9=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,V9=+s[a9>>2],y9=V9+E,s[a9>>2]=y9,ye=ct+1|0,Yt=(ye|0)==56,!Yt;)ct=ye;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ge)for(Qt=0;r4=16-Qt|0,L8=(r4|0)>-1,l8=0-r4|0,ve=L8?r4:l8,He=+(ve|0),J9=He*g,Ye=J9+$,he=Ye>0,m=he?0:Ye,Ee=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,w4=+s[Ee>>2],Z9=w4+m,s[Ee>>2]=Z9,v9=Qt+1|0,t8=(v9|0)==56,!t8;)Qt=v9;else for(lt=0;v4=16-lt|0,E8=(v4|0)>-1,A8=0-v4|0,Y4=E8?v4:A8,nt=+(Y4|0),Ve=nt*g,V4=Ve+$,ze=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+V4,s[ze>>2]=ot,ne=lt+1|0,qt=(ne|0)==56,!qt;)lt=ne;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(x9<<2)|0,Ge=+s[Fe>>2],qe=Ge,Ke=0;;){for(Ce=(Ke|0)<2,T6=+(Ke|0),v=T6*10,w=70-v,Je=Ce?50:w,O9=Je+qe,de=O9,Et=0;Te=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],d4=oe+de,s[Te>>2]=d4,f4=Et+1|0,Oe=(f4|0)==56,!Oe;)Et=f4;for(ke=_9+(Ke*224|0)|0,ce(ke|0,W3|0,224)|0,o4=+(Ke|0),Pe=o4*10,I4=70-Pe,Lt=0;;)if(k9=(_9+(Ke*224|0)|0)+(Lt<<2)|0,I6=+s[k9>>2],z4=I4+I6,s[k9>>2]=z4,k4=Lt+1|0,f8=(k4|0)==56,f8){at=0;break}else Lt=k4;for(;Se=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(at<<2)|0,Ie=+s[Se>>2],z6=(_9+(Ke*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=Ie>F4,T4&&(s[z6>>2]=Ie),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(me=Ke+1|0,_8=(me|0)==8,_8){U4=1;break}else Ke=me}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(_9+(xe*224|0)|0)+(G4<<2)|0,T=+s[mt>>2],N=(_9+(U4*224|0)|0)+(G4<<2)|0,G=+s[N>>2],Y=T>2]=T),e0=G4+1|0,d8=(e0|0)==56,d8){J4=0;break}else G4=e0;for(;J=(_9+(U4*224|0)|0)+(J4<<2)|0,a0=+s[J>>2],K=((b9+(x9*1792|0)|0)+(U4*224|0)|0)+(J4<<2)|0,r0=+s[K>>2],s0=a0>2]=a0),o0=J4+1|0,s4=(o0|0)==56,!s4;)J4=o0;if(q=U4+1|0,Ht=(q|0)==8,Ht)break;U4=q}if(h0=x9+1|0,xt=(h0|0)==17,xt)break;x9=h0}for(D9=o,Ue=(a|0)>0,n4=a^-1,S4=0;;){for(t0=M9(32)|0,Z=r2+(S4<<2)|0,e[Z>>2]=t0,u0=+(S4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,W=+Vn(+l0),g0=W/D9,f0=+iA(+g0),n0=~~f0,d0=+(n0|0),p0=d0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+pC(+E0),B0=~~w0,_0=n0+1|0,W0=+(_0|0),M0=W0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,P0=N0+-11.931568145751953,q0=+iA(+P0),z0=~~q0,F0=(B0|0)>(S4|0),p8=F0?S4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(z0|0)>16,Q=G0?16:z0,K0=(wt|0)>(Q|0),J0=S4+1|0,H0=(J0|0)<17,Z0=c0+3.9657840728759766,A4=0;;){if(O0=M9(232)|0,Y0=t0+(A4<<2)|0,e[Y0>>2]=O0,Ue)for($t=0;V0=R+($t<<2)|0,s[V0>>2]=999,i1=$t+1|0,S9=(i1|0)==(a|0),!S9;)$t=i1;if(!K0)for(p4=wt;;){for(x0=+(p4|0),o1=x0*.5,Ct=0,b4=0;;){if(d1=+(Ct|0),u1=d1*.125,A1=u1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,j0=+Vn(+$1),E1=j0/D9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Vn(+p1),w1=B1/D9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(b4|0),We=_1?a8:b4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(We|0)<(Wt|0),D1=(We|0)<(a|0),jt=U1&D1,jt)for(P1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(b4|0)<(a|0),J1=x1?b4:a,q1=J1^-1,H1=(I1|0)>0,x=I1^-1,Y1=H1?x:-1,V1=(Y1|0)<(q1|0),Ze=V1?q1:Y1,X1=Ze^-1,o2=(L1|0)>0,M=L1^-1,j1=o2?M:-1,O1=(j1|0)<(n4|0),c8=O1?n4:j1,W1=c8-Ze|0,I2=Ze+a|0,a2=I2^-1,C2=W1>>>0>a2>>>0,Tt=C2?W1:a2,A2=X1-Tt|0,ae=We;;)if(K1=R+(ae<<2)|0,d2=+s[K1>>2],l2=d2>Z1,l2&&(s[K1>>2]=Z1),i2=ae+1|0,pt=(i2|0)==(A2|0),pt){K4=A2;break}else ae=i2;else K4=We;if(c2=Ct+1|0,zt=(c2|0)==56,zt){W4=K4;break}else Ct=c2,b4=K4}if(h1=(W4|0)<(a|0),h1)for(g1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+220|0,m1=+s[g1>>2],P4=W4;e2=R+(P4<<2)|0,s2=+s[e2>>2],m2=s2>m1,m2&&(s[e2>>2]=m1),t2=P4+1|0,Jt=(t2|0)==(a|0),!Jt;)P4=t2;if(k2=p4+1|0,D2=(p4|0)<(Q|0),D2)p4=k2;else break}if(H0){for(Rt=0,E4=0;;){if(O2=+(Rt|0),z2=O2*.125,U2=z2+c0,H2=U2+3.9032840728759766,W2=H2*.6931470036506653,A5=+Vn(+W2),Y2=A5/D9,N1=~~Y2,F5=U2+4.028284072875977,t5=F5*.6931470036506653,_5=+Vn(+t5),Z2=_5/D9,I5=Z2+1,b5=~~I5,Y5=(N1|0)<0,S=Y5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(E4|0),Z4=b2?E3:E4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((b9+(J0*1792|0)|0)+(A4*224|0)|0)+(Rt<<2)|0,T5=+s[Q5>>2],m5=(E4|0)<(a|0),x5=m5?E4:a,q5=x5^-1,L5=(N1|0)>0,D=N1^-1,V2=L5?D:-1,$5=(V2|0)<(q5|0),ht=$5?q5:V2,u5=ht^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(n4|0),Ft=D5?n4:T1,h5=Ft-ht|0,l5=ht+a|0,j2=l5^-1,h2=h5>>>0>j2>>>0,X4=h2?h5:j2,w5=u5-X4|0,be=Z4;;)if(s5=R+(be<<2)|0,d5=+s[s5>>2],J2=d5>T5,J2&&(s[s5>>2]=T5),f5=be+1|0,D8=(f5|0)==(w5|0),D8){gt=w5;break}else be=f5;else gt=Z4;if(r5=Rt+1|0,e8=(r5|0)==56,e8){D4=gt;break}else Rt=r5,E4=gt}if(L2=(D4|0)<(a|0),L2)for(p2=((b9+(J0*1792|0)|0)+(A4*224|0)|0)+220|0,K2=+s[p2>>2],yt=D4;M5=R+(yt<<2)|0,X2=+s[M5>>2],c5=X2>K2,c5&&(s[M5>>2]=K2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=t0+(A4<<2)|0,Q2=t0+(A4<<2)|0,G2=t0+(A4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,W5=Z0+d3,r3=W5*.6931470036506653,a3=+Vn(+r3),B3=a3/D9,N5=~~B3,Z5=(N5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,X3=w3+(f3<<2)|0,s[X3>>2]=-999;else if(q3=(N5|0)<(a|0),q3){s6=R+(N5<<2)|0,N3=e[s6>>2]|0,H3=m4+2|0,g3=e[Q2>>2]|0,u3=g3+(H3<<2)|0,e[u3>>2]=N3;break}else{X5=m4+2|0,D3=e[G2>>2]|0,t3=D3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=O0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)se=0;else if(J5=O0+12|0,H5=+s[J5>>2],V5=H5>-200,V5)se=1;else if(b3=O0+16|0,a6=+s[b3>>2],i6=a6>-200,i6)se=2;else if(V3=O0+20|0,j5=+s[V3>>2],z3=j5>-200,z3)se=3;else if(d6=O0+24|0,m3=+s[d6>>2],x6=m3>-200,x6)se=4;else if(L6=O0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(r6=O0+32|0,f6=+s[r6>>2],b6=f6>-200,b6)se=6;else if(j6=O0+36|0,v6=+s[j6>>2],M3=v6>-200,M3)se=7;else if(n6=O0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)se=8;else if(J3=O0+44|0,R3=+s[J3>>2],K3=R3>-200,K3)se=9;else if(e6=O0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)se=10;else if(J6=O0+52|0,A3=+s[J6>>2],c6=A3>-200,c6)se=11;else if(B6=O0+56|0,F3=+s[B6>>2],H6=F3>-200,H6)se=12;else if(A6=O0+60|0,D6=+s[A6>>2],e9=D6>-200,e9)se=13;else{if(Q6=O0+64|0,X6=+s[Q6>>2],U3=X6>-200,U3){se=14;break}if(r9=O0+68|0,Y6=+s[r9>>2],o9=Y6>-200,o9){se=15;break}se=16}while(!1);for(s[O0>>2]=se,Kt=55;;){if(S5=Kt+2|0,Y3=O0+(S5<<2)|0,G5=+s[Y3>>2],$6=G5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,G3=(l3|0)>17,G3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),S3=O0+4|0,s[S3>>2]=E6,x3=A4+1|0,Ut=(x3|0)==8,Ut)break;A4=x3}if(Pt=(J0|0)==17,Pt)break;S4=J0}return C=et,r2|0}function wQ(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0;if(Fe=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,A2=C,C=C+((1*I|0)+15&-16)|0,E=v,X2=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,M6=a6<1,ue=M6?1:a6,C6=ue*ue,D=C6*.5,e0=D*ue,s[w>>2]=D,s[A2>>2]=D,s[X2>>2]=0,s[a3>>2]=e0,s[t3>>2]=0,Z=(t|0)>1,Z)for(P3=1,y6=D,q6=D,a9=0,V9=0,y9=e0,ye=1;h1=a+(P3<<2)|0,I1=+s[h1>>2],R1=I1+g,Y1=R1<1,D9=Y1?1:R1,K1=D9*D9,k2=K1+y6,U2=K1*ye,I5=U2+q6,T5=U2*ye,D5=T5+a9,J2=K1*D9,f5=J2+y9,r5=U2*D9,M5=r5+V9,c5=w+(P3<<2)|0,s[c5>>2]=k2,F2=A2+(P3<<2)|0,s[F2>>2]=I5,v5=X2+(P3<<2)|0,s[v5>>2]=D5,z5=a3+(P3<<2)|0,s[z5>>2]=f5,i3=t3+(P3<<2)|0,s[i3>>2]=M5,E5=P3+1|0,I3=ye+1,P6=(E5|0)==(t|0),!P6;)P3=E5,y6=k2,q6=I5,a9=D5,V9=M5,y9=f5,ye=I3;if(p0=e[o>>2]|0,M0=p0>>16,K0=(M0|0)>-1,K0)W5=p0,B6=0,D6=0,X6=1,O6=0,ge=0;else for(N5=p0,w3=M0,s9=0,pe=0;;)if(B3=N5&65535,Z5=w+(B3<<2)|0,_3=+s[Z5>>2],f3=0-w3|0,X3=w+(f3<<2)|0,q3=+s[X3>>2],X5=q3+_3,D3=A2+(B3<<2)|0,s6=+s[D3>>2],N3=A2+(f3<<2)|0,H3=+s[N3>>2],c3=s6-H3,g3=X2+(B3<<2)|0,u3=+s[g3>>2],Q3=X2+(f3<<2)|0,J5=+s[Q3>>2],H5=J5+u3,V5=a3+(B3<<2)|0,Y3=+s[V5>>2],G5=a3+(f3<<2)|0,$6=+s[G5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,G3=+s[l3>>2],E6=t3+(f3<<2)|0,S3=+s[E6>>2],x3=G3-S3,b3=n3*H5,i6=x3*c3,V3=b3-i6,j5=x3*X5,L3=n3*c3,h3=j5-L3,z3=H5*X5,d6=c3*c3,m3=z3-d6,x6=h3*pe,L6=x6+V3,S6=L6/m3,r6=S6<0,o9=r6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=pe+1,v6=o+(N6<<2)|0,M3=e[v6>>2]|0,n6=M3>>16,o6=(n6|0)>-1,o6){W5=M3,B6=V3,D6=h3,X6=m3,O6=N6,ge=j6;break}else N5=M3,w3=n6,s9=N6,pe=j6;if(d3=W5&65535,r3=(d3|0)<(t|0),r3)for(S=W5,e6=d3,n9=O6,re=ge;;)if(R3=S>>16,K3=w+(e6<<2)|0,R6=+s[K3>>2],l6=w+(R3<<2)|0,o3=+s[l6>>2],J6=R6-o3,A3=A2+(e6<<2)|0,c6=+s[A3>>2],y=A2+(R3<<2)|0,x=+s[y>>2],M=c6-x,L=X2+(e6<<2)|0,R=+s[L>>2],F=X2+(R3<<2)|0,T=+s[F>>2],N=R-T,G=a3+(e6<<2)|0,Y=+s[G>>2],J=a3+(R3<<2)|0,a0=+s[J>>2],K=Y-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],V=t3+(R3<<2)|0,o0=+s[V>>2],q=s0-o0,h0=K*N,t0=q*M,u0=h0-t0,c0=q*J6,$0=K*M,l0=c0-$0,W=N*J6,m0=M*M,g0=W-m0,f0=l0*re,n0=f0+u0,d0=n0/g0,C0=d0<0,g9=C0?0:d0,S0=g9-g,Q0=$+(n9<<2)|0,s[Q0>>2]=S0,b0=n9+1|0,E0=re+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,n9=b0,re=E0;else{F3=u0,G6=l0,U3=g0,h9=b0,z9=E0;break}else F3=B6,G6=D6,U3=X6,h9=O6,z9=ge;if(J3=(h9|0)<(t|0),J3)for(C9=h9,R9=z9;W0=R9*G6,v0=W0+F3,T0=v0/U3,N0=T0<0,U6=N0?0:T0,P0=U6-g,q0=$+(C9<<2)|0,s[q0>>2]=P0,k0=C9+1|0,z0=R9+1,_6=(k0|0)==(t|0),!_6;)C9=k0,R9=z0;if(F0=(d|0)<1,F0){C=Fe;return}if(L0=(d|0)/2&-1,G0=L0-d|0,J0=(G0|0)>-1,J0)H6=F3,e9=G6,r9=U3,B9=0,w9=0;else for(H0=d-L0|0,V0=L0,o1=G0,Q9=0,K6=0;;)if(s1=w+(V0<<2)|0,i1=+s[s1>>2],x0=0-o1|0,g1=w+(x0<<2)|0,m1=+s[g1>>2],d1=m1+i1,u1=A2+(V0<<2)|0,A1=+s[u1>>2],c1=A2+(x0<<2)|0,a1=+s[c1>>2],$1=A1-a1,j0=X2+(V0<<2)|0,E1=+s[j0>>2],Q1=X2+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(V0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,b1=t3+(V0<<2)|0,_1=+s[b1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*B1,Z1=D1*$1,G1=P1-Z1,x1=D1*d1,J1=M1*$1,q1=x1-J1,H1=B1*d1,V1=$1*$1,X1=H1-V1,o2=q1*K6,j1=o2+G1,O1=j1/X1,u2=O1-g,W1=$+(Q9<<2)|0,I2=+s[W1>>2],a2=u2>2]=u2),C2=Q9+1|0,d2=K6+1,l2=L0+C2|0,i2=l2-d|0,t9=(C2|0)==(H0|0),t9){H6=G1,e9=q1,r9=X1,B9=H0,w9=d2;break}else V0=l2,o1=i2,Q9=C2,K6=d2;if(Z0=B9+L0|0,O0=(Z0|0)<(t|0),O0)for(Y0=t-L0|0,b=Z0,f9=B9,we=w9;;)if(r2=b-d|0,$2=w+(b<<2)|0,e2=+s[$2>>2],s2=w+(r2<<2)|0,m2=+s[s2>>2],t2=e2-m2,D2=A2+(b<<2)|0,S2=+s[D2>>2],Q2=A2+(r2<<2)|0,G2=+s[Q2>>2],L2=S2-G2,P2=X2+(b<<2)|0,p2=+s[P2>>2],K2=X2+(r2<<2)|0,O2=+s[K2>>2],z2=p2-O2,H2=a3+(b<<2)|0,W2=+s[H2>>2],A5=a3+(r2<<2)|0,Y2=+s[A5>>2],N1=W2-Y2,e5=t3+(b<<2)|0,F5=+s[e5>>2],t5=t3+(r2<<2)|0,_5=+s[t5>>2],Z2=F5-_5,b5=N1*z2,Y5=Z2*L2,g5=b5-Y5,b2=Z2*t2,B5=N1*L2,o5=b2-B5,R2=z2*t2,M2=L2*L2,y2=R2-M2,Q5=o5*we,m5=Q5+g5,x5=m5/y2,q5=x5-g,L5=$+(f9<<2)|0,V2=+s[L5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=we+1,y5=$5+L0|0,F6=($5|0)==(Y0|0),F6){A6=g5,Q6=o5,Y6=y2,d9=Y0,A9=u5;break}else b=y5,f9=$5,we=u5;else A6=H6,Q6=e9,Y6=r9,d9=B9,A9=w9;if(c2=(d9|0)<(t|0),c2)Y9=d9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,h5=T1+A6,l5=h5/Y6,j2=l5-g,h2=$+(Y9<<2)|0,w5=+s[h2>>2],i5=j2>2]=j2),s5=Y9+1|0,d5=Me+1,V6=(s5|0)==(t|0),!V6;)Y9=s5,Me=d5;C=Fe}function _b(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0;if(h1=C,d=a<<2,$=d,m=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,H0=0;else{C=h1;return}for(;;){_0=(H0|0)<2;do if(_0)v0=m+(H0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(H0<<2)|0,e[Q>>2]=E,V0=H0;else{for(W0=t+(k0<<2)|0,M0=+s[W0>>2],Z0=H0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){Y0=Z0,o1=12;break}if(T=Z0+-2|0,N=x+(T<<2)|0,G=+s[N>>2],Y=!(b<=G),Y){Y0=Z0,o1=12;break}if(e0=m+(T<<2)|0,J=e[e0>>2]|0,K=J+o|0,r0=(k0|0)<(K|0),r0)Z0=B;else{Y0=Z0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(O0<<2)|0,e[w>>2]=k0,D=x+(O0<<2)|0,s[D>>2]=M0,V0=O0;break}else if((o1|0)==12){o1=0,s0=m+(Y0<<2)|0,e[s0>>2]=k0,V=x+(Y0<<2)|0,s[V>>2]=M0,V0=Y0;break}}while(!1);if(s1=V0+1|0,o0=k0+1|0,q0=(o0|0)==(a|0),q0){i1=V0,x0=s1;break}else k0=o0,H0=s1}if(c0=(i1|0)>-1,!c0){C=h1;return}for(S0=o+1|0,z0=0,G0=0;;){if(q=(z0|0)<(i1|0),q?(h0=z0+1|0,t0=x+(h0<<2)|0,Z=+s[t0>>2],u0=x+(z0<<2)|0,$0=+s[u0>>2],l0=Z>$0,l0?(W=m+(h0<<2)|0,m0=e[W>>2]|0,T0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(z0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),d0=(T0|0)>(a|0),F0=d0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(z0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,J0=G0;;)if(y0=t+(J0<<2)|0,e[y0>>2]=Q0,w0=J0+1|0,N0=(w0|0)==(E0|0),N0){K0=E0;break}else J0=w0;else K0=G0;if(B0=z0+1|0,P0=(B0|0)==(x0|0),P0)break;z0=B0,G0=K0}C=h1}function vQ(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0;if(u2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,W=e[s0>>2]|0,E0=(W|0)==0,E0?v1=I:(q0=t+504|0,Y0=e[q0>>2]|0,A1=Y0-m|0,v1=A1),F1=(v1|0)>(I|0),V1=F1?I:v1,F=(V1|0)>0,F)for(T=(d|0)==0,N=(v1|0)<(I|0),G=N?v1:I,q1=0;;){T?O1=9:(a0=d+(q1<<2)|0,K=e[a0>>2]|0,r0=(K|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,V=$+(q1<<2)|0,o0=+s[V>>2],q=g+(q1<<2)|0,h0=+s[q>>2],t0=o0/h0,Z=a+(q1<<2)|0,u0=+s[Z>>2],c0=u0<0,$0=t0,l0=+Hn(+$0),m0=+z7(l0),c0){g0=-m0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{d0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(G|0),x1){J1=G;break}else q1=C0}else J1=0;if(Y=(J1|0)<(I|0),!Y)return w=0,C=u2,+w;for(e0=(d|0)!=0,J=o-m|0,Q=0,U1=0,H1=J1;;){e0?(S0=d+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],W0=w0/_0,M0=!(W0<.25),v0=(H1|0)<(J|0),X1=e0&v0,o2=M0|X1,o2){k0=a+(H1<<2)|0,z0=+s[k0>>2],F0=z0<0,L0=W0,G0=+Hn(+L0),K0=+z7(G0),J0=-K0,x=F0?J0:K0,y=~~x,H0=E+(H1<<2)|0,e[H0>>2]=y,Z0=n5(y,y)|0,O0=+(Z0|0),s1=+s[B0>>2],V0=O0*s1,s[y0>>2]=V0,B=Q,D1=U1;break}else{T0=W0+Q,N0=U1+1|0,P0=R+(U1<<2)|0,e[P0>>2]=y0,B=T0,D1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=D1;break}else Q=B,U1=D1,H1=i1}if(x0=(P1|0)==0,x0||(Uu(R,P1,4,9),o1=(P1|0)>0,!o1))return w=S,C=u2,+w;for(h1=$,g1=t+512|0,m1=+l1[g1>>3],b=S,Y1=0;;)if(d1=R+(Y1<<2)|0,u1=e[d1>>2]|0,c1=u1,a1=c1-h1|0,$1=a1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],v=L1,M=k1,j1=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[u1>>2]=j1,R1=Y1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,Y1=R1;return C=u2,+w}function xb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],m=$d,Q=E&1,B=I-Q|0,B|0}function Lb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Mb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,J=0;T=e[F>>2]|0,N=T+(J<<2)|0,G=e[N>>2]|0,Y=(G|0)==0,Y?d=L:(E2(G),o=e[$>>2]|0,d=o),e0=J+1|0,g=(e0|0)<(d|0),g;)L=d,J=e0;if(m=e[F>>2]|0,E2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,E2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,E2(M),E2(t)}}function Rb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0;if(d0=C,g=e[t>>2]|0,q2(o,g,24),d=t+4|0,y=e[d>>2]|0,q2(o,y,24),J=t+8|0,q=e[J>>2]|0,h0=q+-1|0,q2(o,h0,24),t0=t+12|0,Z=e[t0>>2]|0,u0=Z+-1|0,q2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,q2(o,m,8),I=e[t0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,W=0;;){if(b=Q+(W<<2)|0,v=e[b>>2]|0,w=q8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(q2(o,x,3),q2(o,1,1),M=e[b>>2]|0,L=M>>3,q2(o,L,5)):q2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(T=a&1,N=T+f0|0,G=a>>>1,Y=(G|0)==0,Y){g0=N;break}else a=G,f0=N;if(e0=g0+$0|0,a0=W+1|0,K=e[t0>>2]|0,r0=(a0|0)<(K|0),r0)$0=e0,W=a0;else{$=e0;break}}if(B=($|0)>0,!!B)for(S=t+280|0,m0=0;s0=S+(m0<<2)|0,V=e[s0>>2]|0,q2(o,V,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Fb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0;a1=C,m=le(1,2840)|0,I=t+28|0,M=e[I>>2]|0,K=i4(o,24)|0,e[m>>2]=K,$0=i4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=i4(o,24)|0,Z0=N0+1|0,Y0=m+8|0,e[Y0>>2]=Z0,s1=i4(o,6)|0,E=s1+1|0,Q=m+12|0,e[Q>>2]=E,B=i4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)c1=26;else{if(v=(s1|0)>-1,v){for(w=m+24|0,i1=0,h1=0;;){if(x=i4(o,3)|0,L=i4(o,1)|0,R=(L|0)<0,R){c1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(T=i4(o,5)|0,N=(T|0)<0,N){c1=26;break e}G=T<<3,Y=G|x,x0=Y}if(e0=w+(h1<<2)|0,e[e0>>2]=x0,J=(x0|0)==0,J)u1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,V=(s0|0)==0,V){u1=r0;break}else $=s0,A1=r0;if(o0=u1+i1|0,q=h1+1|0,h0=e[Q>>2]|0,t0=(q|0)<(h0|0),t0)i1=o0,h1=q;else{d=o0;break}}if(D=(d|0)>0,D)for(y=m+280|0,g1=0;;){if(Z=i4(o,8)|0,u0=(Z|0)<0,u0)break e;if(c0=y+(g1<<2)|0,e[c0>>2]=Z,l0=g1+1|0,W=(l0|0)<(d|0),W)g1=l0;else{O0=D,V0=d;break}}else O0=0,V0=d}else O0=0,V0=0;if(m0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(m0|0)<(f0|0),n0){if(O0)for(d0=m+280|0,m1=0;;){if(S0=d0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,W0=(_0|0)==0,p0=m1+1|0,W0))break e;if(C0=(p0|0)<(V0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(m0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,P0=e[T0>>2]|0,q0=e[v0>>2]|0,k0=(q0|0)<1,!k0){for(z0=e[Q>>2]|0,o1=q0,d1=1;;){if(G0=n5(z0,d1)|0,K0=(G0|0)>(P0|0),K0)break e;if(F0=o1+-1|0,L0=(o1|0)>1,L0)o1=F0,d1=G0;else{g=G0;break}}return J0=m+16|0,e[J0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(H0=(m|0)==0,H0)?(a=0,a|0):(E2(m),a=0,a|0)}function Tb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,d=le(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[d>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,H0=d+4|0,e[H0>>2]=T0,s1=c0+2848|0,V0=e[s1>>2]|0,I=d+12|0,e[I>>2]=V0,E=V0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=d+16|0,e[b>>2]=S,v=e[S>>2]|0,w=le(T0,4)|0,D=d+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,u1=0,I1=0;;){if(R=M+(u1<<2)|0,F=e[R>>2]|0,T=q8(F)|0,N=(T|0)==0,N)h1=i1,Q1=I1;else if(G=(T|0)>(I1|0),$=G?T:I1,Y=le(T,4)|0,e0=w+(u1<<2)|0,e[e0>>2]=Y,J=(T|0)>0,J)for(K=e[R>>2]|0,r0=w+(u1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,V=K&s0,o0=(V|0)==0,o0?o1=x0:(q=e[s1>>2]|0,h0=x0+1|0,t0=L+(x0<<2)|0,Z=e[t0>>2]|0,u0=q+(Z*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=h0),W=$1+1|0,m1=(W|0)==(T|0),m1){h1=o1,Q1=$;break}else x0=o1,$1=W;else h1=i1,Q1=$;if(m0=u1+1|0,g0=(m0|0)<(T0|0),g0)i1=h1,u1=m0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=d+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(d0=n5(p0,T0)|0,C0=A1+1|0,g1=(C0|0)==(v|0),g1){a=d0;break}else p0=d0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=d+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=M9(b0)|0,w0=d+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return d|0;if(_0=v<<2,!n0){for(c1=0;J0=M9(_0)|0,Z0=y0+(c1<<2)|0,e[Z0>>2]=J0,O0=c1+1|0,Y0=(O0|0)<(E0|0),Y0;)c1=O0;return d|0}for(W0=e[w0>>2]|0,a1=0;;){for(L0=M9(_0)|0,G0=y0+(a1<<2)|0,e[G0>>2]=L0,K0=W0+(a1<<2)|0,z0=e[K0>>2]|0,g=E0,j0=0,B1=a1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,P0=n5(N0,p1)|0,q0=B1-P0|0,k0=z0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,d1=(F0|0)==(v|0),!d1;)g=p1,j0=F0,B1=q0;if(M0=a1+1|0,v0=(M0|0)<(E0|0),v0)a1=M0;else break}return d|0}function Nb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||kQ(t,o,a,L,2),0}function Gb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,E=(d|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(d|0),M){T=F;break}else L=y,R=F;return x=(T|0)==0,x||SQ(t,a,$,T,m),0}function Ub(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)o1=0,I1=0;else return d=0,d|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(o1<<2)|0,b0=e[l0>>2]|0,P0=I1+1|0,K0=a+(I1<<2)|0,e[K0>>2]=b0,Q1=P0),J0=o1+1|0,Y0=(J0|0)==(g|0),Y0){p1=Q1;break}else o1=J0,I1=Q1;if(H0=(p1|0)==0,H0)return d=0,d|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=K8(t,R)|0,T=+(S|0),N=100/T,G=N,Y=(p1|0)>0,Y)for(e0=M<<2,h1=0;V=K8(t,e0)|0,o0=F+(h1<<2)|0,e[o0>>2]=V,g4(V|0,0,e0|0)|0,q=h1+1|0,x0=(q|0)==(p1|0),!x0;)h1=q;if(J=(M|0)>0,J)for(a0=(S|0)>0,K=v+-1|0,s0=(v|0)>1,g1=0;;){if(h0=n5(g1,S)|0,t0=e[Q>>2]|0,Z=t0+h0|0,Y)for(d1=0;;){if(a0)for(u0=a+(d1<<2)|0,c0=e[u0>>2]|0,O0=0,u1=0,$1=0;;)if($0=Z+u1|0,W=c0+($0<<2)|0,m0=e[W>>2]|0,m1=(m0|0)>-1,j0=0-m0|0,g0=m1?m0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+O0|0,d0=u1+1|0,s1=(d0|0)==(S|0),s1){Z0=n0,a1=m;break}else O0=n0,u1=d0,$1=m;else Z0=0,a1=0;p0=+(Z0|0),C0=p0*G,S0=~~C0;e:do if(s0)for(c1=0;;){if(Q0=(Q+2328|0)+(c1<<2)|0,E0=e[Q0>>2]|0,y0=(a1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,W0=(S0|0)<(B0|0),E1=_0|W0,E1)){A1=c1;break e}if(M0=c1+1|0,v0=(M0|0)<(K|0),v0)c1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(d1<<2)|0,N0=e[T0>>2]|0,q0=N0+(g1<<2)|0,e[q0>>2]=A1,k0=d1+1|0,V0=(k0|0)==(p1|0),V0)break;d1=k0}if(z0=g1+1|0,i1=(z0|0)==(M|0),i1)break;g1=z0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,d=F,d|0}function Pb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||kQ(t,o,a,L,3),0}function Ob(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,a1=0;else return d=0,d|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,d1=(R|0)!=0,s0=d1&1,A1=s0+a1|0,W=G0+1|0,z0=(W|0)==(g|0),z0){c1=A1;break}else G0=W,a1=A1;if(u1=(c1|0)==0,u1)return d=0,d|0;if(E0=e[o>>2]|0,W0=E0+8|0,M0=e[W0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=K8(t,4)|0,y=w<<2,x=K8(t,y)|0,e[D>>2]=x,g4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,T=(M0|0)>0,N=T0+-1|0,G=(T0|0)>1,Y=e[D>>2]|0,e0=(g|0)>1,K0=0,V0=F;;){if(T)for(J=e[a>>2]|0,P0=0,Z0=0,x0=V0,h1=0;;){if(a0=J+(x0<<2)|0,K=e[a0>>2]|0,J0=(K|0)>-1,g1=0-K|0,r0=J0?K:g1,V=(r0|0)>(h1|0),I=V?r0:h1,e0)for(k0=P0,s1=1;;)if(o0=a+(s1<<2)|0,q=e[o0>>2]|0,h0=q+(x0<<2)|0,t0=e[h0>>2]|0,H0=(t0|0)>-1,m1=0-t0|0,Z=H0?t0:m1,u0=(Z|0)>(k0|0),m=u0?Z:k0,c0=s1+1|0,F0=(c0|0)==(g|0),F0){q0=m;break}else k0=m,s1=c0;else q0=P0;if($0=x0+1|0,l0=Z0+g|0,m0=(l0|0)<(M0|0),m0)P0=q0,Z0=l0,x0=$0,h1=I;else{N0=q0,i1=$0,o1=I;break}}else N0=0,i1=V0,o1=0;e:do if(G)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,f0=e[g0>>2]|0,n0=(o1|0)>(f0|0),!n0&&(d0=(E0+2584|0)+(Y0<<2)|0,p0=e[d0>>2]|0,C0=(N0|0)>(p0|0),!C0)){O0=Y0;break e}if(S0=Y0+1|0,Q0=(S0|0)<(N|0),Q0)Y0=S0;else{O0=S0;break}}else O0=0;while(!1);if(b0=Y+(K0<<2)|0,e[b0>>2]=O0,y0=K0+1|0,L0=(y0|0)==(w|0),L0)break;K0=y0,V0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,d=D,d|0}function qb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0;if(c0=C,C=C+16|0,Z=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=d<<2,T=n5(F,R)|0,N=K8(o,T)|0,e[Z>>2]=N,G=(d|0)>0,!G)return C=c0,0;for(Y=(Q|0)>1,K=0,t0=0;;){if(e0=$+(K<<2)|0,J=e[e0>>2]|0,B=g+(K<<2)|0,S=e[B>>2]|0,V=(S|0)!=0,b=V&1,q=b+t0|0,Y)for(r0=0,s0=K;v=J+(r0<<2)|0,w=e[v>>2]|0,D=N+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+d|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=K+1|0,a0=(L|0)==(d|0),a0){h0=q;break}else K=L,t0=q}return o0=(h0|0)==0,o0?(C=c0,0):(SQ(t,a,Z,1,m),C=c0,0)}function Hb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,P0=t+36|0,O0=e[P0>>2]|0,u1=n5(O0,g)|0,A1=u1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),d=S?B:A1,b=e[I>>2]|0,v=d-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=K8(t,R)|0,T=(g|0)>0;e:do if(T)for(a1=0;;){if(N=$+(a1<<2)|0,G=e[N>>2]|0,Y=(G|0)==0,!Y){c1=a1;break e}if(e0=a1+1|0,J=(e0|0)<(g|0),J)a1=e0;else{c1=e0;break}}else c1=0;while(!1);if(a0=(c1|0)==(g|0),a0||(K=o+8|0,s0=e[K>>2]|0,V=(s0|0)>0,!V))return 0;o0=(D|0)>0,q=t+4|0,h0=I+16|0,t0=o+28|0,Z=(b0|0)>0,u0=o+20|0,d1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,m0=iE(W,q)|0,g0=(m0|0)==-1,g0){v1=23;break e}if(f0=e[h0>>2]|0,n0=(m0|0)<(f0|0),!n0){v1=23;break e}if(d0=e[t0>>2]|0,p0=d0+(m0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=Z&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,W0=(I+24|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,q0=N0+(_0<<2)|0,k0=e[q0>>2]|0,z0=k0+(w1<<2)|0,F0=e[z0>>2]|0,L0=(F0|0)==0,!L0&&(G0=n5(E1,L)|0,K0=e[I>>2]|0,J0=K0+G0|0,H0=WS(F0,a,J0,g,q,L)|0,Z0=(H0|0)==-1,Z0))){v1=23;break e}if(Y0=I1+1|0,s1=E1+1|0,V0=(Y0|0)<(b0|0),i1=(s1|0)<(D|0),p1=V0&i1,p1)E1=s1,I1=Y0;else{j0=s1;break}}else j0=$1;if(x0=Q1+1|0,o1=(j0|0)<(D|0),o1)$1=j0,Q1=x0;else break}m=e[K>>2]|0,m1=m}else m1=d1;if(h1=w1+1|0,g1=(h1|0)<(m1|0),g1)d1=m1,w1=h1;else{v1=23;break}}return(v1|0)==23,0}function kQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,V=o+16|0,m0=e[V>>2]|0,y0=e[m0>>2]|0,k0=t+36|0,s1=e[k0>>2]|0,c1=s1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(c1|0),d=b?S:c1,v=e[Q>>2]|0,w=d-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,T=R+y|0,N=(T|0)/(y0|0)&-1,G=N<<2,U1=0;h0=K8(t,G)|0,t0=M+(U1<<2)|0,e[t0>>2]=h0,Z=U1+1|0,M1=(Z|0)==($|0),!M1;)U1=Z;if(Y=o+8|0,e0=e[Y>>2]|0,J=(e0|0)>0,!J){C=X1;return}a0=(y|0)>0,K=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,q=o+20|0,E=L^1,Y1=0;e:for(;;){if(a0)for(u0=1<>2]|0,V0=iE(Y0,K)|0,i1=(V0|0)==-1,i1){V1=25;break e}if(x0=e[r0>>2]|0,o1=(V0|0)<(x0|0),!o1){V1=25;break e}if(h1=e[s0>>2]|0,g1=h1+(V0<<2)|0,m1=e[g1>>2]|0,d1=M+(D1<<2)|0,u1=e[d1>>2]|0,A1=u1+(x1<<2)|0,e[A1>>2]=m1,a1=(m1|0)==0,Z0=D1+1|0,a1){V1=25;break e}if(O0=(Z0|0)<($|0),O0)D1=Z0;else break}c0=(b1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),J1=E1&I1,J1)R1=j0,Z1=$1;else{_1=j0;break t}for(;;){for(d0=n5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+d0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,W0=(_0|0)==0,!W0&&(M0=e[q>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(Y1<<2)|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0&&(z0=a+(P1<<2)|0,F0=e[z0>>2]|0,L0=F0+(n0<<2)|0,G0=xC[g&3](P0,L0,K,F)|0,K0=(G0|0)==-1,K0))){V1=25;break e}if(J0=P1+1|0,H0=(J0|0)<($|0),H0)P1=J0;else break}if($0=G1+1|0,l0=F1+1|0,W=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=W&g0,q1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,p1=(_1|0)<(y|0),p1)b1=_1,x1=Q1;else break}if(B1=Y1+1|0,w1=e[Y>>2]|0,v1=(B1|0)<(w1|0),v1)Y1=B1;else{V1=25;break}}if((V1|0)==25){C=X1;return}}function SQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,G5=Q6+1024|0,J6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,l2=e[x>>2]|0,z2=y+12|0,Z2=e[z2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,d3=y+4|0,q3=e[d3>>2]|0,M=e[y>>2]|0,K=q3-M|0,$0=(K|0)/(l2|0)&-1,g4(J6|0,0,512)|0,g4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(d1=($0|0)>0,B1=($|0)>0,D1=(f5|0)>1,o2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(d1){for(G2=(c6|0)==0,L2=1<>2]|0,q5=x5+(j5<<2)|0,L5=e[q5>>2]|0,V2=e[Q5>>2]|0,p5=V2+4|0,$5=e[p5>>2]|0,u5=(L5|0)<($5|0),u5&&(y5=Nu(V2,L5,t)|0,D5=e[o2>>2]|0,h5=D5+y5|0,e[o2>>2]=h5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(M3<<2)|0,I5=e[b2>>2]|0,B5=I5+(j5<<2)|0,o5=e[B5>>2]|0,C6=1,A6=o5;;)if(e5=n5(A6,Z2)|0,F5=C6+j5|0,t5=(F5|0)<($0|0),t5?(_5=I5+(F5<<2)|0,b5=e[_5>>2]|0,Y5=b5+e5|0,D6=Y5):D6=e5,g5=C6+1|0,x3=(g5|0)==(f5|0),x3){G6=D6;break}else C6=g5,A6=D6;if(K2=e[Q5>>2]|0,O2=K2+4|0,U2=e[O2>>2]|0,H2=(G6|0)<(U2|0),H2&&(W2=Nu(K2,G6,t)|0,A5=e[o2>>2]|0,Y2=A5+W2|0,e[o2>>2]=Y2),N1=M3+1|0,b3=(N1|0)==($|0),b3)break;M3=N1}}while(!1);if(R2=(j5|0)<($0|0),R6=i2&R2,R6){for(M2=j5-$0|0,y2=M2>>>0>>0,H6=y2?Q2:M2,T5=0-H6|0,d6=j5,J3=0;;){if(j2=n5(d6,l2)|0,h2=e[y>>2]|0,w5=h2+j2|0,B1)for(o6=0;;){if(i5=g+(o6<<2)|0,s5=e[i5>>2]|0,d5=s5+(d6<<2)|0,J2=e[d5>>2]|0,G2&&(r5=A3+(J2<<2)|0,M5=e[r5>>2]|0,X2=M5+l2|0,e[r5>>2]=X2),c5=(y+24|0)+(J2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,z5=(v5|0)==0,!z5&&(i3=e[D2>>2]|0,E5=i3+(J2<<2)|0,I3=e[E5>>2]|0,W5=I3+(c6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,N5=e[B3>>2]|0,Z5=e[r3>>2]|0,_3=(l2|0)/(Z5|0)&-1,f3=(_3|0)>0,f3){for(w3=r3+48|0,X3=r3+52|0,X5=r3+44|0,D3=r3+12|0,t3=r3+4|0,L=Z5,S5=0,h3=0;;){s6=n5(h3,Z5)|0,b=s6+w5|0,N3=N5+(b<<2)|0,H3=e[w3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(G=g3+-1|0,m3=0,S6=0,K3=L;;)if(C0=K3+-1|0,D=b+C0|0,S0=N5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-H3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(W0=E0-u3|0,M0=W0<<1,T0=M0),v0=n5(S6,g3)|0,P0=(T0|0)<0,q0=(T0|0)>=(g3|0),k0=q0?G:T0,z0=P0?0:k0,F0=z0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,K3=C0}else{if(!R){r6=0;break}for(F=c3>>1,T=F-H3|0,N=g3+-1|0,L3=0,M6=0,R3=L;;)if(Y=R3+-1|0,w=b+Y|0,e0=N5+(w<<2)|0,J=e[e0>>2]|0,a0=T+J|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(V=u3-r0|0,o0=V<<1,q=o0+-1|0,u0=q):(h0=r0-u3|0,t0=h0<<1,u0=t0),Z=n5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),W=l0?N:u0,m0=c0?0:W,g0=m0+Z|0,f0=n5(r0,c3)|0,n0=f0+H3|0,d0=o3+(Y<<2)|0,e[d0>>2]=n0,p0=L3+1|0,V3=(p0|0)==(L|0),V3){r6=g0;break}else L3=p0,M6=g0,R3=Y}while(!1);K0=e[D3>>2]|0,J0=K0+8|0,H0=e[J0>>2]|0,O0=H0+r6|0,Y0=f[O0>>0]|0,s1=Y0<<24>>24<1;do if(s1){if(e[G5>>2]=0,e[G5+4>>2]=0,e[G5+8>>2]=0,e[G5+12>>2]=0,e[G5+16>>2]=0,e[G5+20>>2]=0,e[G5+24>>2]=0,e[G5+28>>2]=0,V0=g3+-1|0,i1=n5(V0,c3)|0,x0=i1+H3|0,o1=e[t3>>2]|0,h1=(o1|0)>0,h1)J5=-1,x6=0,f6=r6;else{N6=r6;break}for(;;){g1=H0+x6|0,m1=f[g1>>0]|0,u1=m1<<24>>24>0;do if(u1){if(R)for(j6=0,F3=0;;)if(A1=G5+(j6<<2)|0,c1=e[A1>>2]|0,v=b+j6|0,a1=N5+(v<<2)|0,$1=e[a1>>2]|0,j0=c1-$1|0,E1=n5(j0,j0)|0,I1=E1+F3|0,Q1=j6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else j6=Q1,F3=I1;else B6=0;if(p1=(J5|0)==-1,w1=(B6|0)<(J5|0),e6=p1|w1,!e6){H5=J5,b6=f6;break}e[o3>>2]=e[G5>>2]|0,e[o3+4>>2]=e[G5+4>>2]|0,e[o3+8>>2]=e[G5+8>>2]|0,e[o3+12>>2]=e[G5+12>>2]|0,e[o3+16>>2]=e[G5+16>>2]|0,e[o3+20>>2]=e[G5+20>>2]|0,e[o3+24>>2]=e[G5+24>>2]|0,e[o3+28>>2]=e[G5+28>>2]|0,H5=B6,b6=x6}else H5=J5,b6=f6;while(!1);if(v1=e[G5>>2]|0,k1=(v1|0)<(x0|0),k1)m=G5,I=v1;else for(M1=G5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,b1=G5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(x0|0),R1){m=b1,I=_1;break}else M1=b1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=x6+1|0,n3=(G1|0)==(o1|0),n3){N6=b6;break}else J5=H5,x6=G1,f6=b6}}else N6=r6;while(!1);if(x1=(N6|0)>-1,l6=R&x1,l6)for(d=N3,L6=0;J1=o3+(L6<<2)|0,q1=e[J1>>2]|0,H1=d+4|0,Y1=e[d>>2]|0,V1=Y1-q1|0,e[d>>2]=V1,X1=L6+1|0,l3=(X1|0)==(L|0),!l3;)d=H1,L6=X1;if(j1=Nu(r3,N6,t)|0,O1=j1+S5|0,u2=h3+1|0,G3=(u2|0)==(_3|0),G3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,h3=u2}B=e[i5>>2]|0,C2=B,V5=E}else C2=s5,V5=0;W1=e[S2>>2]|0,I2=W1+V5|0,e[S2>>2]=I2,a2=C2+(d6<<2)|0,A2=e[a2>>2]|0,K1=J6+(A2<<2)|0,d2=e[K1>>2]|0,c2=d2+V5|0,e[K1>>2]=c2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if($2=J3+1|0,e2=d6+1|0,S3=($2|0)==(T5|0),S3)break;d6=e2,J3=$2}P2=j5-H6|0,z3=P2}else z3=j5;if(p2=(z3|0)<($0|0),p2)j5=z3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(s2=c6+1|0,m2=(s2|0)<(t2|0),m2)k2=t2,c6=s2;else break}C=Q6}function q8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){m=g;break}else o=$,I=g;return m|0}function bQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0;d2=C,C=C+144|0,O1=d2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=M9(R)|0,g4(O1|0,0,132)|0,W=(o|0)>0;do if(W){E0=O1+4|0,q0=(a|0)==0,Y0=q0&1,v1=0,D1=0;e:for(;;){A1=t+D1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,u2=w|y,!u2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(V=v,o0=M,J1=B;;){if(r0=V+1|0,e[o0>>2]=r0,q=J1+-1|0,h0=(J1|0)>1,!h0)break i;if(d=O1+(q<<2)|0,I=e[d>>2]|0,t0=O1+(q<<2)|0,Z=I&1,u0=(Z|0)==0,u0)V=I,o0=t0,J1=q;else{g=t0,x1=q,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(x1|0)==1,N){G=e[E0>>2]|0,Y=G+1|0,e[E0>>2]=Y;break}else{e0=x1+-1|0,J=O1+(e0<<2)|0,a0=e[J>>2]|0,K=a0<<1,e[g>>2]=K;break}while(!1);if(V1=B+1|0,T=(V1|0)<33,T)for(R1=v,H1=B,X1=V1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,d0=(q1|0)<33,d0)Y1=X1,R1=$0,X1=q1,H1=Y1;else{m=1;break}}else m=1}else m=Y0;while(!1);if(k1=v1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,D1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return E2(s0),$=0,C=d2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,O0=e[Z0>>2]|0,s1=32-P1|0,V0=-1>>>s1,i1=O0&V0,x0=(i1|0)==0,J0=P1+1|0,!!x0;)if(H0=(J0|0)<33,H0)P1=J0,K1=27;else break e;return E2(s0),$=0,C=d2,$|0}while(!1);if(!W)return $=s0,C=d2,$|0;if(E)b1=0,G1=0;else{for(M1=0,Z1=0;;){if(o1=t+Z1|0,h1=f[o1>>0]|0,g1=h1<<24>>24>0,g1)for(m1=s0+(M1<<2)|0,d1=e[m1>>2]|0,u1=h1<<24>>24,o2=0,C2=0;;)if(c1=C2<<1,a1=d1>>>o2,$1=a1&1,j0=$1|c1,E1=o2+1|0,I1=(E1|0)<(u1|0),I1)o2=E1,C2=j0;else{I2=j0;break}else I2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=I2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=d2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(K0=s0+(b1<<2)|0,P0=e[K0>>2]|0,G0=w0<<24>>24,j1=0,A2=0;;)if(T0=A2<<1,N0=P0>>>j1,k0=N0&1,z0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,A2=z0;else{a2=z0;break}else a2=0;if(_0=w0<<24>>24==0,_0?_1=b1:(W0=b1+1|0,M0=s0+(b1<<2)|0,e[M0>>2]=a2,_1=W0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=d2,$|0}function Yb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0;if(V=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,T=+Ru(+M,+F),d=+iA(+T),m=~~d,J=m;;){for(b=J+1|0,N=1,G=1,Y=0;;)if(B=n5(N,J)|0,S=n5(G,b)|0,v=Y+1|0,w=(v|0)<(D|0),w)N=B,G=S,Y=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),e0=I&E,e0){r0=J;break}Q=(o|0)>(g|0),K=Q?-1:1,a0=J+K|0,J=a0}return r0|0}function Vb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0;if(z5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,r5=E>>>0<2,!r5)return d=0,d|0;if(V0=t+16|0,a1=e[V0>>2]|0,L1=a1&2097151,x1=+(L1|0),W1=a1>>>21,$2=W1&1023,P2=(a1|0)<0,e5=-x1,$=P2?e5:x1,S=$2+-788|0,T=+oE($,S),o0=T,g0=t+20|0,w0=e[g0>>2]|0,z0=w0&2097151,Z0=+(z0|0),O0=w0>>>21,Y0=O0&1023,s1=(w0|0)<0,i1=-Z0,g=s1?i1:Z0,x0=Y0+-788|0,o1=+oE(g,x0),h1=o1,g1=e[t>>2]|0,m1=n5(g1,o)|0,d1=le(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(g1|0)>0,!k1)for(;;);for(M1=+(v1|0),b1=M1,_1=+(g1|0),R1=1/_1,F1=R1,U1=+Ru(+b1,+F1),D1=+iA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,o5=1,R2=1,p5=0;;)if(O1=n5(o5,c5)|0,u2=n5(R2,I2)|0,a2=p5+1|0,m5=(a2|0)==(g1|0),m5){m=O1,I=u2;break}else o5=O1,R2=u2,p5=a2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),X2=j1?-1:1,M5=X2+c5|0,c5=M5}if(J1=(v1|0)>0,!J1)return d=d1,d|0;for(q1=(a|0)==0,H1=t+8|0,Y1=t+32|0,V1=h1,X1=o0,o2=t+28|0,M2=0,T1=0;;){if(q1)if(l2=e[Y1>>2]|0,i2=e[o2>>2]|0,c2=(i2|0)==0,r2=n5(g1,M2)|0,c2)for(y5=1,j2=0;;)if(_5=(T1|0)/(y5|0)&-1,Z2=(_5|0)%(F2|0)&-1,I5=l2+(Z2<<2)|0,b5=e[I5>>2]|0,Y5=+(b5|0),V2=+tr(+Y5),g5=V2,b2=g5*V1,B5=X1+b2,b=B5,v=r2+j2|0,w=d1+(v<<2)|0,s[w>>2]=b,D=n5(y5,F2)|0,y=j2+1|0,x=(y|0)<(g1|0),x)y5=D,j2=y;else{v5=21;break}else for($5=1,h5=0,i5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=l2+(L<<2)|0,F=e[R>>2]|0,N=+(F|0),q5=+tr(+N),G=q5,Y=G*V1,e0=i5,J=e0+X1,a0=J+Y,K=a0,r0=r2+h5|0,s0=d1+(r0<<2)|0,s[s0>>2]=K,V=n5($5,F2)|0,q=h5+1|0,h0=(q|0)<(g1|0),h0)$5=V,h5=q,i5=K;else{v5=21;break}else if(C2=e[H1>>2]|0,A2=C2+T1|0,K1=f[A2>>0]|0,d2=K1<<24>>24==0,d2)y2=M2;else for(e2=e[Y1>>2]|0,s2=e[o2>>2]|0,m2=(s2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=n5(k2,g1)|0,u5=1,l5=0,s5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,G2=e2+(Q2<<2)|0,L2=e[G2>>2]|0,p2=+(L2|0),L5=+tr(+p2),K2=L5,O2=K2*V1,z2=s5,U2=z2+X1,H2=U2+O2,W2=H2,w5=m2?s5:W2,A5=D2+l5|0,Y2=d1+(A5<<2)|0,s[Y2>>2]=W2,N1=n5(u5,F2)|0,F5=l5+1|0,t5=(F5|0)<(g1|0),t5)u5=N1,l5=F5,s5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,t0=M2+1|0,y2=t0),Z=T1+1|0,u0=(Z|0)<(v1|0),u0)M2=y2,T1=Z;else{d=d1;break}}return d|0}else if((B|0)==2){if(u1=t+4|0,A1=e[u1>>2]|0,c1=(A1|0)>0,!c1)return d=d1,d|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=h1,Q1=o0,p1=t+28|0,B1=(g1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,W=l0<<24>>24==0,W?T5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(m0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,d0=a+(Q5<<2)|0,p0=n5(g1,D5)|0,C0=n5(g1,Q5)|0,h2=0,J2=0;S0=p0+h2|0,Q0=m0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),x5=+tr(+E0),y0=x5,B0=y0*I1,_0=J2,W0=_0+Q1,M0=W0+B0,v0=M0,d5=n0?J2:v0,$1?(T0=e[d0>>2]|0,N0=n5(T0,g1)|0,P0=N0+h2|0,q0=d1+(P0<<2)|0,s[q0>>2]=v0):(k0=C0+h2|0,F0=d1+(k0<<2)|0,s[F0>>2]=v0),L0=h2+1|0,G0=(L0|0)<(g1|0),G0;)h2=L0,J2=d5;K0=Q5+1|0,T5=K0}if(J0=D5+1|0,H0=(J0|0)<(A1|0),H0)Q5=T5,D5=J0;else{d=d1;break}}return d|0}else return d=d1,d|0;return 0}function SC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),E2(t))}function zb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||E2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||E2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||E2($),d=t+32|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function DQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0;O0=C,H0=t,Y0=H0+56|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(Y0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,K=t+4|0,e[K>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,W0=e[_0>>2]|0,M0=bQ(W0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Ru(+b,+D),x=+iA(+y),L=~~x,K0=L;;){for(Y=K0+1|0,T0=1,N0=1,q0=0;;)if(N=n5(T0,K0)|0,G=n5(N0,Y)|0,e0=q0+1|0,P0=(e0|0)==(Q|0),P0){g=N,d=G;break}else T0=N,N0=G,q0=e0;if(R=(g|0)<=(E|0),F=(d|0)>(E|0),k0=F&R,k0){J0=K0;break}T=(g|0)>(E|0),G0=T?-1:1,L0=G0+K0|0,K0=L0}return J=t+44|0,e[J>>2]=J0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,V=+(s0|0),o0=r0>>>21,q=o0&1023,h0=(r0|0)<0,t0=-V,a=h0?t0:V,Z=q+-788|0,u0=+oE(a,Z),c0=u0,z0=+FQ(c0),l0=~~z0,W=t+48|0,e[W>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,f0=g0&2097151,n0=+(f0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+oE($,b0),y0=E0,F0=+FQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function Jb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0;P3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(b=o+4|0,v=e[b>>2]|0,C2=(v|0)>0,C2)for(V2=o+8|0,w5=e[V2>>2]|0,J3=0,G6=0;;)if(v5=w5+J3|0,Z5=f[v5>>0]|0,H3=Z5<<24>>24>0,$6=H3&1,E=$6+G6|0,j5=J3+1|0,w=(j5|0)<(v|0),w)J3=j5,G6=E;else{d0=E;break}else d0=0;if(Y=t+4|0,e[Y>>2]=v,t0=t+8|0,e[t0>>2]=d0,W0=e[o>>2]|0,e[t>>2]=W0,G0=(d0|0)>0,!G0)return $=0,C=P3,$|0;if(o1=o+8|0,E1=e[o1>>2]|0,_1=bQ(E1,v,d0)|0,H1=d0<<2,d=H1,A2=C,C=C+((1*d|0)+15&-16)|0,t2=(_1|0)==0,t2){H2=t+16|0,W2=e[H2>>2]|0,A5=(W2|0)==0,A5||E2(W2),Y2=t+20|0,N1=e[Y2>>2]|0,e5=(N1|0)==0,e5||E2(N1),F5=t+24|0,t5=e[F5>>2]|0,_5=(t5|0)==0,_5||E2(t5),I5=t+28|0,b5=e[I5>>2]|0,Y5=(b5|0)==0,Y5||E2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=P3,$|0}else R3=0;for(;z2=_1+(R3<<2)|0,Z2=e[z2>>2]|0,Q5=Z2>>>16,T5=Z2<<16,m5=Q5|T5,x5=m5>>>8,q5=x5&16711935,L5=m5<<8,p5=L5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,h5=y5|D5,l5=h5>>>2,j2=l5&858993459,h2=h5<<2,i5=h2&-858993460,s5=j2|i5,d5=s5>>>1,J2=d5&1431655765,f5=s5<<1,r5=f5&-1431655766,M5=J2|r5,e[z2>>2]=M5,X2=A2+(R3<<2)|0,e[X2>>2]=z2,c5=R3+1|0,j6=(c5|0)==(d0|0),!j6;)R3=c5;for(Uu(A2,d0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,z5=M9(H1)|0,i3=t+20|0,e[i3>>2]=z5,E5=_1,K3=0;;)if(I3=A2+(K3<<2)|0,d3=e[I3>>2]|0,W5=d3,r3=W5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=K3,N5=K3+1|0,N6=(N5|0)==(d0|0),N6){e6=0;break}else K3=N5;for(;_3=_1+(e6<<2)|0,f3=e[_3>>2]|0,w3=F2+(e6<<2)|0,X3=e[w3>>2]|0,q3=z5+(X3<<2)|0,e[q3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(d0|0),!b6;)e6=X5;if(E2(_1),D3=Vb(o,d0,F2)|0,t3=t+16|0,e[t3>>2]=D3,s6=M9(H1)|0,N3=t+24|0,e[N3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=Q+R6|0,Q3=f[u3>>0]|0,J5=Q3<<24>>24>0,J5?(H5=Q6+1|0,V5=F2+(Q6<<2)|0,S5=e[V5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,G5=R6+1|0,n3=(G5|0)<(c3|0),n3)R6=G5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=M9(e9)|0,G3=t+28|0,e[G3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[o1>>2]|0,o5=0,x3=B,l6=0,r9=0;;)if(S3=x3+l6|0,b3=f[S3>>0]|0,a6=b3<<24>>24>0,a6?(i6=r9+1|0,V3=F2+(r9<<2)|0,L3=e[V3>>2]|0,h3=e[G3>>2]|0,z3=h3+L3|0,f[z3>>0]=b3,d6=e[o1>>2]|0,m3=d6+l6|0,x6=f[m3>>0]|0,L6=x6<<24>>24,M6=e[E6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[E6>>2]=L6,R2=L6,M2=d6,Y6=i6):(R2=M6,M2=d6,Y6=i6)):(R2=o5,M2=x3,Y6=r9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)o5=R2,x3=M2,l6=r6,r9=Y6;else{I=R2,o9=Y6;break}if(x=(o9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=le(2,4)|0,F=t+32|0,e[F>>2]=R,T=R+4|0,e[T>>2]=1,e[R>>2]=1,$=0,C=P3,$|0;U3=1}else U3=o9}else U3=0;if(N=e[t0>>2]|0,G=(N|0)==0,G)U6=-4;else{for(g=N,V6=0;;)if(e0=g>>>1,J=V6+1|0,a0=(e0|0)==0,a0){F6=V6;break}else g=e0,V6=J;g9=F6+-3|0,U6=g9}if(K=t+36|0,r0=(U6|0)<5,a=r0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[K>>2]=t9,V=1<>2]=o0,h0=(U3|0)>0,h0)for(l0=t9,o3=0;;){if(Z=e[G3>>2]|0,u0=Z+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,W=(l0|0)<($0|0),W)y2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,P0=v0<<2,q0=P0&-858993460,k0=N0|q0,z0=k0>>>1,F0=z0&1431655765,L0=k0<<1,K0=L0&-1431655766,J0=F0|K0,H0=l0-$0|0,Z0=(H0|0)==31,Z0)y2=l0;else for(O0=o3+1|0,s1=$0,A3=0;;)if(Y0=A3<>2]=O0,x0=A3+1|0,h1=e[K>>2]|0,g1=f[u0>>0]|0,m1=g1<<24>>24,d1=h1-m1|0,u1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,b1=k1<<8,R1=b1&-16711936,F1=M1|R1,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=D1|Z1,x1=G1>>>2,J1=x1&858993459,q1=G1<<2,Y1=q1&-858993460,V1=J1|Y1,X1=V1>>>1,o2=X1&1431655765,j1=V1<<1,O1=j1&-1431655766,u2=o2|O1,W1=o0+(u2<<2)|0,I2=e[W1>>2]|0,a2=(I2|0)==0,a2){for(B6=c6;;){if(K1=B6+1|0,d2=(K1|0)<(U3|0),!d2){F3=B6;break}if(l2=e[i3>>2]|0,i2=l2+(K1<<2)|0,c2=e[i2>>2]|0,r2=c2>>>0>B1>>>0,r2){F3=B6;break}else B6=K1}$2=(U3|0)>(v6|0);e:do if($2)for(e2=e[i3>>2]|0,n6=v6;;){if(s2=e2+(n6<<2)|0,m2=e[s2>>2]|0,k2=m2&j0,D2=B1>>>0>>0,D2){M3=n6;break e}if(S2=n6+1|0,Q2=(U3|0)>(S2|0),Q2)n6=S2;else{M3=S2;break}}else M3=v6;while(!1);G2=U3-M3|0,L2=F3>>>0>32767,P2=G2>>>0>32767,C6=P2?32767:G2,H6=F3<<15,A6=H6|-2147483648,p2=L2?-1073774592:A6,K2=p2|C6,e[W1>>2]=K2,o6=M3,D6=F3}else o6=v6,D6=c6;if(O2=J6+1|0,U2=(O2|0)<(V|0),!U2){$=0;break}S=e[K>>2]|0,p1=S,v6=o6,J6=O2,c6=D6}return C=P3,$|0}function Kb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$>>>0>d>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function Wb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0;if(W0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,V=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,W=l0+4|0,m0=e[W>>2]|0,g0=(m0|0)>0,!!g0)){for(f0=m0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=n5(D,w)|0,x=v+-1|0,M=n5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(J=(R|0)==0,a=E+L|0,a0=V+(a<<2)|0,J){MQ(D,w,o,V,a0),y0=0;break}else{MQ(D,w,V,o,a0),y0=R;break}else if((v|0)==4)if(T=L+D|0,N=(R|0)==0,$=E+L|0,G=V+($<<2)|0,g=E+T|0,Y=V+(g<<2)|0,d=E+D|0,m=d+T|0,e0=V+(m<<2)|0,N){LQ(D,w,o,V,G,Y,e0),y0=0;break}else{LQ(D,w,V,o,G,Y,e0),y0=R;break}else if(K=(D|0)==1,b0=K?E0:R,r0=(b0|0)==0,I=E+L|0,s0=V+(I<<2)|0,r0){RQ(D,v,w,y,o,o,o,V,V,s0),y0=1;break}else{RQ(D,v,w,y,V,V,V,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,d0=(o0|0)==(m0|0),d0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(q=(w0|0)!=1,h0=(Q|0)>0,B0=h0&q,B0)p0=0;else return;for(;t0=V+(p0<<2)|0,Z=e[t0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=Z,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function _Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=le(m,4)|0,M=t+4|0,e[M>>2]=I,K=le(32,4)|0,$0=t+8|0,e[$0>>2]=K,Q0=(o|0)==1,!Q0){W0=K+8|0,V0=-1,g1=0,m1=o,u1=0;e:for(;;)for(M0=V0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=u1+2|0,A1=Q),B=(A1|0)!=2,H0=g1,d1=m1;;){if(K0=H0+1|0,S=(d1|0)/(A1|0)&-1,b=n5(S,A1)|0,v=(d1|0)==(b|0),!v){V0=M0,g1=H0,m1=d1,u1=A1;continue e}if(w=H0+2|0,D=K+(w<<2)|0,e[D>>2]=A1,y=(H0|0)==0,c1=B|y,!c1){if(x=(H0|0)<1,!x)for(F0=1;L=K0-F0|0,R=L+1|0,F=K+(R<<2)|0,T=e[F>>2]|0,N=L+2|0,G=K+(N<<2)|0,e[G>>2]=T,Y=F0+1|0,k0=(Y|0)==(K0|0),!k0;)F0=Y;e[W0>>2]=2}if(e0=(S|0)==1,e0){a=y,J0=K0,Z0=H0;break e}else H0=K0,d1=S}if(e[K>>2]=o,J=K+4|0,e[J>>2]=J0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,a1=s0&$,!!a1)for(V=o+1|0,O0=0,x0=0,o1=1;;){if(o0=x0+2|0,q=K+(o0<<2)|0,h0=e[q>>2]|0,t0=n5(h0,o1)|0,Z=(o|0)/(t0|0)&-1,u0=(h0|0)>1,u0){for(c0=(Z|0)>2,l0=h0+-1|0,s1=O0,i1=0,h1=0;;){if(W=h1+o1|0,m0=+(W|0),g0=m0*r0,c0)for(z0=0,L0=s1,G0=2;f0=z0+1,n0=g0*f0,N0=+rA(+n0),g=L0+o|0,d0=I+(g<<2)|0,s[d0>>2]=N0,$1=+Yn(+n0),p0=L0+2|0,d=V+L0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(Z|0),b0;)z0=f0,L0=p0,G0=S0;if(E0=s1+Z|0,y0=i1+1|0,P0=(y0|0)==(l0|0),P0)break;s1=E0,i1=y0,h1=W}w0=n5(Z,l0)|0,B0=w0+O0|0,Y0=B0}else Y0=O0;if(_0=x0+1|0,q0=(_0|0)==(Z0|0),q0)break;O0=Y0,x0=_0,o1=t0}}}function xQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+8|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function LQ(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0;if(I3=C,I=n5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,V1=t<<2,K1=V1+-1|0,k2=t<<1,h2=0,s5=I,f5=F1,X2=0,c5=E;U2=a+(s5<<2)|0,I5=+s[U2>>2],T5=a+(f5<<2)|0,Q=+s[T5>>2],R=Q+I5,s0=a+(X2<<2)|0,W=+s[s0>>2],E0=a+(c5<<2)|0,q0=+s[E0>>2],Y0=q0+W,A1=Y0+R,E1=X2<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=Y0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[T5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,Z1=s5+t|0,G1=f5+t|0,x1=X2+t|0,J1=c5+t|0,q1=h2+1|0,h5=(q1|0)==(o|0),!h5;)h2=q1,s5=Z1,f5=G1,X2=x1,c5=J1;if(H1=(t|0)<2,!H1){if(Y1=(t|0)==2,!Y1){if(Q1)for(X1=t<<1,w5=0,d5=0;;){for(n0=d5<<2,d0=n0+X1|0,j2=2,r5=d5,F2=n0,z5=d0;O1=r5+2|0,u2=F2+2|0,W1=z5+-2|0,I2=O1+I|0,a2=j2+-2|0,C2=g+(a2<<2)|0,A2=+s[C2>>2],d2=I2+-1|0,l2=a+(d2<<2)|0,i2=+s[l2>>2],c2=i2*A2,r2=j2+-1|0,$2=g+(r2<<2)|0,e2=+s[$2>>2],s2=a+(I2<<2)|0,m2=+s[s2>>2],t2=m2*e2,D2=t2+c2,S2=m2*A2,Q2=e2*i2,G2=S2-Q2,L2=I2+I|0,P2=d+(a2<<2)|0,p2=+s[P2>>2],K2=L2+-1|0,O2=a+(K2<<2)|0,z2=+s[O2>>2],H2=z2*p2,W2=d+(r2<<2)|0,A5=+s[W2>>2],Y2=a+(L2<<2)|0,N1=+s[Y2>>2],e5=N1*A5,F5=e5+H2,t5=N1*p2,_5=A5*z2,Z2=t5-_5,b5=L2+I|0,Y5=m+(a2<<2)|0,g5=+s[Y5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,o5=+s[B5>>2],R2=o5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],x5=m5*y2,q5=x5+R2,L5=m5*g5,V2=y2*o5,p5=L5-V2,$5=q5+D2,u5=q5-D2,y5=p5+G2,T1=G2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+Z2,v=S-Z2,w=r5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+F5,M=y-F5,L=$5+x,F=F2|1,T=$+(F<<2)|0,s[T>>2]=L,N=y5+b,G=$+(u2<<2)|0,s[G>>2]=N,Y=M-T1,e0=z5+-3|0,J=$+(e0<<2)|0,s[J>>2]=Y,a0=u5-v,K=$+(W1<<2)|0,s[K>>2]=a0,r0=T1+M,V=u2+X1|0,o0=V+-1|0,q=$+(o0<<2)|0,s[q>>2]=r0,h0=u5+v,t0=$+(V<<2)|0,s[t0>>2]=h0,Z=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=Z,l0=y5-b,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=j2+2|0,f0=(g0|0)<(t|0),f0;)j2=g0,r5=O1,F2=u2,z5=W1;if(o2=d5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,d5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,i5=0,J2=Q0,M5=w0,v5=t,i3=t;B0=a+(J2<<2)|0,_0=+s[B0>>2],W0=a+(M5<<2)|0,M0=+s[W0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,P0=N0*.7071067690849304,k0=i3+-1|0,z0=a+(k0<<2)|0,F0=+s[z0>>2],L0=P0+F0,G0=v5+-1|0,K0=$+(G0<<2)|0,s[K0>>2]=L0,J0=+s[z0>>2],H0=J0-P0,Z0=v5+y0|0,O0=Z0+-1|0,s1=$+(O0<<2)|0,s[s1>>2]=H0,V0=J2+I|0,i1=a+(V0<<2)|0,x0=+s[i1>>2],o1=T0-x0,h1=$+(v5<<2)|0,s[h1>>2]=o1,g1=+s[i1>>2],m1=g1+T0,d1=$+(Z0<<2)|0,s[d1>>2]=m1,u1=J2+t|0,c1=M5+t|0,a1=v5+b0|0,$1=i3+t|0,j0=i5+1|0,D5=(j0|0)==(o|0),!D5;)i5=j0,J2=u1,M5=c1,v5=a1,i3=$1}}function MQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,d=n5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=d;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,H0=+s[T0>>2],m1=H0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,a1=(D|0)==(o|0),!a1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=d;;){for(z0=B1<<1,F0=z0+m|0,j0=2,M1=k1,_1=F0,R1=B1,F1=z0;T=M1+2|0,N=_1+-2|0,G=R1+2|0,Y=F1+2|0,e0=j0+-2|0,J=g+(e0<<2)|0,K=+s[J>>2],r0=M1+1|0,s0=a+(r0<<2)|0,V=+s[s0>>2],o0=V*K,q=j0+-1|0,h0=g+(q<<2)|0,t0=+s[h0>>2],Z=a+(T<<2)|0,u0=+s[Z>>2],$0=u0*t0,l0=$0+o0,W=u0*K,m0=t0*V,g0=W-m0,f0=a+(G<<2)|0,n0=+s[f0>>2],d0=g0+n0,p0=$+(Y<<2)|0,s[p0>>2]=d0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(N<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,W0=$+(_0<<2)|0,s[W0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=_1+-3|0,P0=$+(N0<<2)|0,s[P0>>2]=v0,q0=j0+2|0,k0=(q0|0)<(t|0),k0;)j0=q0,M1=T,_1=N,R1=G,F1=Y;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(K0=t+-1|0,!!x)for(J0=d+K0|0,Q1=0,w1=t,L1=J0,b1=K0;Z0=a+(L1<<2)|0,O0=+s[Z0>>2],Y0=-O0,s1=$+(w1<<2)|0,s[s1>>2]=Y0,V0=a+(b1<<2)|0,i1=e[V0>>2]|0,x0=w1+-1|0,o1=$+(x0<<2)|0,e[o1>>2]=i1,h1=w1+m|0,g1=L1+t|0,d1=b1+t|0,u1=Q1+1|0,c1=(u1|0)==(o|0),!c1;)Q1=u1,w1=h1,L1=g1,b1=d1}}function RQ(t,o,a,$,g,d,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,V8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+rA(+v),H8=+Yn(+v),C2=o+1|0,S3=C2>>1,J9=t+-1|0,Ve=J9>>1,O9=n5(a,t)|0,k9=n5(o,t)|0,me=(t|0)==1;e:do if(!me){if(D8=($|0)>0,D8)for(D4=0;d0=m+(D4<<2)|0,W0=e[d0>>2]|0,G0=E+(D4<<2)|0,e[G0>>2]=W0,o1=D4+1|0,Bt=(o1|0)==($|0),!Bt;)D4=o1;if(Y=(o|0)>1,Y)for(t0=(a|0)>0,wt=1,W8=0;;){if(E1=W8+O9|0,t0)for(l8=0,Ae=E1;_1=d+(Ae<<2)|0,H1=e[_1>>2]|0,A2=I+(Ae<<2)|0,e[A2>>2]=H1,t2=Ae+t|0,z2=l8+1|0,se=(z2|0)==(a|0),!se;)l8=z2,Ae=t2;if(Z2=wt+1|0,lt=(Z2|0)==(o|0),lt)break;wt=Z2,W8=E1}if(Q5=0-t|0,T1=(Ve|0)>(a|0),T1){if(Y)for(q3=(a|0)>0,J5=(t|0)>2,E3=Q5,j9=1,R8=0;;){if(x3=R8+O9|0,x6=E3+t|0,q3)for(n6=x3-t|0,A3=x6+-1|0,ut=0,T8=n6;;){if(U3=T8+t|0,J5)for(ct=2,E4=A3,Bi=U3;P3=E4+2|0,y6=Bi+2|0,w9=E4+1|0,r4=Q+(w9<<2)|0,He=+s[r4>>2],Ye=Bi+1|0,he=d+(Ye<<2)|0,Ue=+s[he>>2],Ee=Ue*He,w4=Q+(P3<<2)|0,Z9=+s[w4>>2],v9=d+(y6<<2)|0,v4=+s[v9>>2],Y4=v4*Z9,nt=Y4+Ee,V4=I+(Ye<<2)|0,s[V4>>2]=nt,ze=+s[r4>>2],n4=+s[v9>>2],R4=n4*ze,ot=+s[w4>>2],ne=+s[he>>2],u4=ne*ot,Ce=R4-u4,T6=I+(y6<<2)|0,s[T6>>2]=Ce,Je=ct+2|0,de=(Je|0)<(t|0),de;)ct=Je,E4=P3,Bi=y6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,T8=U3}if(h4=j9+1|0,Ct=(h4|0)==(o|0),Ct)break;E3=x6,j9=h4,R8=x3}}else if(Y)for(f5=(t|0)>2,d3=(a|0)>0,Z4=Q5,$4=1,Y8=0;;){if(oe=Z4+t|0,d4=Y8+O9|0,f5)for(f4=oe+-1|0,Qt=2,gt=f4,$i=d4;;){if(ke=gt+2|0,o4=$i+2|0,d3)for(Pe=gt+1|0,I4=Q+(Pe<<2)|0,I6=Q+(ke<<2)|0,ht=0,ei=o4;z4=+s[I4>>2],fe=ei+-1|0,k4=d+(fe<<2)|0,Se=+s[k4>>2],Ie=Se*z4,z6=+s[I6>>2],F4=d+(ei<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+Ie,mt=I+(fe<<2)|0,s[mt>>2]=xe,W3=+s[I4>>2],_9=+s[F4>>2],S9=_9*W3,Oe=+s[I6>>2],s4=+s[k4>>2],d8=s4*Oe,N4=S9-d8,f8=I+(ei<<2)|0,s[f8>>2]=N4,e8=ei+t|0,I8=ht+1|0,Rt=(I8|0)==(a|0),!Rt;)ht=I8,ei=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=ke,$i=o4;else break}if(Pt=$4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,$4=Pt,Y8=d4}if(Ot=n5(O9,o)|0,qt=(Ve|0)<(a|0),t8=(S3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,_8=(t|0)>2,j4=1,dt=0,Hi=Ot;;){if(y0=dt+O9|0,w0=Hi-O9|0,i8)for(Ze=0,li=y0,ci=w0;;){if(_8)for(b4=2,ti=li,Si=ci;B0=ti+2|0,_0=Si+2|0,M0=ti+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=Si+1|0,P0=I+(N0<<2)|0,q0=+s[P0>>2],k0=q0+T0,z0=d+(M0<<2)|0,s[z0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],K0=I+(_0<<2)|0,J0=+s[K0>>2],H0=L0-J0,Z0=d+(N0<<2)|0,s[Z0>>2]=H0,O0=+s[F0>>2],Y0=+s[K0>>2],s1=Y0+O0,V0=d+(B0<<2)|0,s[V0>>2]=s1,i1=+s[P0>>2],x0=+s[v0>>2],h1=i1-x0,g1=d+(_0<<2)|0,s[g1>>2]=h1,m1=b4+2|0,d1=(m1|0)<(t|0),d1;)b4=m1,ti=B0,Si=_0;if(u1=li+t|0,A1=ci+t|0,c1=Ze+1|0,Ke=(c1|0)==(a|0),Ke)break;Ze=c1,li=u1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(S3|0),U4)break e;j4=a1,dt=y0,Hi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,F9=1,Z8=0,qi=Ot;;){if(x=Z8+O9|0,M=qi-O9|0,D)for(p4=2,Qi=x,vi=M;;){if(L=Qi+2|0,R=vi+2|0,y)for(F=R-t|0,T=L-t|0,Ft=0,Zi=T,f7=F;N=Zi+t|0,G=f7+t|0,e0=N+-1|0,J=I+(e0<<2)|0,a0=+s[J>>2],K=G+-1|0,r0=I+(K<<2)|0,s0=+s[r0>>2],V=s0+a0,o0=d+(e0<<2)|0,s[o0>>2]=V,q=I+(N<<2)|0,h0=+s[q>>2],Z=I+(G<<2)|0,u0=+s[Z>>2],c0=h0-u0,$0=d+(K<<2)|0,s[$0>>2]=c0,l0=+s[q>>2],W=+s[Z>>2],m0=W+l0,g0=d+(N<<2)|0,s[g0>>2]=m0,f0=+s[r0>>2],n0=+s[J>>2],p0=f0-n0,C0=d+(G<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Zi=N,f7=G;if(Q0=p4+2|0,b0=(Q0|0)<(t|0),b0)p4=Q0,Qi=L,vi=R;else break}if(E0=F9+1|0,At=(E0|0)==(S3|0),At)break;F9=E0,Z8=x,qi=M}}while(!1);if(w=($|0)>0,w)for(be=0;$1=E+(be<<2)|0,j0=e[$1>>2]|0,I1=m+(be<<2)|0,e[I1>>2]=j0,Q1=be+1|0,Kt=(Q1|0)==($|0),!Kt;)be=Q1;if(p1=n5($,o)|0,B1=(S3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Yi=p1;;){if(v1=Nt+O9|0,k1=Yi-O9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,g7=M1,h7=L1;b1=g7+t|0,R1=h7+t|0,F1=I+(b1<<2)|0,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],Z1=P1+U1,G1=d+(b1<<2)|0,s[G1>>2]=Z1,x1=+s[D1>>2],J1=+s[F1>>2],q1=x1-J1,Y1=d+(R1<<2)|0,s[Y1>>2]=q1,V1=c8+1|0,a4=(V1|0)==(a|0),!a4;)c8=V1,g7=b1,h7=R1;if(X1=Wt+1|0,s8=(X1|0)==(S3|0),s8)break;Wt=X1,Nt=v1,Yi=k1}if(o2=o+-1|0,j1=n5(o2,$)|0,B1){for(O1=(S3|0)>2,Ht=0,Vt=1,et=1,F8=0,Ei=p1;;){if(u2=F8+$|0,W1=Ei-$|0,I2=Vt*pt,a2=Ht*H8,K1=I2-a2,d2=Ht*pt,l2=Vt*H8,i2=l2+d2,w)for(yt=0,zi=u2,ui=W1,Xi=j1,ri=$;c2=m+(yt<<2)|0,r2=+s[c2>>2],$2=ri+1|0,e2=m+(ri<<2)|0,s2=+s[e2>>2],m2=s2*K1,k2=m2+r2,D2=zi+1|0,S2=E+(zi<<2)|0,s[S2>>2]=k2,Q2=Xi+1|0,G2=m+(Xi<<2)|0,L2=+s[G2>>2],P2=L2*i2,p2=ui+1|0,K2=E+(ui<<2)|0,s[K2>>2]=P2,O2=yt+1|0,E8=(O2|0)==($|0),!E8;)yt=O2,zi=D2,ui=p2,Xi=Q2,ri=$2;if(O1)for(Yt=i2,_t=K1,C8=2,Ji=$,V8=j1;;){if(U2=Ji+$|0,H2=V8-$|0,W2=_t*K1,A5=Yt*i2,Y2=W2-A5,N1=Yt*K1,e5=_t*i2,F5=e5+N1,w)for(a8=0,bi=u2,xi=W1,Li=U2,N8=H2;t5=Li+1|0,_5=m+(Li<<2)|0,I5=+s[_5>>2],b5=I5*Y2,Y5=bi+1|0,g5=E+(bi<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,o5=N8+1|0,R2=m+(N8<<2)|0,M2=+s[R2>>2],y2=M2*F5,T5=xi+1|0,m5=E+(xi<<2)|0,x5=+s[m5>>2],q5=x5+y2,s[m5>>2]=q5,L5=a8+1|0,x8=(L5|0)==($|0),!x8;)a8=L5,bi=Y5,xi=T5,Li=t5,N8=o5;if(V2=C8+1|0,o8=(V2|0)==(S3|0),o8)break;Yt=F5,_t=Y2,C8=V2,Ji=U2,V8=H2}if(p5=et+1|0,L8=(p5|0)==(S3|0),L8)break;Ht=i2,Vt=K1,et=p5,F8=u2,Ei=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(We=0,j8=$5;u5=j8+1|0,y5=m+(j8<<2)|0,D5=+s[y5>>2],h5=E+(We<<2)|0,l5=+s[h5>>2],j2=l5+D5,s[h5>>2]=j2,h2=We+1|0,p8=(h2|0)==($|0),!p8;)We=h2,j8=u5;if(w5=A8+1|0,S4=(w5|0)==(S3|0),S4)break;A8=w5,Xt=$5}}}if(i5=(t|0)<(a|0),i5){if(J2=(t|0)>0,J2)for(r5=(a|0)>0,W4=0;;){if(r5)for(X4=0,C4=W4,X8=W4;W5=I+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(X8<<2)|0,e[a3>>2]=r3,B3=C4+t|0,N5=X8+k9|0,Z5=X4+1|0,G4=(Z5|0)==(a|0),!G4;)X4=Z5,C4=B3,X8=N5;if(_3=W4+1|0,at=(_3|0)==(t|0),at)break;W4=_3}}else if(s5=(a|0)>0,s5)for(d5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(d5)for(K4=0,Vi=O4,Ki=Ci;M5=Vi+1|0,X2=I+(Vi<<2)|0,c5=e[X2>>2]|0,F2=Ki+1|0,v5=g+(Ki<<2)|0,e[v5>>2]=c5,z5=K4+1|0,Lt=(z5|0)==(t|0),!Lt;)K4=z5,Vi=M5,Ki=F2;if(i3=O4+t|0,E5=Ci+k9|0,I3=Tt+1|0,x9=(I3|0)==(a|0),x9)break;Tt=I3,O4=i3,Ci=E5}if(f3=t<<1,w3=n5(O9,o)|0,B1)for(X3=(a|0)>0,$8=1,M8=0,yi=0,Wi=w3;;){if(X5=M8+f3|0,D3=yi+O9|0,t3=Wi-O9|0,X3)for(b9=0,ii=X5,Di=D3,t7=t3;s6=I+(Di<<2)|0,N3=e[s6>>2]|0,H3=ii+-1|0,c3=g+(H3<<2)|0,e[c3>>2]=N3,g3=I+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ii<<2)|0,e[Q3>>2]=u3,H5=ii+k9|0,V5=Di+t|0,S5=t7+t|0,Y3=b9+1|0,Et=(Y3|0)==(a|0),!Et;)b9=Y3,ii=H5,Di=V5,t7=S5;if(G5=$8+1|0,J4=(G5|0)==(S3|0),J4)break;$8=G5,M8=X5,yi=D3,Wi=t3}if(!me){if($6=(Ve|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,wi=0,gi=0,d7=w3;;){if(E6=u8+f3|0,b3=wi+f3|0,a6=gi+O9|0,i6=d7-O9|0,!xt)for(g8=0,e7=E6,hi=b3,_4=a6,di=i6;;){for(ae=2;d6=t-ae|0,m3=ae+_4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],r6=ae+di|0,f6=r6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+hi|0,M3=v6+-1|0,o6=g+(M3<<2)|0,s[o6>>2]=j6,C6=+s[M6>>2],J3=+s[b6>>2],R3=C6-J3,K3=d6+e7|0,e6=K3+-1|0,R6=g+(e6<<2)|0,s[R6>>2]=R3,l6=I+(m3<<2)|0,o3=+s[l6>>2],J6=I+(r6<<2)|0,c6=+s[J6>>2],B6=c6+o3,F3=g+(v6<<2)|0,s[F3>>2]=B6,H6=+s[J6>>2],A6=+s[l6>>2],D6=H6-A6,G6=g+(K3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(V3=e7+k9|0,j5=hi+k9|0,L3=_4+t|0,h3=di+t|0,z3=g8+1|0,r8=(z3|0)==(a|0),r8)break;g8=z3,e7=V3,hi=j5,_4=L3,di=h3}if(X6=Zt+1|0,n8=(X6|0)==(S3|0),n8)break;Zt=X6,u8=E6,wi=b3,gi=a6,d7=i6}return}if(B1)for(l3=(t|0)>2,G3=(a|0)>0,A4=1,l4=n3,u7=0,ki=0,ji=w3;;){if(r9=l4+f3|0,Y6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=r9+t|0,G3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ge=P4+Y6|0,qe=U6-P4|0,jt=0,_i=qe,z8=Ge,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,h9=+s[s9>>2],n9=h9+P6,C9=z8+-1|0,B9=g+(C9<<2)|0,s[B9>>2]=n9,Q9=+s[_6>>2],d9=+s[s9>>2],f9=Q9-d9,Y9=_i+-1|0,q6=g+(Y9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,V9=+s[a9>>2],y9=I+($9<<2)|0,ye=+s[y9>>2],ge=ye+V9,pe=g+(z8<<2)|0,s[pe>>2]=ge,z9=+s[y9>>2],re=+s[a9>>2],R9=z9-re,K6=g+(_i<<2)|0,s[K6>>2]=R9,A9=_i+k9|0,we=z8+k9|0,Me=Mi+t|0,ue=$9+t|0,D9=jt+1|0,zt=(D9|0)==(a|0),!zt;)jt=D9,_i=A9,z8=we,Mi=Me,$9=ue;if(V6=P4+2|0,F6=(V6|0)<(t|0),F6)P4=V6;else break}if(ve=A4+1|0,Jt=(ve|0)==(S3|0),Jt)break;A4=ve,l4=r9,u7=Y6,ki=o9,ji=g9}}}function Zb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,V8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,wr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,rr=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,nr=0,Dr=0,K7=0,_r=0,mo=0,W7=0,b7=0,D7=0,i7=0,_7=0,xr=0,or=0,sr=0,Lr=0,E7=0,Os=0,fi=0,nl=0,In=0,mn=0,Pu=0,ol=0,qs=0,Ou=0,sA=0,sl=0,qu=0,Hu=0,Yu=0,aA=0,al=0,Al=0,AA=0,pn=0,$l=0,Vu=0,Hs=0,ar=0,zu=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,ll=0,Mr=0,rh=0,nh=0,cl=0,oh=0,$A=0,Ys=0,lA=0,sh=0,ah=0,cA=0,gl=0,ul=0,hl=0,gA=0,dl=0,Vs=0,Ah=0,$h=0,fl=0,lh=0,ch=0,Il=0,gh=0,uh=0,ml=0,pl=0,El=0,Cl=0,Bl=0,En=0,hh=0,Ql=0,dh=0,yl=0,wl=0,fh=0,Ih=0,mh=0,uA=0,vl=0,kl=0,po=0,Sl=0,hA=0,ph=0,bl=0,Eh=0,Dl=0,Ch=0,Bh=0,_l=0,xl=0,Qh=0,zs=0,yh=0,dA=0,Ll=0,Ml=0,wh=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,Js=0,Rl=0,Fl=0,Tl=0,Ks=0,_h=0,Nl=0,xh=0,Gl=0,Lh=0,Mh=0,Ul=0,fA=0,Rh=0,Fh=0,Ws=0,Th=0,Zs=0,Nh=0,IA=0,Gh=0,Uh=0,Ph=0,Pl=0,Oh=0,qh=0,Hh=0,Yh=0,Ol=0,ql=0,Ar=0,Hl=0,js=0,mA=0,pA=0,Cn=0,Yl=0,Bn=0,Vh=0,Vl=0,zh=0,Jh=0,Kh=0,Wh=0,Xs=0,EA=0,Rr=0,Zh=0,jh=0,zl=0,CA=0,Jl=0,Kl=0,Xh=0,Wl=0,ed=0,BA=0,td=0,id=0,K9=0,rd=0,Zl=0,nd=0,od=0,QA=0,sd=0,yA=0,jl=0,ad=0,Ad=0,Xl=0,ec=0,$d=0,wA=0,vA=0,tc=0,ic=0,ld=0,rc=0,kA=0,cd=0,nc=0,gd=0,ud=0,hd=0,dd=0,oc=0,sc=0,SA=0,ea=0,ac=0,fd=0,Ac=0,$c=0,Id=0,md=0,pd=0,lc=0,Ed=0,Cd=0,Bd=0,Qd=0,yd=0,wd=0,cc=0,vd=0,gc=0,kd=0,Qn=0,Sd=0,uc=0,bd=0,Eo=0,hc=0,bA=0,Dd=0,ta=0,DA=0,_d=0,_A=0,dc=0,xd=0,Ld=0,Md=0,Rd=0,Fd=0,fc=0,Td=0,Nd=0,Gd=0,ia=0,Co=0,xA=0,Ud=0,LA=0,Pd=0,Od=0,qd=0,Ic=0,Hd=0,Yd=0,Vd=0,zd=0,Jd=0,ra=0,Kd=0,Wd=0,mc=0,Zd=0,jd=0,Xd=0,ef=0,C7=0,pc=0,B7=0,Ec=0,MA=0,tf=0,r7=0,Bo=0,rf=0,nf=0,of=0,sf=0,af=0,Cc=0,Af=0,$f=0,Bc=0,lf=0,cf=0,Qo=0,RA=0,gf=0,Qc=0,uf=0,hf=0,na=0,df=0,ff=0,yc=0,wc=0,If=0,mf=0,yn=0,pf=0,Ef=0,wn=0,Cf=0,vc=0,Bf=0,Qf=0,yo=0,kc=0,yf=0,Sc=0,wf=0,$r=0,FA=0,vf=0,bc=0,Dc=0,kf=0,Sf=0,_c=0,bf=0,Df=0,_f=0,xc=0,xf=0,wo=0,Lf=0,vn=0,Mf=0,Rf=0,TA=0,Ff=0,NA=0,GA=0,Tf=0,Lc=0,Mc=0,Nf=0,Rc=0,Fc=0,Tc=0,Gf=0,Nc=0,Gc=0,Uf=0,Pf=0,Uc=0,Pc=0,Of=0,Oc=0,qc=0,qf=0,Hf=0,Hc=0,UA=0,Yc=0,Vc=0,zc=0,Jc=0,Yf=0,Vf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Kc=0,PA=0,Xf=0,eI=0,tI=0,Wc=0,Zc=0,iI=0,jc=0,OA=0,oa=0,Xc=0,rI=0,nI=0,oI=0,sI=0,eg=0,sa=0,aI=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,tg=0,dI=0,fI=0,II=0,mI=0,aa=0,ig=0,pI=0,EI=0,kn=0,rg=0,ng=0,qA=0,CI=0,og=0,BI=0,sg=0,ag=0,QI=0,yI=0,wI=0,vI=0,kI=0,Aa=0,HA=0,SI=0,bI=0,DI=0,_I=0,Ag=0,xI=0,$g=0,LI=0,MI=0,lg=0,Fr=0,cg=0,gg=0,RI=0,ug=0,$a=0,FI=0,TI=0,NI=0,la=0,hg=0,GI=0,UI=0,dg=0,PI=0,OI=0,YA=0,ca=0,qI=0,HI=0,YI=0,fg=0,Ig=0,mg=0,VI=0,zI=0,vo=0,JI=0,pg=0,KI=0,VA=0,Eg=0,WI=0,ZI=0,jI=0,XI=0,Cg=0,em=0,tm=0,Bg=0,ga=0,im=0,rm=0,nm=0,ko=0,Qg=0,yg=0,om=0,wg=0,vg=0,x7=0,kg=0,lr=0,sm=0,am=0,Am=0,$m=0,zA=0,ua=0,Sg=0,bg=0,lm=0,ha=0,So=0,cm=0,da=0,JA=0,gm=0,KA=0,um=0,hm=0,Dg=0,fa=0,_g=0,dm=0,fm=0,Im=0,mm=0,xg=0,pm=0,ni=0,De=0,n7=0,Em=0,Lg=0,Mg=0,WA=0,Cm=0,Tr=0,bo=0,Bm=0,Qm=0,Rg=0,ZA=0,ym=0,Fg=0,Tg=0,Ng=0,jA=0,XA=0,Gg=0,Do=0,e$=0,Ug=0,wm=0,Sn=0,vm=0,Pg=0,Ia=0,km=0,Og=0,L7=0,Sm=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,M7=0,Mm=0,Rm=0,Fm=0,qg=0,Q7=0,ma=0,t$=0,Hg=0,Yg=0,Tm=0,Vg=0,zg=0,Nm=0,Gm=0,Jg=0,Kg=0,Um=0,Pm=0,Wg=0,Om=0,_o=0,pa=0,Ea=0,qm=0,i$=0,Hm=0,Ym=0,Zg=0,xo=0,Vm=0,zm=0,r$=0,n$=0,Ca=0,o$=0,s$=0,cr=0,Nr=0,Gr=0,a$=0,A$=0,Lo=0,gr=0,bn=0,Jm=0,ur=0,Dn=0,Km=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,jg=0,Xg=0,ya=0,$$=0,Ni=0,wa=0,Ur=0,l$=0,Wm=0,c$=0,Zm=0,g$=0,eu=0,va=0,jm=0,Xm=0,ka=0,ep=0,Sa=0,_n=0,tt=0,Le=0,tu=0,tp=0,u$=0,iu=0,ip=0,rp=0,ba=0,np=0,op=0,sp=0,ap=0,ru=0,Ap=0,$p=0,lp=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,nu=0,ou=0,_a=0,To=0,No=0,Go=0,cp=0,Uo=0,hr=0,su=0,Pr=0,s7=0,d$=0,f$=0,Z7=0,I$=0,m$=0,p$=0,Or=0,u6=0,xa=0,qr=0,au=0,x4=0,E$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Hr=0,je=0,C$=0,RC=0,gp=0,AE=0,$E=0,FC=0,up=0,VQ=0,zQ=0,JQ=0,KQ=0,WQ=0,ZQ=0,jQ=0,XQ=0,ey=0,ty=0,iy=0,ry=0,TC=0,NC=0,ny=0,oy=0,sy=0,Au=0,lE=0,y7=0,$u=0,lu=0,cu=0,gu=0,hp=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,Qp=0,cE=0,La=0,dr=0,B$=0,uu=0,Q$=0,GC=0,Ma=0,yp=0,y$=0,gE=0,uE=0,wp=0,hE=0,dE=0,fE=0,IE=0,mE=0,pE=0,EE=0,UC=0,PC=0,OC=0,qC=0,HC=0,Ra=0,Fa=0,Ta=0,Na=0,ay=0,fr=0,$e=0,vD=0,Ga=0,CE=0;if(vD=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,mo=e[ui>>2]|0,Rl=(mo|0)==0,o=Rl&1,Eo=n0+3496|0,Rc=+l1[Eo>>3],fg=Rc>-80,fg?l1[Eo>>3]=-80:(Gm=Rc<-200,Gm&&(l1[Eo>>3]=-200)),d0=n0+3512|0,Z2=+l1[d0>>3],A3=Z2>0,A3?l1[d0>>3]=0:(ve=Z2<-99999,ve&&(l1[d0>>3]=-99999)),Y4=n0+3396|0,T6=e[Y4>>2]|0,Pe=(T6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=T6+24|0,L8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,A4=~~i8,jt=L8+(A4<<2)|0,H8=e[jt>>2]|0,Xt=P4+(A4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=H8,vi=n0+4|0,e[vi>>2]=Ci,V8=(H8|0)==(Ci|0),ri=T6+144|0,B8=e[ri>>2]|0,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,rr=i8,Rr=n0,cE=0;;){if(_s=~~rr,fo=e[Is>>2]|0,W7=e[Cs>>2]|0,fi=e[oo>>2]|0,Hu=fi+(cE<<2)|0,zu=e[Hu>>2]|0,Mr=le(1,1120)|0,gl=zu+(_s<<2)|0,Il=e[gl>>2]|0,dh=W7+(Il*1120|0)|0,ce(Mr|0,dh|0,1120)|0,hA=e[Mr>>2]|0,yh=(hA|0)>0,yh){for(Fl=Mr+4|0,lE=0,EE=-1;;)if(kA=Fl+(lE<<2)|0,ac=e[kA>>2]|0,Qd=(ac|0)>(EE|0),a0=Qd?ac:EE,hc=lE+1|0,iy=(hc|0)==(hA|0),iy){K=a0;break}else lE=hc,EE=a0;if(Rh=(K|0)<0,!Rh){for(Oh=Mr+256|0,Cn=Rr+24|0,td=Mr+192|0,ad=Mr+320|0,Q$=0,fE=-1;;){if(Dc=Oh+(Q$<<2)|0,vn=e[Dc>>2]|0,Fc=(vn|0)>(fE|0),e0=Fc?vn:fE,qc=e[Cn>>2]|0,zf=qc+vn|0,e[Dc>>2]=zf,Wc=td+(Q$<<2)|0,eg=e[Wc>>2]|0,dI=(eg|0)==31,dI)IE=e0;else for(D9=eg,hE=0,pE=e0;;)if(qA=(ad+(Q$<<5)|0)+(hE<<2)|0,Aa=e[qA>>2]|0,lg=(Aa|0)>(pE|0),J=lg?Aa:pE,hg=(Aa|0)>-1,hg?(Ig=e[Cn>>2]|0,ZI=Ig+Aa|0,e[qA>>2]=ZI,s0=e[Wc>>2]|0,JA=s0):JA=D9,ko=hE+1|0,Am=1<>2]|0,tf=e[Wd>>2]|0,Bc=e[Cn>>2]|0,ff=Bc+1|0,e[Cn>>2]=ff,Bf=(Rr+1824|0)+(Bc<<2)|0,e[Bf>>2]=tf,jQ=(mE|0)==0,!jQ))for(GC=0;XA=GC+1|0,t0=e[gl>>2]|0,Og=fo+(t0<<2)|0,Fm=e[Og>>2]|0,Jg=Fm+(XA<<2)|0,Hm=e[Jg>>2]|0,cr=e[Cn>>2]|0,Km=cr+1|0,e[Cn>>2]=Km,wa=(Rr+1824|0)+(cr<<2)|0,e[wa>>2]=Hm,ZQ=(XA|0)==(mE|0),!ZQ;)GC=XA}}if(ka=Rr+16|0,rp=e[ka>>2]|0,Da=(Rr+800|0)+(rp<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,I$=(Rr+1056|0)+(No<<2)|0,e[I$>>2]=Mr,p0=e[ka>>2]|0,M0=p0+1|0,e[ka>>2]=M0,K0=cE+1|0,h1=e[ri>>2]|0,I1=(K0|0)<(h1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,rr=r0,Rr=l0,cE=K0}m0=e[f0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,Y1=+l1[R1>>3],A2=T6+124|0,t2=e[A2>>2]|0,z2=T6+128|0,I5=e[z2>>2]|0,T5=~~Y1,D5=+(T5|0),r5=Y1-D5,W5=X5+2868|0,H5=I5+(T5<<3)|0,x3=+l1[H5>>3],x6=~~x3,n6=t2+(x6*492|0)|0,ce(W5|0,n6|0,492)|0,c6=+l1[H5>>3],r9=1-r5,O6=c6*r9,q6=T5+1|0,K6=I5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*r5,Ge=Fe+O6,qe=~~Ge,r4=+(qe|0),He=Ge-r4,J9=He==0,Ye=(qe|0)>0,UC=Ye&J9,I=UC?1:He,he=UC<<31>>31,R=he+qe|0,Ue=1-I,Ee=R+1|0,w4=(t2+(R*492|0)|0)+4|0,Z9=+s[w4>>2],v9=Z9,v4=Ue*v9,nt=(t2+(Ee*492|0)|0)+4|0,Ve=+s[nt>>2],V4=Ve,ze=I*V4,n4=v4+ze,R4=n4,ot=X5+2872|0,s[ot>>2]=R4,ne=(t2+(R*492|0)|0)+32|0,u4=+s[ne>>2],Ce=u4,Je=Ue*Ce,O9=(t2+(Ee*492|0)|0)+32|0,de=+s[O9>>2],Te=de,h4=I*Te,oe=Je+h4,d4=oe,f4=X5+2900|0,s[f4>>2]=d4,ke=(t2+(R*492|0)|0)+8|0,o4=+s[ke>>2],I4=o4,k9=Ue*I4,I6=(t2+(Ee*492|0)|0)+8|0,z4=+s[I6>>2],fe=z4,k4=I*fe,Se=k9+k4,Ie=Se,z6=X5+2876|0,s[z6>>2]=Ie,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],me=st,xe=Ue*me,mt=(t2+(Ee*492|0)|0)+36|0,W3=+s[mt>>2],_9=W3,S9=_9*I,Oe=S9+xe,s4=Oe,d8=X5+2904|0,s[d8>>2]=s4,f8=(t2+(R*492|0)|0)+12|0,D8=+s[f8>>2],e8=D8,I8=e8*Ue,m8=(t2+(Ee*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,_8=X5+2880|0,s[_8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Yt=+s[Ht>>2],Vt=Yt,_t=Vt*Ue,xt=(t2+(Ee*492|0)|0)+40|0,pt=+s[xt>>2],zt=pt,Jt=zt*I,r8=Jt+_t,J4=r8,G4=X5+2908|0,s[G4>>2]=J4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],x9=Lt,p8=x9*Ue,S4=(t2+(Ee*492|0)|0)+16|0,E8=+s[S4>>2],x8=E8,o8=x8*I,a4=o8+p8,s8=a4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],Ke=At,U4=Ke*Ue,$t=(t2+(Ee*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,p4=+l1[Qt>>3],b4=p4,K4=X5+2936|0,s[K4>>2]=b4,W4=T6+132|0,ae=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],D4=gt,be=~~D4,yt=+(be|0),a8=D4-yt,We=a8,E3=e[f0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=E3+4|0,j9=e[E3>>2]|0,$4=E3+3240|0,e[$4>>2]=j9,F9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=F9,Wt=E3+3244|0,e[Wt>>2]=j9,C8=E3+3304|0,e[C8>>2]=F9,A8=E3+3248|0,e[A8>>2]=j9,$8=E3+3308|0,e[$8>>2]=F9,Zt=E3+3252|0,e[Zt>>2]=j9,l8=E3+3312|0,e[l8>>2]=F9,ut=E3+3256|0,e[ut>>2]=j9,ht=E3+3316|0,e[ht>>2]=F9,Ft=E3+3260|0,e[Ft>>2]=j9,Ze=E3+3320|0,e[Ze>>2]=F9,c8=E3+3264|0,e[c8>>2]=j9,Tt=E3+3324|0,e[Tt>>2]=F9,X4=E3+3268|0,e[X4>>2]=j9,b9=E3+3328|0,e[b9>>2]=F9,g8=E3+3272|0,e[g8>>2]=j9,et=E3+3332|0,e[et>>2]=F9,W8=E3+3276|0,e[W8>>2]=j9,M8=E3+3336|0,e[M8>>2]=F9,u8=E3+3280|0,e[u8>>2]=j9,R8=E3+3340|0,e[R8>>2]=F9,l4=E3+3284|0,e[l4>>2]=j9,Y8=E3+3344|0,e[Y8>>2]=F9,Z8=E3+3288|0,e[Z8>>2]=j9,dt=E3+3348|0,e[dt>>2]=F9,Nt=E3+3292|0,e[Nt>>2]=j9,F8=E3+3352|0,e[F8>>2]=F9,O4=E3+3296|0,e[O4>>2]=j9,C4=E3+3356|0,e[C4>>2]=F9;else{Ae=E3+3120|0,T8=ae+(be*240|0)|0,fr=Ae,Ga=T8,CE=fr+60|0;do e[fr>>2]=e[Ga>>2]|0,fr=fr+4|0,Ga=Ga+4|0;while((fr|0)<(CE|0));$i=E3+3180|0,qi=(ae+(be*240|0)|0)+60|0,fr=$i,Ga=qi,CE=fr+60|0;do e[fr>>2]=e[Ga>>2]|0,fr=fr+4|0,Ga=Ga+4|0;while((fr|0)<(CE|0));if(Hi=n0+3420|0,Yi=e[Hi>>2]|0,Ei=(Yi|0)==0,!Ei)for(j8=1-We,X8=be+1|0,Bi=t+8|0,ei=E3+4|0,o0=e[Bi>>2]|0,Qi=+(o0|0),dr=0;;){if(li=((ae+(be*240|0)|0)+120|0)+(dr<<2)|0,g7=+s[li>>2],Vi=g7,yi=Vi*j8,wi=((ae+(X8*240|0)|0)+120|0)+(dr<<2)|0,u7=+s[wi>>2],ci=u7,h7=ci*We,zi=h7+yi,Ji=zi,Ki=Ji,Wi=Ki*1e3,gi=Wi/Qi,ki=e[E3>>2]|0,Zi=+(ki|0),ti=Zi*gi,ii=~~ti,d7=(E3+3e3|0)+(dr<<2)|0,e[d7>>2]=ii,ji=e[ei>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(E3+3060|0)+(dr<<2)|0,e[bi>>2]=Xi,Di=~~Ji,e7=(E3+2940|0)+(dr<<2)|0,e[e7>>2]=Di,_i=((ae+(be*240|0)|0)+180|0)+(dr<<2)|0,xi=+s[_i>>2],t7=xi,hi=t7*j8,z8=((ae+(X8*240|0)|0)+180|0)+(dr<<2)|0,Li=+s[z8>>2],_4=Li,Mi=_4*We,N8=Mi+hi,di=N8,$9=di,vt=$9*1e3,Q8=vt/Qi,G8=e[E3>>2]|0,nn=+(G8|0),wr=nn*Q8,As=~~wr,zn=(E3+3240|0)+(dr<<2)|0,e[zn>>2]=As,$s=e[ei>>2]|0,Jn=+($s|0),ls=Jn*Q8,Kn=~~ls,gs=(E3+3300|0)+(dr<<2)|0,e[gs>>2]=Kn,on=dr+1|0,ey=(on|0)==15,ey)break e;dr=on}for(us=(ae+(be*240|0)|0)+148|0,hs=+s[us>>2],ds=hs,Wn=1-We,fs=ds*Wn,Zn=be+1|0,jn=(ae+(Zn*240|0)|0)+148|0,sn=+s[jn>>2],Xn=sn,an=Xn*We,eo=an+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,An=E3+4|0,io=~~to,h0=e[Es>>2]|0,vr=+(h0|0),$n=ps/vr,uu=0;Bs=e[E3>>2]|0,Qs=+(Bs|0),ln=Qs*$n,I7=~~ln,ro=(E3+3e3|0)+(uu<<2)|0,e[ro>>2]=I7,ys=e[An>>2]|0,ws=+(ys|0),no=ws*$n,so=~~no,vs=(E3+3060|0)+(uu<<2)|0,e[vs>>2]=so,m7=(E3+2940|0)+(uu<<2)|0,e[m7>>2]=io,cn=uu+1|0,ry=(cn|0)==15,!ry;)uu=cn;for(ks=(ae+(be*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wn,Ds=(ae+(Zn*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*We,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gn=Fs/vr,yp=0;kr=e[E3>>2]|0,un=+(kr|0),Ts=un*gn,Ns=~~Ts,lo=(E3+3240|0)+(yp<<2)|0,e[lo>>2]=Ns,hn=e[An>>2]|0,co=+(hn|0),dn=co*gn,Gs=~~dn,go=(E3+3300|0)+(yp<<2)|0,e[go>>2]=Gs,uo=yp+1|0,XQ=(uo|0)==15,!XQ;)yp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,Sr=T6+100|0,Io=e[Sr>>2]|0,p7=T6+108|0,fn=e[p7>>2]|0,br=e[f0>>2]|0,nr=br+2852|0,Dr=e[nr>>2]|0,K7=~~Us,_r=br+28|0,b7=e[_r>>2]|0,D7=(b7|0)>0,D7||(e[_r>>2]=1),i7=(Dr|0)==0,i7?(_7=le(1,520)|0,e[nr>>2]=_7,Ra=_7):Ra=Dr,ce(Ra|0,25784,520)|0,e[Ra>>2]=0,xr=br+3460|0,or=e[xr>>2]|0,sr=(or|0)==0,sr||(Lr=Ra+500|0,e[Lr>>2]=1,E7=Ps+(K7<<2)|0,Os=e[E7>>2]|0,nl=Ra+504|0,e[nl>>2]=Os,In=Io+(K7<<2)|0,mn=e[In>>2]|0,Pu=Ra+508|0,e[Pu>>2]=mn,ol=fn+(K7<<3)|0,qs=+l1[ol>>3],Ou=Ra+512|0,l1[Ou>>3]=qs),sA=+l1[N4>>3],sl=e[ho>>2]|0,qu=e[Sr>>2]|0,Yu=e[p7>>2]|0,aA=e[f0>>2]|0,al=aA+2856|0,Al=e[al>>2]|0,AA=~~sA,pn=aA+28|0,$l=e[pn>>2]|0,Vu=($l|0)>1,Vu||(e[pn>>2]=2),Hs=(Al|0)==0,Hs?(ar=le(1,520)|0,e[al>>2]=ar,Fa=ar):Fa=Al,ce(Fa|0,25784,520)|0,e[Fa>>2]=0,Ju=aA+3460|0,Ku=e[Ju>>2]|0,Wu=(Ku|0)==0,Wu||(Zu=Fa+500|0,e[Zu>>2]=1,ju=sl+(AA<<2)|0,Xu=e[ju>>2]|0,eh=Fa+504|0,e[eh>>2]=Xu,th=qu+(AA<<2)|0,ih=e[th>>2]|0,ll=Fa+508|0,e[ll>>2]=ih,rh=Yu+(AA<<3)|0,nh=+l1[rh>>3],cl=Fa+512|0,l1[cl>>3]=nh),V8||(oh=+l1[N4>>3],$A=T6+96|0,Ys=e[$A>>2]|0,lA=T6+104|0,sh=e[lA>>2]|0,ah=e[p7>>2]|0,cA=e[f0>>2]|0,ul=cA+2860|0,hl=e[ul>>2]|0,gA=~~oh,dl=cA+28|0,Vs=e[dl>>2]|0,Ah=(Vs|0)>2,Ah||(e[dl>>2]=3),$h=(hl|0)==0,$h?(fl=le(1,520)|0,e[ul>>2]=fl,Ta=fl):Ta=hl,ce(Ta|0,25784,520)|0,e[Ta>>2]=1,lh=cA+3460|0,ch=e[lh>>2]|0,gh=(ch|0)==0,gh||(uh=Ta+500|0,e[uh>>2]=1,ml=Ys+(gA<<2)|0,pl=e[ml>>2]|0,El=Ta+504|0,e[El>>2]=pl,Cl=sh+(gA<<2)|0,Bl=e[Cl>>2]|0,En=Ta+508|0,e[En>>2]=Bl,hh=ah+(gA<<3)|0,Ql=+l1[hh>>3],yl=Ta+512|0,l1[yl>>3]=Ql),wl=+l1[N4>>3],fh=e[$A>>2]|0,Ih=e[lA>>2]|0,mh=e[p7>>2]|0,uA=e[f0>>2]|0,vl=uA+2864|0,kl=e[vl>>2]|0,po=~~wl,Sl=uA+28|0,ph=e[Sl>>2]|0,bl=(ph|0)>3,bl||(e[Sl>>2]=4),Eh=(kl|0)==0,Eh?(Dl=le(1,520)|0,e[vl>>2]=Dl,Na=Dl):Na=kl,ce(Na|0,25784,520)|0,e[Na>>2]=1,Ch=uA+3460|0,Bh=e[Ch>>2]|0,_l=(Bh|0)==0,_l||(xl=Na+500|0,e[xl>>2]=1,Qh=fh+(po<<2)|0,zs=e[Qh>>2]|0,dA=Na+504|0,e[dA>>2]=zs,Ll=Ih+(po<<2)|0,Ml=e[Ll>>2]|0,wh=Na+508|0,e[wh>>2]=Ml,vh=mh+(po<<3)|0,kh=+l1[vh>>3],Sh=Na+512|0,l1[Sh>>3]=kh)),bh=(n0+3528|0)+(o<<5)|0,Dh=+l1[bh>>3],Js=T6+32|0,Tl=e[Js>>2]|0,Ks=T6+36|0,_h=e[Ks>>2]|0,Nl=T6+44|0,xh=e[Nl>>2]|0,rE(t,Dh,0,Tl,_h,xh),Gl=n0+3560|0,Lh=+l1[Gl>>3],Mh=e[Js>>2]|0,Ul=e[Ks>>2]|0,fA=T6+52|0,Fh=e[fA>>2]|0,rE(t,Lh,1,Mh,Ul,Fh),V8||(Ws=n0+3592|0,Th=+l1[Ws>>3],Zs=e[Js>>2]|0,Nh=e[Ks>>2]|0,IA=e[fA>>2]|0,rE(t,Th,2,Zs,Nh,IA),Gh=n0+3624|0,Uh=+l1[Gh>>3],Ph=e[Js>>2]|0,Pl=e[Ks>>2]|0,qh=T6+48|0,Hh=e[qh>>2]|0,rE(t,Uh,3,Ph,Pl,Hh)),Yh=((n0+3528|0)+(o<<5)|0)+24|0,Ol=+l1[Yh>>3],ql=T6+80|0,Ar=e[ql>>2]|0,Hl=T6+84|0,js=e[Hl>>2]|0,mA=~~Ol,pA=+(mA|0),Yl=Ol-pA,Bn=e[f0>>2]|0,Vh=Bn+2852|0,Vl=e[Vh>>2]|0,zh=js+(mA<<3)|0,Jh=+l1[zh>>3],Kh=1-Yl,Wh=Jh*Kh,Xs=mA+1|0,EA=js+(Xs<<3)|0,Zh=+l1[EA>>3],jh=Zh*Yl,zl=jh+Wh,CA=~~zl,Jl=+(CA|0),Kl=zl-Jl,Xh=Kl==0,Wl=(CA|0)>0,PC=Wl&Xh,$=PC?1:Kl,ed=PC<<31>>31,F=ed+CA|0,BA=1-$,id=F+1|0,$u=0;K9=(Ar+(F*160|0)|0)+($u<<2)|0,rd=e[K9>>2]|0,Zl=+(rd|0),nd=Zl*BA,od=(Ar+(id*160|0)|0)+($u<<2)|0,QA=e[od>>2]|0,sd=+(QA|0),yA=sd*$,jl=yA+nd,Ad=jl,Xl=(Vl+336|0)+($u<<2)|0,s[Xl>>2]=Ad,ec=$u+1|0,zQ=(ec|0)==40,!zQ;)$u=ec;for($d=n0+3584|0,wA=+l1[$d>>3],vA=~~wA,tc=+(vA|0),ic=wA-tc,ld=Bn+2856|0,rc=e[ld>>2]|0,cd=js+(vA<<3)|0,nc=+l1[cd>>3],gd=1-ic,ud=nc*gd,hd=vA+1|0,dd=js+(hd<<3)|0,oc=+l1[dd>>3],sc=oc*ic,SA=sc+ud,ea=~~SA,fd=+(ea|0),Ac=SA-fd,$c=Ac==0,Id=(ea|0)>0,OC=Id&$c,g=OC?1:Ac,md=OC<<31>>31,T=md+ea|0,pd=1-g,lc=T+1|0,lu=0;Ed=(Ar+(T*160|0)|0)+(lu<<2)|0,Cd=e[Ed>>2]|0,Bd=+(Cd|0),yd=Bd*pd,wd=(Ar+(lc*160|0)|0)+(lu<<2)|0,cc=e[wd>>2]|0,vd=+(cc|0),gc=vd*g,kd=gc+yd,Qn=kd,Sd=(rc+336|0)+(lu<<2)|0,s[Sd>>2]=Qn,uc=lu+1|0,JQ=(uc|0)==40,!JQ;)lu=uc;if(!V8){for(bd=n0+3616|0,bA=+l1[bd>>3],Dd=T6+88|0,ta=e[Dd>>2]|0,DA=~~bA,_d=+(DA|0),_A=bA-_d,dc=Bn+2860|0,xd=e[dc>>2]|0,Ld=ta+(DA<<3)|0,Md=+l1[Ld>>3],Fd=1-_A,fc=Md*Fd,Td=DA+1|0,Nd=ta+(Td<<3)|0,Gd=+l1[Nd>>3],ia=Gd*_A,Co=ia+fc,xA=~~Co,Ud=+(xA|0),LA=Co-Ud,Od=LA==0,qd=(xA|0)>0,qC=qd&Od,d=qC?1:LA,Ic=qC<<31>>31,N=Ic+xA|0,Hd=1-d,Yd=N+1|0,cu=0;Vd=(Ar+(N*160|0)|0)+(cu<<2)|0,zd=e[Vd>>2]|0,Jd=+(zd|0),ra=Jd*Hd,Kd=(Ar+(Yd*160|0)|0)+(cu<<2)|0,mc=e[Kd>>2]|0,Zd=+(mc|0),jd=Zd*d,Xd=jd+ra,ef=Xd,C7=(xd+336|0)+(cu<<2)|0,s[C7>>2]=ef,pc=cu+1|0,KQ=(pc|0)==40,!KQ;)cu=pc;for(B7=n0+3648|0,Ec=+l1[B7>>3],MA=~~Ec,r7=+(MA|0),Bo=Ec-r7,rf=Bn+2864|0,nf=e[rf>>2]|0,of=ta+(MA<<3)|0,sf=+l1[of>>3],af=1-Bo,Cc=sf*af,Af=MA+1|0,$f=ta+(Af<<3)|0,lf=+l1[$f>>3],cf=lf*Bo,Qo=cf+Cc,RA=~~Qo,gf=+(RA|0),Qc=Qo-gf,uf=Qc==0,hf=(RA|0)>0,HC=hf&uf,m=HC?1:Qc,na=HC<<31>>31,G=na+RA|0,df=1-m,yc=G+1|0,gu=0;wc=(Ar+(G*160|0)|0)+(gu<<2)|0,If=e[wc>>2]|0,mf=+(If|0),yn=mf*df,pf=(Ar+(yc*160|0)|0)+(gu<<2)|0,Ef=e[pf>>2]|0,wn=+(Ef|0),Cf=wn*m,vc=Cf+yn,Qf=vc,yo=(nf+336|0)+(gu<<2)|0,s[yo>>2]=Qf,kc=gu+1|0,WQ=(kc|0)==40,!WQ;)gu=kc}for(yf=((n0+3528|0)+(o<<5)|0)+8|0,Sc=+l1[yf>>3],wf=T6+40|0,$r=e[wf>>2]|0,FA=~~Sc,vf=+(FA|0),bc=Sc-vf,kf=$r+(FA<<2)|0,Sf=e[kf>>2]|0,_c=+(Sf|0),bf=1-bc,Df=_c*bf,_f=FA+1|0,xc=$r+(_f<<2)|0,xf=e[xc>>2]|0,wo=+(xf|0),Lf=wo*bc,Mf=Lf+Df,Rf=Mf,TA=Vl+32|0,s[TA>>2]=Rf,Ff=n0+3568|0,NA=+l1[Ff>>3],GA=~~NA,Tf=+(GA|0),Lc=NA-Tf,Mc=$r+(GA<<2)|0,Nf=e[Mc>>2]|0,Tc=+(Nf|0),Gf=1-Lc,Nc=Tc*Gf,Gc=GA+1|0,Uf=$r+(Gc<<2)|0,Pf=e[Uf>>2]|0,Uc=+(Pf|0),Pc=Uc*Lc,Of=Pc+Nc,Oc=Of,qf=rc+32|0,s[qf>>2]=Oc,V8||(Hf=n0+3600|0,Hc=+l1[Hf>>3],UA=~~Hc,Yc=+(UA|0),Vc=Hc-Yc,zc=Bn+2860|0,Jc=e[zc>>2]|0,Yf=$r+(UA<<2)|0,Vf=e[Yf>>2]|0,Jf=+(Vf|0),Kf=1-Vc,Wf=Jf*Kf,Zf=UA+1|0,jf=$r+(Zf<<2)|0,Kc=e[jf>>2]|0,PA=+(Kc|0),Xf=PA*Vc,eI=Xf+Wf,tI=eI,Zc=Jc+32|0,s[Zc>>2]=tI,iI=n0+3632|0,jc=+l1[iI>>3],OA=~~jc,oa=+(OA|0),Xc=jc-oa,rI=Bn+2864|0,nI=e[rI>>2]|0,oI=$r+(OA<<2)|0,sI=e[oI>>2]|0,sa=+(sI|0),aI=1-Xc,AI=sa*aI,$I=OA+1|0,lI=$r+($I<<2)|0,cI=e[lI>>2]|0,gI=+(cI|0),uI=gI*Xc,hI=uI+AI,tg=hI,fI=nI+32|0,s[fI>>2]=tg),II=((n0+3528|0)+(o<<5)|0)+16|0,mI=+l1[II>>3],aa=T6+76|0,ig=e[aa>>2]|0,pI=T6+60|0,EI=e[pI>>2]|0,kn=T6+56|0,rg=e[kn>>2]|0,Rl?og=0:(ng=n0+3408|0,CI=+l1[ng>>3],og=CI),nE(t,mI,0,ig,EI,rg,og),BI=n0+3576|0,sg=+l1[BI>>3],ag=e[aa>>2]|0,QI=T6+64|0,yI=e[QI>>2]|0,wI=e[kn>>2]|0,nE(t,sg,1,ag,yI,wI,0),V8?(vo=e[f0>>2]|0,JI=vo+2852|0,pg=e[JI>>2]|0,KI=vo+3496|0,VA=+l1[KI>>3],Eg=VA,WI=pg+4|0,s[WI>>2]=Eg,jI=vo+3504|0,XI=+l1[jI>>3],Cg=XI,em=pg+8|0,s[em>>2]=Cg,tm=vo+2856|0,Bg=e[tm>>2]|0,ga=Bg+4|0,s[ga>>2]=Eg,im=Bg+8|0,s[im>>2]=Cg,lr=vo):(vI=n0+3608|0,kI=+l1[vI>>3],HA=e[aa>>2]|0,SI=T6+68|0,bI=e[SI>>2]|0,DI=e[kn>>2]|0,nE(t,kI,2,HA,bI,DI,0),_I=n0+3640|0,Ag=+l1[_I>>3],xI=e[aa>>2]|0,$g=T6+72|0,LI=e[$g>>2]|0,MI=e[kn>>2]|0,nE(t,Ag,3,xI,LI,MI,0),Fr=e[f0>>2]|0,cg=Fr+2852|0,gg=e[cg>>2]|0,RI=Fr+3496|0,ug=+l1[RI>>3],$a=ug,FI=gg+4|0,s[FI>>2]=$a,TI=Fr+3504|0,NI=+l1[TI>>3],la=NI,GI=gg+8|0,s[GI>>2]=la,UI=Fr+2856|0,dg=e[UI>>2]|0,PI=dg+4|0,s[PI>>2]=$a,OI=dg+8|0,s[OI>>2]=la,YA=Fr+2860|0,ca=e[YA>>2]|0,qI=ca+4|0,s[qI>>2]=$a,HI=ca+8|0,s[HI>>2]=la,YI=Fr+2864|0,mg=e[YI>>2]|0,VI=mg+4|0,s[VI>>2]=$a,zI=mg+8|0,s[zI>>2]=la,lr=Fr),rm=+l1[N4>>3],nm=T6+152|0,Qg=e[nm>>2]|0,yg=~~rm,om=Qg+(yg<<3)|0,wg=e[om>>2]|0,vg=(Qg+(yg<<3)|0)+4|0,x7=e[vg>>2]|0,kg=e[lr>>2]|0,sm=lr+4|0,am=e[sm>>2]|0,$m=(kg|0)==(am|0),a=$m?1:2,zA=lr+8|0,ua=lr+12|0,Sg=t+8|0,bg=t+4|0,y7=0;;){if(lm=le(1,3208)|0,ha=(lr+544|0)+(y7<<2)|0,e[ha>>2]=lm,So=le(1,16)|0,cm=(lr+32|0)+(y7<<2)|0,e[cm>>2]=So,da=26304+(y7<<4)|0,e[So>>2]=e[da>>2]|0,e[So+4>>2]=e[da+4>>2]|0,e[So+8>>2]=e[da+8>>2]|0,e[So+12>>2]=e[da+12>>2]|0,gm=e[zA>>2]|0,KA=(y7|0)<(gm|0),KA||(um=y7+1|0,e[zA>>2]=um),hm=(lr+288|0)+(y7<<2)|0,e[hm>>2]=0,Dg=e[ha>>2]|0,fa=wg+(y7*3208|0)|0,ce(Dg|0,fa|0,3208)|0,_g=e[ua>>2]|0,dm=(y7|0)<(_g|0),dm||(fm=y7+1|0,e[ua>>2]=fm),Im=e[fa>>2]|0,xg=(Im|0)>0,xg)for(uE=0;;){pm=((wg+(y7*3208|0)|0)+1092|0)+(uE<<2)|0,ni=e[pm>>2]|0,De=e[f0>>2]|0,n7=M9(2840)|0,Em=(De+1568|0)+(ni<<2)|0,e[Em>>2]=n7,Lg=(x7+(ni<<5)|0)+12|0,Mg=e[Lg>>2]|0,ce(n7|0,Mg|0,2840)|0,WA=De+20|0,Cm=e[WA>>2]|0,bo=(Cm|0)>(ni|0),bo||(Bm=ni+1|0,e[WA>>2]=Bm),Qm=(x7+(ni<<5)|0)+8|0,Rg=e[Qm>>2]|0,ZA=n7+8|0,e[ZA>>2]=Rg,ym=x7+(ni<<5)|0,Fg=e[ym>>2]|0,Tg=(De+1312|0)+(ni<<2)|0,e[Tg>>2]=Fg,Ng=De+3420|0,jA=e[Ng>>2]|0,Gg=(jA|0)==0,Do=n7+12|0,e$=e[Do>>2]|0,Ug=(e$|0)>0;do if(Gg){if(Ug)for(Pg=(x7+(ni<<5)|0)+24|0,Ia=e[Pg>>2]|0,km=n7+24|0,Ma=0;;)if(ur=km+(Ma<<2)|0,Dn=Ia+(Ma<<4)|0,Ri=e[Dn>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[ur>>2]|0,Ba=Ti|1,e[ur>>2]=Ba),Qa=(Ia+(Ma<<4)|0)+4|0,jg=e[Qa>>2]|0,Xg=(jg|0)==0,Xg||(b2=e[ur>>2]|0,B5=b2|2,e[ur>>2]=B5),o5=(Ia+(Ma<<4)|0)+8|0,R2=e[o5>>2]|0,M2=(R2|0)==0,M2||(y2=e[ur>>2]|0,Q5=y2|4,e[ur>>2]=Q5),m5=(Ia+(Ma<<4)|0)+12|0,x5=e[m5>>2]|0,q5=(x5|0)==0,q5||(L5=e[ur>>2]|0,V2=L5|8,e[ur>>2]=V2),p5=Ma+1|0,$5=e[Do>>2]|0,u5=(p5|0)<($5|0),u5)Ma=p5;else{Sa=$5;break}else Sa=e$;ya=(x7+(ni<<5)|0)+16|0,$$=e[ya>>2]|0,Ni=De+24|0,Ur=e[Ni>>2]|0,l$=(Ur|0)>0,Wm=$$;e:do if(l$)for(Qp=0;;){if(c$=(De+1824|0)+(Qp<<2)|0,Zm=e[c$>>2]|0,g$=(Zm|0)==($$|0),g$){L=Qp;break e}if(eu=Qp+1|0,va=(eu|0)<(Ur|0),va)Qp=eu;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,jm=Ur+1|0,e[Ni>>2]=jm,L=Ur),Xm=n7+20|0,e[Xm>>2]=L,ep=(De+1824|0)+(L<<2)|0,e[ep>>2]=Wm,_n=(Sa|0)>0,!_n)break;for(tt=(x7+(ni<<5)|0)+24|0,Le=n7+280|0,Hr=0,y$=0;;){if(tu=e[tt>>2]|0,tp=tu+(y$<<4)|0,u$=e[tp>>2]|0,iu=(u$|0)==0,ip=u$,iu)Mo=tu,gp=Hr;else{ba=e[Ni>>2]|0,np=(ba|0)>0;e:do if(np)for(mp=0;;){if(op=(De+1824|0)+(mp<<2)|0,sp=e[op>>2]|0,ap=(sp|0)==(u$|0),ap){M=mp;break e}if(ru=mp+1|0,Ap=(ru|0)<(ba|0),Ap)mp=ru;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,$p=ba+1|0,e[Ni>>2]=$p,M=ba),lp=Hr+1|0,o7=Le+(Hr<<2)|0,e[o7>>2]=M,xn=(De+1824|0)+(M<<2)|0,e[xn>>2]=ip,c0=e[tt>>2]|0,Mo=c0,gp=lp}if(h$=(Mo+(y$<<4)|0)+4|0,Ro=e[h$>>2]|0,oi=(Ro|0)==0,Fo=Ro,oi)C2=Mo,je=gp;else{J1=e[Ni>>2]|0,q1=(J1|0)>0;e:do if(q1)for(dp=0;;){if(H1=(De+1824|0)+(dp<<2)|0,V1=e[H1>>2]|0,X1=(V1|0)==(Ro|0),X1){D=dp;break e}if(o2=dp+1|0,j1=(o2|0)<(J1|0),j1)dp=o2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=J1+1|0,e[Ni>>2]=O1,D=J1),u2=gp+1|0,W1=Le+(gp<<2)|0,e[W1>>2]=D,I2=(De+1824|0)+(D<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,je=u2}if(a2=(C2+(y$<<4)|0)+8|0,K1=e[a2>>2]|0,d2=(K1|0)==0,l2=K1,d2)L2=C2,C$=je;else{i2=e[Ni>>2]|0,c2=(i2|0)>0;e:do if(c2)for(fp=0;;){if(r2=(De+1824|0)+(fp<<2)|0,$2=e[r2>>2]|0,e2=($2|0)==(K1|0),e2){y=fp;break e}if(s2=fp+1|0,m2=(s2|0)<(i2|0),m2)fp=s2;else{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=i2+1|0,e[Ni>>2]=k2,y=i2),D2=je+1|0,S2=Le+(je<<2)|0,e[S2>>2]=y,Q2=(De+1824|0)+(y<<2)|0,e[Q2>>2]=l2,W=e[tt>>2]|0,L2=W,C$=D2}if(G2=(L2+(y$<<4)|0)+12|0,P2=e[G2>>2]|0,p2=(P2|0)==0,K2=P2,p2)RC=C$;else{O2=e[Ni>>2]|0,U2=(O2|0)>0;e:do if(U2)for(Ip=0;;){if(H2=(De+1824|0)+(Ip<<2)|0,W2=e[H2>>2]|0,A5=(W2|0)==(P2|0),A5){x=Ip;break e}if(Y2=Ip+1|0,N1=(Y2|0)<(O2|0),N1)Ip=Y2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,e5=O2+1|0,e[Ni>>2]=e5,x=O2),F5=C$+1|0,t5=Le+(C$<<2)|0,e[t5>>2]=x,_5=(De+1824|0)+(x<<2)|0,e[_5>>2]=K2,RC=F5}if(b5=y$+1|0,Y5=e[Do>>2]|0,g5=(b5|0)<(Y5|0),g5)Hr=RC,y$=b5;else break}}else{if(Ug)for(wm=(x7+(ni<<5)|0)+28|0,Sn=e[wm>>2]|0,vm=n7+24|0,La=0;;)if(L7=vm+(La<<2)|0,Sm=Sn+(La<<4)|0,bm=e[Sm>>2]|0,Dm=(bm|0)==0,Dm||(_m=e[L7>>2]|0,xm=_m|1,e[L7>>2]=xm),Lm=(Sn+(La<<4)|0)+4|0,M7=e[Lm>>2]|0,Mm=(M7|0)==0,Mm||($6=e[L7>>2]|0,n3=$6|2,e[L7>>2]=n3),l3=(Sn+(La<<4)|0)+8|0,G3=e[l3>>2]|0,E6=(G3|0)==0,E6||(S3=e[L7>>2]|0,b3=S3|4,e[L7>>2]=b3),a6=(Sn+(La<<4)|0)+12|0,i6=e[a6>>2]|0,V3=(i6|0)==0,V3||(j5=e[L7>>2]|0,L3=j5|8,e[L7>>2]=L3),h3=La+1|0,z3=e[Do>>2]|0,d6=(h3|0)<(z3|0),d6)La=h3;else{Wg=z3;break}else Wg=e$;Rm=(x7+(ni<<5)|0)+20|0,qg=e[Rm>>2]|0,Q7=De+24|0,ma=e[Q7>>2]|0,t$=(ma|0)>0,Hg=qg;e:do if(t$)for(hp=0;;){if(Yg=(De+1824|0)+(hp<<2)|0,Tm=e[Yg>>2]|0,Vg=(Tm|0)==(qg|0),Vg){B=hp;break e}if(zg=hp+1|0,Nm=(zg|0)<(ma|0),Nm)hp=zg;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,Kg=ma+1|0,e[Q7>>2]=Kg,B=ma),Um=n7+20|0,e[Um>>2]=B,Pm=(De+1824|0)+(B<<2)|0,e[Pm>>2]=Hg,Om=(Wg|0)>0,!Om)break;for(_o=(x7+(ni<<5)|0)+28|0,pa=n7+280|0,Po=0,B$=0;;){if(Ea=e[_o>>2]|0,qm=Ea+(B$<<4)|0,i$=e[qm>>2]|0,Ym=(i$|0)==0,Zg=i$,Ym)Lo=Ea,Rn=Po;else{xo=e[Q7>>2]|0,Vm=(xo|0)>0;e:do if(Vm)for(Bp=0;;){if(zm=(De+1824|0)+(Bp<<2)|0,r$=e[zm>>2]|0,n$=(r$|0)==(i$|0),n$){w=Bp;break e}if(Ca=Bp+1|0,o$=(Ca|0)<(xo|0),o$)Bp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,s$=xo+1|0,e[Q7>>2]=s$,w=xo),Nr=Po+1|0,Gr=pa+(Po<<2)|0,e[Gr>>2]=w,a$=(De+1824|0)+(w<<2)|0,e[a$>>2]=Zg,V=e[_o>>2]|0,Lo=V,Rn=Nr}if(A$=(Lo+(B$<<4)|0)+4|0,gr=e[A$>>2]|0,bn=(gr|0)==0,Jm=gr,bn)M5=Lo,Ln=Rn;else{y5=e[Q7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(pp=0;;){if(h5=(De+1824|0)+(pp<<2)|0,l5=e[h5>>2]|0,j2=(l5|0)==(gr|0),j2){S=pp;break e}if(h2=pp+1|0,w5=(h2|0)<(y5|0),w5)pp=h2;else{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,i5=y5+1|0,e[Q7>>2]=i5,S=y5),s5=Rn+1|0,d5=pa+(Rn<<2)|0,e[d5>>2]=S,J2=(De+1824|0)+(S<<2)|0,e[J2>>2]=Jm,Z=e[_o>>2]|0,M5=Z,Ln=s5}if(f5=(M5+(B$<<4)|0)+8|0,X2=e[f5>>2]|0,c5=(X2|0)==0,F2=X2,c5)f3=M5,Mn=Ln;else{v5=e[Q7>>2]|0,z5=(v5|0)>0;e:do if(z5)for(Ep=0;;){if(i3=(De+1824|0)+(Ep<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(X2|0),I3){b=Ep;break e}if(d3=Ep+1|0,r3=(d3|0)<(v5|0),r3)Ep=d3;else{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=v5+1|0,e[Q7>>2]=a3,b=v5),B3=Ln+1|0,N5=pa+(Ln<<2)|0,e[N5>>2]=b,Z5=(De+1824|0)+(b<<2)|0,e[Z5>>2]=F2,u0=e[_o>>2]|0,f3=u0,Mn=B3}if(_3=(f3+(B$<<4)|0)+12|0,w3=e[_3>>2]|0,X3=(w3|0)==0,q3=w3,X3)q9=Mn;else{D3=e[Q7>>2]|0,t3=(D3|0)>0;e:do if(t3)for(Cp=0;;){if(s6=(De+1824|0)+(Cp<<2)|0,N3=e[s6>>2]|0,H3=(N3|0)==(w3|0),H3){v=Cp;break e}if(c3=Cp+1|0,g3=(c3|0)<(D3|0),g3)Cp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=D3+1|0,e[Q7>>2]=u3,v=D3),Q3=Mn+1|0,J5=pa+(Mn<<2)|0,e[J5>>2]=v,V5=(De+1824|0)+(v<<2)|0,e[V5>>2]=q3,q9=Q3}if(S5=B$+1|0,Y3=e[Do>>2]|0,G5=(S5|0)<(Y3|0),G5)Po=q9,B$=S5;else break}}while(!1);nu=De+3480|0,ou=+l1[nu>>3],_a=ou*1e3,To=(De+1056|0)+(y7<<2)|0,Go=e[To>>2]|0,cp=e[Sg>>2]|0,Uo=+(cp|0),hr=Uo*.5,su=De+(y7<<2)|0,Pr=e[su>>2]|0,s7=Pr>>1,d$=_a>hr,TC=d$?hr:_a,f$=TC/hr,Z7=+(s7|0),m$=Z7*f$,p$=~~m$,Or=Go+1116|0,e[Or>>2]=p$,u6=(x7+(ni<<5)|0)+4|0,xa=e[u6>>2]|0;do if((xa|0)==2)Au=250;else if((xa|0)==1){if(qr=e[Ng>>2]|0,au=(qr|0)==0,x4=De+2996|0,E$=De+2968|0,sy=au?E$:x4,oy=e[sy>>2]|0,ny=+(oy|0),NC=ny*1e3,kt=NC>hr,!kt){Au=NC;break}Au=hr}else Au=TC;while(!1);C0=e[Tg>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=De+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(gE=0;;){if(y0=(De+544|0)+(gE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(wp=0;;){W0=(w0+1092|0)+(wp<<2)|0,v0=e[W0>>2]|0,T0=(v0|0)==(ni|0);do if(T0){if(N0=e[bg>>2]|0,P0=(N0|0)>0,P0)FC=0,dE=0;else{up=0;break}for(;;)if(q0=(w0+4|0)+(dE<<2)|0,k0=e[q0>>2]|0,z0=(k0|0)==(wp|0),F0=z0&1,Y=F0+FC|0,L0=dE+1|0,VQ=(L0|0)==(N0|0),VQ){up=Y;break}else FC=Y,dE=L0}else up=0;while(!1);if(G0=wp+1|0,J0=(G0|0)<(B0|0),H0=(up|0)==0,Z0=J0&H0,Z0)wp=G0;else{$E=up;break}}else $E=0;if(O0=gE+1|0,Y0=(O0|0)<(b0|0),s1=($E|0)==0,V0=Y0&s1,V0)gE=O0;else{AE=$E;break}}else AE=0;if(i1=Au/hr,x0=+(AE|0),o1=x0*Z7,g1=o1*i1,m1=e[ZA>>2]|0,d1=+(m1|0),u1=g1/d1,A1=u1+.9,c1=~~A1,a1=n5(c1,m1)|0,$1=n7+4|0,e[$1>>2]=a1,j0=n5(AE,s7)|0,E1=(a1|0)>(j0|0),!E1){q=$1,Z1=a1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,q=$1,Z1=p1,x1=m1}else{if(B1=Au/hr,w1=B1*Z7,v1=e[ZA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,b1=~~M1,_1=n5(b1,v1)|0,F1=n7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){q=F1,Z1=_1,x1=v1;break}D1=(s7|0)%(v1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,q=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[q>>2]=x1),m3=uE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)uE=m3;else break}if(S6=y7+1|0,r6=(S6|0)<(a|0),r6)y7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(v6=e[f0>>2]|0,M3=v6+3396|0,o6=e[M3>>2]|0,C6=v6+3400|0,J3=+l1[C6>>3],R3=~~J3,K3=+(R3|0),e6=J3-K3,R6=o6+4|0,l6=e[R6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(J6=e[bg>>2]|0,B6=l6+(R3<<3)|0,F3=+l1[B6>>3],H6=1-e6,A6=F3*H6,D6=R3+1|0,G6=l6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*e6,X6=Q6+A6,U3=+(J6|0),Y6=X6*U3,ay=~~Y6,Q=ay),o9=t+16|0,e[o9>>2]=Q),g9=n0+3424|0,U6=e[g9>>2]|0,V6=t+20|0,e[V6>>2]=U6,F6=n0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(P3=n0+3444|0,s9=e[P3>>2]|0,h9=+(s9|0),n9=+(b6|0),C9=h9/n9,B9=~~C9,g0=B9),Q9=t+24|0,e[Q9>>2]=g0,d9=n0+3420|0,f9=e[d9>>2]|0,Y9=(f9|0)==0,Y9?(E=0,E|0):(y6=e[f6>>2]|0,a9=n0+3360|0,e[a9>>2]=y6,V9=e[g9>>2]|0,y9=n0+3364|0,e[y9>>2]=V9,ye=e[F6>>2]|0,ge=n0+3368|0,e[ge>>2]=ye,pe=n0+3444|0,z9=e[pe>>2]|0,re=n0+3372|0,e[re>>2]=z9,R9=n0+3448|0,w9=+l1[R9>>3],A9=n0+3376|0,l1[A9>>3]=w9,we=n0+3432|0,Me=+l1[we>>3],ue=n0+3384|0,l1[ue>>3]=Me,E=0,E|0)}function jb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0;if(Y=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,T=m,N=y+3400|0,Q=Xb(o,a,T,0,N)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)d=-130;else return eD(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=Zb(t)|0,D=(w|0)==0,D?(g=0,g|0):(wC(t),g=w,g|0);return wC(t),g=d,g|0}function rE(t,o,a,$,g,d){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,K=t+28|0,$0=e[K>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,d1=e[Z0>>2]|0,I1=+(d1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),T=F*E,N=($+(B*20|0)|0)+4|0,G=e[N>>2]|0,Y=+(G|0),e0=Y*M,J=e0+T,a0=J,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,V=e[s0>>2]|0,o0=+(V|0),q=o0*E,h0=($+(B*20|0)|0)+8|0,t0=e[h0>>2]|0,Z=+(t0|0),u0=Z*M,c0=u0+q,l0=c0,W=N0+20|0,s[W>>2]=l0,m0=($+(m*20|0)|0)+12|0,g0=+s[m0>>2],f0=g0,n0=f0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,W0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,P0=T0*M,q0=P0+W0,k0=q0,z0=N0+28|0,s[z0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),K0=G0*E,J0=g+(B<<2)|0,H0=e[J0>>2]|0,O0=+(H0|0),Y0=O0*M,s1=Y0+K0,V0=s1,i1=N0+496|0,s[i1>>2]=V0,p1=0;x0=(d+(m*68|0)|0)+(p1<<2)|0,o1=e[x0>>2]|0,h1=+(o1|0),g1=h1*E,m1=(d+(B*68|0)|0)+(p1<<2)|0,u1=e[m1>>2]|0,A1=+(u1|0),c1=A1*M,a1=c1+g1,$1=a1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function nE(t,o,a,$,g,d,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),h0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,b1=e[j0>>2]|0,q1=+(b1|0),D=1-h0,e0=q1*D,J=v+1|0,a0=$+(J<<2)|0,K=e[a0>>2]|0,r0=+(K|0),s0=r0*h0,V=s0+e0,o0=V,q=x0+108|0,s[q>>2]=o0,t0=d+(a*12|0)|0,Z=e[t0>>2]|0,u0=x0+120|0,e[u0>>2]=Z,c0=(d+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,W=(d+(a*12|0)|0)+8|0,m0=e[W>>2]|0,g0=x0+128|0,e[g0>>2]=m0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,d0=e[f0>>2]|0,p0=+(d0|0),C0=p0*D,S0=(g+(J*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*h0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,W0=i2+1|0,K1=(W0|0)==17,K1){c2=0;break}else i2=W0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(c2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*D,U1=((g+(J*204|0)|0)+68|0)+(c2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),Z1=P1*h0,G1=Z1+F1,x1=G1,J1=(x0+200|0)+(c2<<2)|0,s[J1>>2]=x1,H1=c2+1|0,d2=(H1|0)==17,d2){r2=0;break}else c2=H1;for(;Y1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,V1=e[Y1>>2]|0,X1=+(V1|0),o2=X1*D,j1=((g+(J*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,u2=+(O1|0),W1=u2*h0,I2=W1+o2,y=I2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,l2=(M|0)==17,!l2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,T=R,N=T+m,G=N,Y=G>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,P0=N0,q0=P0>2]=$2,z0=M0+1|0,a2=(z0|0)==17,!a2;)M0=z0;for(F0=x0+200|0,G0=+s[F0>>2],K0=G0+6,J0=x0+200|0,H0=G0,Z0=H0+m,O0=Z0,Y0=O0>2]=s2,s1=1;E=(x0+200|0)+(s1<<2)|0,S=+s[E>>2],V0=(x0+200|0)+(s1<<2)|0,i1=S,o1=i1+m,h1=o1,g1=h1>2]=e2,m1=s1+1|0,C2=(m1|0)==17,!C2;)s1=m1;for(d1=x0+268|0,u1=+s[d1>>2],A1=u1+6,c1=x0+268|0,a1=u1,$1=a1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=m2,L1=Q1+1|0,A2=(L1|0)==17,!A2;)Q1=L1}function Xb(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(V=26336,j0=0;;){if(s0=e[V>>2]|0,o0=s0+12|0,q=e[o0>>2]|0,h0=(q|0)==-1,Z=(q|0)==(t|0),p1=h0|Z,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,W=e[l0>>2]|0,m0=(W|0)<(o|0),!m0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,W0=t0+12|0,G0=e[W0>>2]|0,o1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=o1|A1,B1&&(c1=t0+16|0,D=e[c1>>2]|0,y=(D|0)>(o|0),!y&&(x=t0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[t0>>2]|0,F=t0+4|0,T=e[F>>2]|0,N=+l1[T>>3],G=Y>3],a0=Y>J,!a0))))){m=Y,I=R,E=d0,Q=T,u1=N;break e}if($1=E1+1|0,K=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else d0=K,E1=$1}return d|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=u1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return P0=(I1|0)==(I|0),P0?(q0=+(I|0),k0=q0+-.001,w1=k0):(z0=Q+(I1<<3)|0,F0=+l1[z0>>3],L0=F0,K0=I1+1|0,J0=Q+(K0<<3)|0,H0=+l1[J0>>3],Z0=H0,O0=L0,Y0=m-O0,s1=Z0-L0,V0=s1,i1=Y0/V0,x0=i1,h1=+(I1|0),g1=x0+h1,m1=g1,w1=m1),l1[g>>3]=w1,d1=e[E>>2]|0,d=d1,d|0}function eD(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,P0=E+3456|0,e[P0>>2]=1,O0=E+3460|0,e[O0>>2]=1,s1=E+3400|0,V0=+l1[s1>>3],Q=~~V0,B=+(Q|0),S=V0-B,b=E+3472|0,l1[b>>3]=V0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,T=R*F,N=Q+1|0,G=x+(N<<3)|0,Y=+l1[G>>3],e0=Y*S,J=e0+T,a0=E+3480|0,l1[a0>>3]=J,g=N,d=F):($=1-S,m=Q+1|0,g=m,d=$),K=r0+112|0,s0=e[K>>2]|0,V=s0+(Q<<2)|0,o0=e[V>>2]|0,q=+(o0|0),h0=q*d,t0=s0+(g<<2)|0,Z=e[t0>>2]|0,u0=+(Z|0),c0=u0*S,$0=c0+h0,W=E+3496|0,l1[W>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,d0=+(n0|0),p0=d0*d,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=V0,W0=E+3528|0,l1[W0>>3]=V0,M0=E+3536|0,l1[M0>>3]=V0,v0=E+3544|0,l1[v0>>3]=V0,T0=E+3552|0,l1[T0>>3]=V0,N0=E+3560|0,l1[N0>>3]=V0,q0=E+3568|0,l1[q0>>3]=V0,k0=E+3576|0,l1[k0>>3]=V0,z0=E+3584|0,l1[z0>>3]=V0,F0=E+3592|0,l1[F0>>3]=V0,L0=E+3600|0,l1[L0>>3]=V0,G0=E+3608|0,l1[G0>>3]=V0,K0=E+3616|0,l1[K0>>3]=V0,J0=E+3624|0,l1[J0>>3]=V0,H0=E+3632|0,l1[H0>>3]=V0,Z0=E+3640|0,l1[Z0>>3]=V0,Y0=E+3648|0,l1[Y0>>3]=V0}function tD(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0;if(H0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,W0=o+(L<<2)|0,M0=e[W0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,T=(S|0)/2&-1,N=T+y|0,m=(D|0)/-4&-1,G=N+m|0,Y=(D|0)/2&-1,e0=G+Y|0,J=(M|0)>0,J?(a0=y-x|0,K=a0<<2,g4(t|0,0,K|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(V=y+R|0,o0=V-N0|0,q=o0-x|0,P0=N0,z0=0;u0=_0+(z0<<2)|0,c0=+s[u0>>2],$0=t+(P0<<2)|0,W=+s[$0>>2],m0=W*c0,s[$0>>2]=m0,g0=P0+1|0,f0=z0+1|0,T0=(f0|0)==(q|0),!T0;)P0=g0,z0=f0;if(h0=(D|0)>1,h0){for(t0=G+1|0,Z=(e0|0)>(t0|0),k0=G,L0=Y;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(e0|0),B0;)k0=w0,L0=F0;K0=Z?e0:t0,q0=K0}else q0=G;n0=(S|0)>(q0|0),n0&&(G0=t+(q0<<2)|0,d0=S-q0|0,p0=d0<<2,g4(G0|0,0,p0|0)|0)}function iD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0;if(W=C,C=C+64|0,$0=W+32|0,c0=W,$=M9(688)|0,g=$+408|0,db(g),D=~~o,jb(g,t,D,a)|0,e0=$+440|0,gb(e0),ub(e0,553008,553016),o0=$+456|0,HS(o0,g)|0,q=$+568|0,OS(o0,q)|0,h0=aQ(0)|0,$D(h0),t0=lD()|0,LS($,t0)|0,Z=$+680|0,e[Z>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,fb(o0,e0,d,$0,c0)|0,tE($,d)|0,tE($,$0)|0,tE($,c0)|0,m=$+392|0,I=$Q($,m)|0,E=(I|0)==0,E)return C=W,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[Z>>2]|0,T=J7(F,x)|0,e[Z>>2]=T,N=e[u0>>2]|0,G=T+N|0,Y=e[m>>2]|0,J=e[Q>>2]|0,ce(G|0,Y|0,J|0)|0,a0=J+N|0,e[u0>>2]=a0,K=T+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ce(K|0,r0|0,s0|0)|0,V=s0+a0|0,e[u0>>2]=V),L=$Q($,m)|0,R=(L|0)==0,!R;);return C=W,$|0}function rD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;E=C,MS(t)|0,o=t+568|0,qS(o)|0,a=t+456|0,uQ(a),$=t+440|0,hb($),g=t+408|0,wC(g),d=t+680|0,m=e[d>>2]|0,E2(m),E2(t)}function nD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=hQ(a,o)|0,$|0}function oD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0;if(W=C,a=t+456|0,YS(a,o)|0,$=t+568|0,w=dQ(a,$)|0,Y=(w|0)==1,!!Y)for(h0=t+360|0,t0=t+392|0,Z=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(NS($,0)|0,PS($)|0,E=gQ(a,h0)|0,Q=(E|0)==0,!Q)for(;;){if(tE(t,h0)|0,b=lQ(t,t0)|0,v=(b|0)==0,!v)for(;D=e[Z>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(N=e[$0>>2]|0,G=J7(N,L)|0,e[$0>>2]=G,e0=e[Z>>2]|0,J=G+e0|0,a0=e[g>>2]|0,K=e[u0>>2]|0,ce(J|0,a0|0,K|0)|0,r0=K+e0|0,e[Z>>2]=r0,s0=G+r0|0,V=e[d>>2]|0,o0=e[c0>>2]|0,ce(s0|0,V|0,o0|0)|0,q=o0+r0|0,e[Z>>2]=q),F=lQ(t,t0)|0,T=(F|0)==0,!T;);if(B=gQ(a,h0)|0,S=(B|0)==0,S)break}if(m=dQ(a,$)|0,I=(m|0)==1,!I)break}}function sD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function aD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function oE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+AD(t,o),+a}function Uu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0;if(G3=C,C=C+688|0,n3=G3+424|0,W5=G3+192|0,t3=G3,o0=n5(a,o)|0,q=(o0|0)==0,q){C=G3;return}for(K=o0-a|0,Y1=t3+4|0,e[Y1>>2]=a,e[t3>>2]=a,t2=a,I5=a,_3=2;A2=t2+a|0,U2=A2+I5|0,T5=t3+(_3<<2)|0,e[T5>>2]=U2,D5=U2>>>0>>0,r5=_3+1|0,D5;)k2=I5,I5=U2,_3=r5,t2=k2;if(h0=0-a|0,n0=t+K|0,_0=(K|0)>0,_0)for(L0=(a|0)==0,x0=n0,b1=1,W2=0,N5=t,H5=1;;){j0=b1&3,J1=(j0|0)==3;do if(J1){e[W5>>2]=N5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=N5,O1=N5,X5=1;;){if(H1=y+h0|0,V1=B+-2|0,X1=t3+(V1<<2)|0,o2=e[X1>>2]|0,G5=o2+a|0,r0=0-G5|0,j1=y+r0|0,u2=pi[$&15](O1,j1)|0,W1=(u2|0)>-1,W1&&(I2=pi[$&15](O1,H1)|0,a2=(I2|0)>-1,a2)){f3=X5;break}if(C2=pi[$&15](j1,H1)|0,K1=(C2|0)>-1,d2=X5+1|0,l2=W5+(X5<<2)|0,K1?(e[l2>>2]=j1,i2=B+-1|0,d=j1,E=i2):(e[l2>>2]=H1,d=H1,E=V1),c2=(E|0)>1,!c2){f3=d2;break}Y=e[W5>>2]|0,B=E,y=d,O1=Y,X5=d2}if(r2=(f3|0)<2,!r2&&($2=W5+(f3<<2)|0,e[$2>>2]=n3,!L0))for(w=a,O2=n3;;){for(p2=w>>>0>256,s2=p2?256:w,K2=e[W5>>2]|0,ce(O2|0,K2|0,s2|0)|0,L2=K2,X3=0;D2=W5+(X3<<2)|0,S2=X3+1|0,Q2=W5+(S2<<2)|0,G2=e[Q2>>2]|0,ce(L2|0,G2|0,s2|0)|0,P2=L2+s2|0,e[D2>>2]=P2,r3=(S2|0)==(f3|0),!r3;)L2=G2,X3=S2;if(e2=(w|0)==(s2|0),e2)break e;m2=w-s2|0,J=e[$2>>2]|0,w=m2,O2=J}}while(!1);z2=b1>>>2,H2=W2<<30,A5=z2|H2,Y2=W2>>>2,N1=H5+2|0,l0=A5,x1=Y2,V5=N1}else{if(e5=H5+-1|0,F5=t3+(e5<<2)|0,t5=e[F5>>2]|0,_5=N5,Z2=x0-_5|0,b5=t5>>>0>>0,b5){e[W5>>2]=N5,Y5=(H5|0)>1;e:do if(Y5){for(S=H5,x=N5,M2=N5,D3=1;;){if(g5=x+h0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,o5=e[B5>>2]|0,$6=o5+a|0,s0=0-$6|0,R2=x+s0|0,y2=pi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=pi[$&15](M2,g5)|0,x5=(m5|0)>-1,x5)){w3=D3;break}if(q5=pi[$&15](R2,g5)|0,L5=(q5|0)>-1,V2=D3+1|0,p5=W5+(D3<<2)|0,L5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){w3=V2;break}e0=e[W5>>2]|0,S=Q,x=m,M2=e0,D3=V2}if(y5=(w3|0)<2,!y5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,X2=n3;;){for(f5=D>>>0>256,l5=f5?256:D,M5=e[W5>>2]|0,ce(X2|0,M5|0,l5|0)|0,d5=M5,q3=0;h2=W5+(q3<<2)|0,w5=q3+1|0,i5=W5+(w5<<2)|0,s5=e[i5>>2]|0,ce(d5|0,s5|0,l5|0)|0,J2=d5+l5|0,e[h2>>2]=J2,a3=(w5|0)==(w3|0),!a3;)d5=s5,q3=w5;if(h5=(D|0)==(l5|0),h5)break e;j2=D-l5|0,a0=e[T1>>2]|0,D=j2,X2=a0}}while(!1)}else sE(N5,a,$,b1,W2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=W2<<1,v5=b1>>>31,z5=v5|F2,i3=b1<<1,l0=i3,x1=z5,V5=0;break}else{E5=e5>>>0>31,I3=H5+-33|0,g=E5?0:b1,M=E5?b1:W2,L=E5?I3:e5,d3=M<>>t0,u0=Z|d3,c0=g<>>0>>0,m0)b1=$0,W2=x1,N5=W,H5=V5;else{T=x1,N=$0,B3=W,J5=V5;break}}else T=0,N=1,B3=t,J5=1;if(sE(B3,a,$,N,T,J5,0,t3),g0=(J5|0)==1,f0=(N|0)==1,Q3=f0&g0,d0=(T|0)==0,u3=d0&Q3,u3){C=G3;return}else S0=N,v0=T,Z5=B3,S5=J5;for(;;){if(p0=(S5|0)<2,!p0){Y0=v0<<2,s1=S0>>>30,V0=s1|Y0,i1=S5+-2|0,o1=S0<<1,h1=o1&2147483646,g1=s1<<31,m1=h1|g1,d1=m1^3,u1=V0>>>1,A1=t3+(i1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,V=0-Y3|0,a1=Z5+V|0,$1=S5+-1|0,sE(a1,a,$,d1,u1,$1,1,t3),E1=u1<<1,I1=s1&1,Q1=E1|I1,p1=d1<<1,B1=p1|1,w1=Z5+h0|0,sE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,Z5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)O0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,W0=(B0|0)==0,W0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:J0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){O0=64,l3=56;break}if(N0=v0&1,P0=(N0|0)==0,P0)v=v0,N3=0;else{I=0,k1=S0,_1=v0,D1=0;break}for(;;)if(q0=N3+1|0,k0=v>>>1,z0=k0&1,F0=(z0|0)==0,F0)v=k0,N3=q0;else{F=q0,H3=N3;break}if(G0=H3+33|0,K0=(F|0)==0,K0){I=0,k1=S0,_1=v0,D1=0;break}else J0=G0}H0=J0>>>0>31,H0?(O0=J0,l3=56):(I=J0,k1=S0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,Z0=O0+-32|0,I=Z0,k1=v0,_1=0,D1=O0),v1=k1>>>I,L1=32-I|0,M1=_1<>>I,U1=D1+S5|0,G=Z5+h0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,Z5=G,S5=U1}C=G3}function sE(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,H2=y2+228|0,U2=y2,e[U2>>2]=t,q=0-o|0,h0=($|0)!=1,v0=(g|0)!=0,J0=v0|h0;e:do if(J0)if(g1=I+(d<<2)|0,Q1=e[g1>>2]|0,F1=0-Q1|0,V1=t+F1|0,K1=pi[a&15](V1,t)|0,k2=(K1|0)<1,k2)B=t,M=d,G=m,Y2=1,M2=18;else for(v=t,T=d,Y=m,B0=V1,Y0=g,_5=1,b2=$;;){if(t0=(Y|0)==0,d0=(T|0)>1,g5=t0&d0,g5){if(b0=v+q|0,E0=T+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=pi[a&15](b0,B0)|0,W0=(_0|0)>-1,W0){S=v,L=T,e5=_5;break e}if(B5=w0+o|0,V=0-B5|0,M0=v+V|0,T0=pi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=T,e5=_5;break e}}P0=_5+1|0,q0=U2+(_5<<2)|0,e[q0>>2]=B0,k0=b2+-1|0,z0=(k0|0)==0;do if(z0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,K0=y>>>1,H0=K0&1,Z0=(H0|0)==0,Z0)y=K0,I5=G0;else{e0=G0;break}O0=(e0|0)==0,O0?M2=10:A1=e0}else M2=10;if((M2|0)==10){if(M2=0,s1=(Y0|0)==0,s1){$1=64,M2=15;break}if(V0=Y0&1,i1=(V0|0)==0,i1)x=Y0,b5=0;else{Q=0,E1=b2,B1=Y0,L1=0;break}for(;;)if(x0=b5+1|0,o1=x>>>1,h1=o1&1,m1=(h1|0)==0,m1)x=o1,b5=x0;else{J=x0,Y5=b5;break}if(d1=Y5+33|0,u1=(J|0)==0,u1){Q=0,E1=b2,B1=Y0,L1=0;break}else A1=d1}c1=A1>>>0>31,c1?($1=A1,M2=15):(Q=A1,E1=b2,B1=Y0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,a1=$1+-32|0,Q=a1,E1=Y0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+T|0,M1=(w1|0)!=1,b1=(v1|0)!=0,_1=b1|M1,!_1){S=B0,L=k1,e5=P0;break e}if(a0=e[U2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,Z1=pi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,G=0,Y2=P0,M2=18;break}else w=B0,T=k1,Y=0,B0=P1,Y0=v1,_5=P0,b2=w1,v=w}else B=t,M=d,G=m,Y2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(G|0)==0,x1)S=B,L=M,e5=Y2;else{C=y2;return}J1=(e5|0)<2;e:do if(!J1&&(q1=U2+(e5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,d2=R2;;){for(C2=F>>>0>256,X1=C2?256:F,A2=e[U2>>2]|0,ce(d2|0,A2|0,X1|0)|0,I2=A2,t5=0;j1=U2+(t5<<2)|0,O1=t5+1|0,u2=U2+(O1<<2)|0,W1=e[u2>>2]|0,ce(I2|0,W1|0,X1|0)|0,a2=I2+X1|0,e[j1>>2]=a2,A5=(O1|0)==(e5|0),!A5;)I2=W1,t5=O1;if(Y1=(F|0)==(X1|0),Y1)break e;o2=F-X1|0,s0=e[q1>>2]|0,F=o2,d2=s0}while(!1);e[H2>>2]=S,l2=(L|0)>1;e:do if(l2){for(D=L,N=S,s2=S,Z2=1;;){if(i2=N+q|0,c2=D+-2|0,r2=I+(c2<<2)|0,$2=e[r2>>2]|0,o5=$2+o|0,o0=0-o5|0,e2=N+o0|0,m2=pi[a&15](s2,e2)|0,t2=(m2|0)>-1,t2&&(D2=pi[a&15](s2,i2)|0,S2=(D2|0)>-1,S2)){N1=Z2;break}if(Q2=pi[a&15](e2,i2)|0,G2=(Q2|0)>-1,L2=Z2+1|0,P2=H2+(Z2<<2)|0,G2?(e[P2>>2]=e2,p2=D+-1|0,E=e2,b=p2):(e[P2>>2]=i2,E=i2,b=c2),K2=(b|0)>1,!K2){N1=L2;break}K=e[H2>>2]|0,D=b,N=E,s2=K,Z2=L2}if(O2=(N1|0)<2,O2)Q0=R2;else if(z2=H2+(N1<<2)|0,e[z2>>2]=R2,Z=(o|0)==0,Z)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[H2>>2]|0,ce(S0|0,C0|0,c0|0)|0,f0=C0,F5=0;l0=H2+(F5<<2)|0,W=F5+1|0,m0=H2+(W<<2)|0,g0=e[m0>>2]|0,ce(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,W2=(W|0)==(N1|0),!W2;)f0=g0,F5=W;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[z2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function z7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,d=t+4503599627370496,m=d+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function FQ(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(d=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=d?I:Q,B=b==0,B?(S=d?-0:0,o=S,+o):(o=b,+o))}function AD(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0;return e0=C,d=(o|0)>1023,d?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,G=M):($=y,G=m)):(F=(o|0)<-1022,F?(T=t*22250738585072014e-324,N=o+1022|0,I=(N|0)<-1022,I?(E=T*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,G=E):($=N,G=T)):($=o,G=t)),S=$+1023|0,b=GQ(S|0,0,52)|0,v=Z6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=G*w,+D}function $D(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function lD(){var t=0,o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=hD(E|0,S|0,1284865837,1481765933)|0,v=Z6,w=ns(b|0,v|0,1,0)|0,D=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=D,m=os(w|0,D|0,33)|0,I=Z6,m|0}function M9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Yi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Vi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,V8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,wr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,vr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,kr=0,un=0,Ts=0,rr=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Sr=0,Io=0,p7=0,fn=0,br=0,nr=0,Dr=0,K7=0,_r=0,mo=0,W7=0,b7=0,D7=0,i7=0,_7=0,xr=0,or=0,sr=0,Lr=0,E7=0,Os=0,fi=0,nl=0,In=0,mn=0,Pu=0,ol=0,qs=0,Ou=0,sA=0,sl=0,qu=0,Hu=0,Yu=0,aA=0,al=0,Al=0,AA=0,pn=0,$l=0,Vu=0,Hs=0,ar=0,zu=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,ll=0,Mr=0,rh=0,nh=0,cl=0,oh=0,$A=0,Ys=0,lA=0,sh=0,ah=0,cA=0,gl=0,ul=0,hl=0,gA=0,dl=0,Vs=0,Ah=0,$h=0,fl=0,lh=0,ch=0,Il=0,gh=0,uh=0,ml=0,pl=0,El=0,Cl=0,Bl=0,En=0,hh=0,Ql=0,dh=0,yl=0,wl=0,fh=0,Ih=0,mh=0,uA=0,vl=0,kl=0,po=0,Sl=0,hA=0,ph=0,bl=0,Eh=0,Dl=0,Ch=0,Bh=0,_l=0,xl=0,Qh=0,zs=0,yh=0,dA=0,Ll=0,Ml=0,wh=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,Js=0,Rl=0,Fl=0,Tl=0,Ks=0,_h=0,Nl=0,xh=0,Gl=0,Lh=0,Mh=0,Ul=0,fA=0,Rh=0,Fh=0,Ws=0,Th=0,Zs=0,Nh=0,IA=0,Gh=0,Uh=0,Ph=0,Pl=0,Oh=0,qh=0,Hh=0,Yh=0,Ol=0,ql=0,Ar=0,Hl=0,js=0,mA=0,pA=0,Cn=0,Yl=0,Bn=0,Vh=0,Vl=0,zh=0,Jh=0,Kh=0,Wh=0,Xs=0,EA=0,Rr=0,Zh=0,jh=0,zl=0,CA=0,Jl=0,Kl=0,Xh=0,Wl=0,ed=0,BA=0,td=0,id=0,K9=0,rd=0,Zl=0,nd=0,od=0,QA=0,sd=0,yA=0,jl=0,ad=0,Ad=0,Xl=0,ec=0,$d=0,wA=0,vA=0,tc=0,ic=0,ld=0,rc=0,kA=0,cd=0,nc=0,gd=0,ud=0,hd=0,dd=0,oc=0,sc=0,SA=0,ea=0,ac=0,fd=0,Ac=0,$c=0,Id=0,md=0,pd=0,lc=0,Ed=0,Cd=0,Bd=0,Qd=0,yd=0,wd=0,cc=0,vd=0,gc=0,kd=0,Qn=0,Sd=0,uc=0,bd=0,Eo=0,hc=0,bA=0,Dd=0,ta=0,DA=0,_d=0,_A=0,dc=0,xd=0,Ld=0,Md=0,Rd=0,Fd=0,fc=0,Td=0,Nd=0,Gd=0,ia=0,Co=0,xA=0,Ud=0,LA=0,Pd=0,Od=0,qd=0,Ic=0,Hd=0,Yd=0,Vd=0,zd=0,Jd=0,ra=0,Kd=0,Wd=0,mc=0,Zd=0,jd=0,Xd=0,ef=0,C7=0,pc=0,B7=0,Ec=0,MA=0,tf=0,r7=0,Bo=0,rf=0,nf=0,of=0,sf=0,af=0,Cc=0,Af=0,$f=0,Bc=0,lf=0,cf=0,Qo=0,RA=0,gf=0,Qc=0,uf=0,hf=0,na=0,df=0,ff=0,yc=0,wc=0,If=0,mf=0,yn=0,pf=0,Ef=0,wn=0,Cf=0,vc=0,Bf=0,Qf=0,yo=0,kc=0,yf=0,Sc=0,wf=0,$r=0,FA=0,vf=0,bc=0,Dc=0,kf=0,Sf=0,_c=0,bf=0,Df=0,_f=0,xc=0,xf=0,wo=0,Lf=0,vn=0,Mf=0,Rf=0,TA=0,Ff=0,NA=0,GA=0,Tf=0,Lc=0,Mc=0,Nf=0,Rc=0,Fc=0,Tc=0,Gf=0,Nc=0,Gc=0,Uf=0,Pf=0,Uc=0,Pc=0,Of=0,Oc=0,qc=0,qf=0,Hf=0,Hc=0,UA=0,Yc=0,Vc=0,zc=0,Jc=0,Yf=0,Vf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Kc=0,PA=0,Xf=0,eI=0,tI=0,Wc=0,Zc=0,iI=0,jc=0,OA=0,oa=0,Xc=0,rI=0,nI=0,oI=0,sI=0,eg=0,sa=0,aI=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,tg=0,dI=0,fI=0,II=0,mI=0,aa=0,ig=0,pI=0,EI=0,kn=0,rg=0,ng=0,qA=0,CI=0,og=0,BI=0,sg=0,ag=0,QI=0,yI=0,wI=0,vI=0,kI=0,Aa=0,HA=0,SI=0,bI=0,DI=0,_I=0,Ag=0,xI=0,$g=0,LI=0,MI=0,lg=0,Fr=0,cg=0,gg=0,RI=0,ug=0,$a=0,FI=0,TI=0,NI=0,la=0,hg=0,GI=0,UI=0,dg=0,PI=0,OI=0,YA=0,ca=0,qI=0,HI=0,YI=0,fg=0,Ig=0,mg=0,VI=0,zI=0,vo=0,JI=0,pg=0,KI=0,VA=0,Eg=0,WI=0,ZI=0,jI=0,XI=0,Cg=0,em=0,tm=0,Bg=0,ga=0,im=0,rm=0,nm=0,ko=0,Qg=0,yg=0,om=0,wg=0,vg=0,x7=0,kg=0,lr=0,sm=0,am=0,Am=0,$m=0,zA=0,ua=0,Sg=0,bg=0,lm=0,ha=0,So=0,cm=0,da=0,JA=0,gm=0,KA=0,um=0,hm=0,Dg=0,fa=0,_g=0,dm=0,fm=0,Im=0,mm=0,xg=0,pm=0,ni=0,De=0,n7=0,Em=0,Lg=0,Mg=0,WA=0,Cm=0,Tr=0,bo=0,Bm=0,Qm=0,Rg=0,ZA=0,ym=0,Fg=0,Tg=0,Ng=0,jA=0,XA=0,Gg=0,Do=0,e$=0,Ug=0,wm=0,Sn=0,vm=0,Pg=0,Ia=0,km=0,Og=0,L7=0,Sm=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,M7=0,Mm=0,Rm=0,Fm=0,qg=0,Q7=0,ma=0,t$=0,Hg=0,Yg=0,Tm=0,Vg=0,zg=0,Nm=0,Gm=0,Jg=0,Kg=0,Um=0,Pm=0,Wg=0,Om=0,_o=0,pa=0,Ea=0,qm=0,i$=0,Hm=0,Ym=0,Zg=0,xo=0,Vm=0,zm=0,r$=0,n$=0,Ca=0,o$=0,s$=0,cr=0,Nr=0,Gr=0,a$=0,A$=0,Lo=0,gr=0,bn=0,Jm=0,ur=0,Dn=0,Km=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,jg=0,Xg=0,ya=0,$$=0,Ni=0,wa=0,Ur=0,l$=0,Wm=0,c$=0,Zm=0,g$=0,eu=0,va=0,jm=0,Xm=0,ka=0,ep=0,Sa=0,_n=0,tt=0,Le=0,tu=0,tp=0,u$=0,iu=0,ip=0,rp=0,ba=0,np=0,op=0,sp=0,ap=0,ru=0,Ap=0,$p=0,lp=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,nu=0,ou=0,_a=0,To=0,No=0,Go=0,cp=0,Uo=0,hr=0,su=0,Pr=0,s7=0,d$=0,f$=0,Z7=0,I$=0,m$=0,p$=0,Or=0,u6=0,xa=0,qr=0,au=0,x4=0,E$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Hr=0,je=0,C$=0;C$=C,K1=t>>>0<245;do if(K1){if(d2=t>>>0<11,pe=t+11|0,Ke=pe&-8,_4=d2?16:Ke,qs=_4>>>3,IA=e[138262]|0,ia=IA>>>qs,Vc=ia&3,Bg=(Vc|0)==0,!Bg){l2=ia&1,f3=l2^1,g3=f3+qs|0,l3=g3<<1,h3=553088+(l3<<2)|0,S0=l3+2|0,N6=553088+(S0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,Q9=(h3|0)==(F6|0);do if(Q9)z9=1<>>0>>0,d4&&v2(),Se=F6+12|0,S9=e[Se>>2]|0,Pt=(S9|0)==(R6|0),Pt){e[Se>>2]=h3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,b4=R6+w0|0,We=e[b4>>2]|0,A8=We|1,e[b4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,Z8=_4>>>0>X4>>>0,Z8){if(Hi=(ia|0)==0,!Hi){Vi=ia<>>12,gn=Ss&16,go=ro>>>gn,nr=go>>>5,or=nr&8,Ou=or|gn,$l=go>>>or,eh=$l>>>2,lA=eh&4,$h=Ou|lA,Bl=$l>>>lA,vl=Bl>>>1,_l=vl&2,Sh=$h|_l,Gl=Bl>>>_l,Gh=Gl>>>1,Hl=Gh&1,Kh=Sh|Hl,Xh=Gl>>>Hl,QA=Kh+Xh|0,tc=QA<<1,oc=553088+(tc<<2)|0,P1=tc+2|0,lc=553088+(P1<<2)|0,Qn=e[lc>>2]|0,_A=Qn+8|0,Co=e[_A>>2]|0,zd=(oc|0)==(Co|0);do if(zd)pc=1<>>0>>0,$r&&v2(),xc=Co+12|0,Tf=e[xc>>2]|0,Pf=(Tf|0)==(Qn|0),Pf){e[xc>>2]=oc,e[lc>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return zc=QA<<3,PA=zc-_4|0,rI=_4|3,gI=Qn+4|0,e[gI>>2]=rI,EI=Qn+_4|0,yI=PA|1,X1=_4|4,xI=Qn+X1|0,e[xI>>2]=yI,FI=Qn+zc|0,e[FI>>2]=PA,pg=(ca|0)==0,pg||(ga=e[138267]|0,kg=ca>>>3,ha=kg<<1,_g=553088+(ha<<2)|0,Lg=e[138262]|0,Fg=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(G=_o,Ca=i2)),e[G>>2]=ga,g5=Ca+12|0,e[g5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,j2=ga+12|0,e[j2>>2]=_g),e[138264]=PA,e[138267]=EI,tt=_A,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=_4;else{for(Z5=0-c5|0,_3=c5&Z5,w3=_3+-1|0,X3=w3>>>12,q3=X3&16,X5=w3>>>q3,D3=X5>>>5,t3=D3&8,s6=t3|q3,N3=X5>>>t3,H3=N3>>>2,c3=H3&4,u3=s6|c3,Q3=N3>>>c3,J5=Q3>>>1,H5=J5&2,V5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,G5=Y3&1,$6=V5|G5,n3=S5>>>G5,G3=$6+n3|0,E6=553352+(G3<<2)|0,S3=e[E6>>2]|0,x3=S3+4|0,b3=e[x3>>2]|0,a6=b3&-8,i6=a6-_4|0,Da=i6,f$=S3,E$=S3;;){if(V3=f$+16|0,j5=e[V3>>2]|0,L3=(j5|0)==0,L3)if(z3=f$+20|0,d6=e[z3>>2]|0,m3=(d6|0)==0,m3){xn=Da,kt=E$;break}else L6=d6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,r6=S6-_4|0,f6=r6>>>0>>0,V=f6?r6:Da,A2=f6?L6:E$,Da=V,f$=L6,E$=A2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+_4|0,M3=kt>>>0>>0,M3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,J3=e[C6>>2]|0,R3=(J3|0)==(kt|0);do if(R3){if(H6=kt+20|0,A6=e[H6>>2]|0,D6=(A6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else gr=Q6,Ba=e9;else gr=A6,Ba=H6;for(;;){if(U3=gr+20|0,r9=e[U3>>2]|0,Y6=(r9|0)==0,!Y6){gr=r9,Ba=U3;continue}if(o9=gr+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){ur=gr,Xg=Ba;break}else gr=g9,Ba=o9}if(V6=Xg>>>0>>0,V6)v2();else{e[Xg>>2]=0,Ri=ur;break}}else if(K3=kt+8|0,e6=e[K3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,J6=e[o3>>2]|0,A3=(J6|0)==(kt|0),A3||v2(),c6=J3+8|0,B6=e[c6>>2]|0,F3=(B6|0)==(kt|0),F3){e[o3>>2]=J3,e[c6>>2]=e6,Ri=J3;break}else v2();while(!1);t9=(o6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,P3=553352+(P6<<2)|0,O6=e[P3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[P3>>2]=Ri,jm=(Ri|0)==0,jm){h9=1<>>0>>0,f9&&v2(),Y9=o6+16|0,y6=e[Y9>>2]|0,q6=(y6|0)==(kt|0),q6?e[Y9>>2]=Ri:(a9=o6+20|0,e[a9>>2]=Ri),V9=(Ri|0)==0,V9)break;y9=e[138266]|0,ye=Ri>>>0>>0,ye&&v2(),ge=Ri+24|0,e[ge>>2]=o6,re=kt+16|0,R9=e[re>>2]|0,w9=(R9|0)==0;do if(!w9)if(K6=R9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=R9,we=R9+24|0,e[we>>2]=Ri;break}while(!1);if(Me=kt+20|0,ue=e[Me>>2]|0,D9=(ue|0)==0,!D9)if(Re=e[138266]|0,Ge=ue>>>0>>0,Ge)v2();else{qe=Ri+20|0,e[qe>>2]=ue,r4=ue+24|0,e[r4>>2]=Ri;break}}while(!1);return ve=xn>>>0<16,ve?(He=xn+_4|0,J9=He|3,Ye=kt+4|0,e[Ye>>2]=J9,Z1=He+4|0,he=kt+Z1|0,Ue=e[he>>2]|0,Ee=Ue|1,e[he>>2]=Ee):(Z9=_4|3,v9=kt+4|0,e[v9>>2]=Z9,v4=xn|1,m0=_4|4,Y4=kt+m0|0,e[Y4>>2]=v4,f0=xn+_4|0,nt=kt+f0|0,e[nt>>2]=xn,Ve=e[138264]|0,V4=(Ve|0)==0,V4||(ze=e[138267]|0,n4=Ve>>>3,R4=n4<<1,ne=553088+(R4<<2)|0,u4=e[138262]|0,Ce=1<>2]|0,h4=e[138266]|0,oe=Te>>>0

>>0,oe?v2():(T=de,n$=Te)),e[T>>2]=ze,f4=n$+12|0,e[f4>>2]=ze,ke=ze+8|0,e[ke>>2]=n$,o4=ze+12|0,e[o4>>2]=ne),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=_4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(k9=t+11|0,I6=k9&-8,z4=e[138263]|0,fe=(z4|0)==0,fe)Le=I6;else{k4=0-I6|0,Ie=k9>>>8,z6=(Ie|0)==0,z6?_n=0:(F4=I6>>>0>16777215,F4?_n=31:(T4=Ie+1048320|0,st=T4>>>16,me=st&8,xe=Ie<>>16,_9=W3&4,Oe=_9|me,s4=xe<<_9,d8=s4+245760|0,N4=d8>>>16,f8=N4&2,D8=Oe|f8,e8=14-D8|0,I8=s4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,_8=i8|Ot,_n=_8)),Ht=553352+(_n<<2)|0,Yt=e[Ht>>2]|0,Vt=(Yt|0)==0;e:do if(Vt)Ro=k4,I$=0,Mn=0,je=86;else for(_t=(_n|0)==31,xt=_n>>>1,zt=25-xt|0,Jt=_t?0:zt,r8=I6<>2]|0,J4=Et&-8,G4=J4-I6|0,at=G4>>>0>>0,at)if(Lt=(J4|0)==(I6|0),Lt){Fo=G4,Or=Z7,Hr=Z7,je=90;break e}else Mo=G4,Ln=Z7;else Mo=h$,Ln=Po;if(x9=Z7+20|0,S4=e[x9>>2]|0,E8=_a>>>31,x8=(Z7+16|0)+(E8<<2)|0,o8=e[x8>>2]|0,L8=(S4|0)==0,a4=(S4|0)==(o8|0),np=L8|a4,ou=np?nu:S4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,I$=ou,Mn=Ln,je=86;break}else h$=Mo,nu=ou,_a=Kt,Z7=o8,Po=Ln}while(!1);if((je|0)==86){if(Mt=(I$|0)==0,At=(Mn|0)==0,ip=Mt&At,ip){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=z4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,Qt=ct>>>12,p4=Qt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,D4=gt&4,be=P4|D4,yt=E4>>>D4,a8=yt>>>1,E3=a8&2,Z4=be|E3,wt=yt>>>E3,A4=wt>>>1,j9=A4&1,$4=Z4|j9,F9=wt>>>j9,j4=$4+F9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,m$=C8,Rn=0}else m$=I$,Rn=Mn;$8=(m$|0)==0,$8?(oi=Ro,q9=Rn):(Fo=Ro,Or=m$,Hr=Rn,je=90)}if((je|0)==90)for(;;){if(je=0,Zt=Or+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,o0=ht?ut:Fo,p$=ht?Or:Hr,Ft=Or+16|0,Ze=e[Ft>>2]|0,c8=(Ze|0)==0,!c8){Fo=o0,Or=Ze,Hr=p$,je=90;continue}if(Tt=Or+20|0,b9=e[Tt>>2]|0,g8=(b9|0)==0,g8){oi=o0,q9=p$;break}else Fo=o0,Or=b9,Hr=p$,je=90}if(et=(q9|0)==0,et)Le=I6;else if(H8=e[138264]|0,W8=H8-I6|0,M8=oi>>>0>>0,M8){u8=e[138266]|0,R8=q9>>>0>>0,R8&&v2(),l4=q9+I6|0,Y8=q9>>>0>>0,Y8||v2(),dt=q9+24|0,Nt=e[dt>>2]|0,F8=q9+12|0,Xt=e[F8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(X8=q9+20|0,Bi=e[X8>>2]|0,ei=(Bi|0)==0,ei)if(Qi=q9+16|0,li=e[Qi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dn=li,ya=Qi;else Dn=Bi,ya=X8;for(;;){if(yi=Dn+20|0,wi=e[yi>>2]|0,u7=(wi|0)==0,!u7){Dn=wi,ya=yi;continue}if(vi=Dn+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Km=Dn,$$=ya;break}else Dn=ci,ya=vi}if(zi=$$>>>0>>0,zi)v2();else{e[$$>>2]=0,Ti=Km;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,T8=Ae>>>0>>0,T8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Yi=(qi|0)==(q9|0),Yi||v2(),Ei=Xt+8|0,j8=e[Ei>>2]|0,Ci=(j8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ti=(q9|0)==(Zi|0),ti){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(q9|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ri=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,hi=q9+16|0,z8=e[hi>>2]|0,Li=(z8|0)==0;do if(!Li)if(N8=z8>>>0>>0,N8)v2();else{di=Ti+16|0,e[di>>2]=z8,$9=z8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(G8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{wr=Ti+20|0,e[wr>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=oi>>>0<16;e:do if($s)Jn=oi+I6|0,ls=Jn|3,cs=q9+4|0,e[cs>>2]=ls,h1=Jn+4|0,Kn=q9+h1|0,gs=e[Kn>>2]|0,on=gs|1,e[Kn>>2]=on;else{if(us=I6|3,hs=q9+4|0,e[hs>>2]=us,ds=oi|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=ds,C0=oi+I6|0,Zn=q9+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Is=oi>>>0<256,Is){sn=jn<<1,Xn=553088+(sn<<2)|0,an=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,vr=io>>>0>>0,vr?v2():(F=An,s$=io)),e[F>>2]=l4,$n=s$+12|0,e[$n>>2]=l4,Y0=I6+8|0,Bs=q9+Y0|0,e[Bs>>2]=s$,V0=I6+12|0,Qs=q9+V0|0,e[Qs>>2]=Xn;break}if(ln=oi>>>8,I7=(ln|0)==0,I7?Nr=0:(ys=oi>>>0>16777215,ys?Nr=31:(ws=ln+1048320|0,no=ws>>>16,oo=no&8,so=ln<>>16,cn=m7&4,ks=cn|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,kr=oi>>>Fs,un=kr&1,Ts=un|Rs,Nr=Ts)),rr=553352+(Nr<<2)|0,d1=I6+28|0,Ns=q9+d1|0,e[Ns>>2]=Nr,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,hn=q9+x1|0,e[hn>>2]=0,e[lo>>2]=0,co=e[138263]|0,dn=1<>2]=l4,Y1=I6+24|0,ho=q9+Y1|0,e[ho>>2]=rr,o2=I6+12|0,fo=q9+o2|0,e[fo>>2]=l4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=l4;break}Sr=e[rr>>2]|0,Io=Sr+4|0,p7=e[Io>>2]|0,fn=p7&-8,br=(fn|0)==(oi|0);t:do if(br)Ni=Sr;else{for(Dr=(Nr|0)==31,K7=Nr>>>1,_r=25-K7|0,mo=Dr?0:_r,W7=oi<>>31,E7=(l$+16|0)+(Lr<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){v=E7,Wm=l$;break}if(b7=a$<<1,D7=i7+4|0,_7=e[D7>>2]|0,xr=_7&-8,sr=(xr|0)==(oi|0),sr){Ni=i7;break t}else a$=b7,l$=i7}if(fi=e[138266]|0,nl=v>>>0>>0,nl)v2();else{e[v>>2]=l4,E0=I6+24|0,In=q9+E0|0,e[In>>2]=Wm,q0=I6+12|0,mn=q9+q0|0,e[mn>>2]=l4,H0=I6+8|0,Pu=q9+H0|0,e[Pu>>2]=l4;break e}}while(!1);if(ol=Ni+8|0,sA=e[ol>>2]|0,sl=e[138266]|0,qu=sA>>>0>=sl>>>0,tu=Ni>>>0>=sl>>>0,Hu=qu&tu,Hu){Yu=sA+12|0,e[Yu>>2]=l4,e[ol>>2]=l4,u2=I6+8|0,aA=q9+u2|0,e[aA>>2]=sA,I2=I6+12|0,al=q9+I2|0,e[al>>2]=Ni,Q0=I6+24|0,Al=q9+Q0|0,e[Al>>2]=0;break}else v2()}while(!1);return AA=q9+8|0,tt=AA,tt|0}else Le=I6}while(!1);if(pn=e[138264]|0,Vu=pn>>>0>>0,!Vu)return Hs=pn-Le|0,ar=e[138267]|0,zu=Hs>>>0>15,zu?(Ju=ar+Le|0,e[138267]=Ju,e[138264]=Hs,Ku=Hs|1,m1=Le+4|0,Wu=ar+m1|0,e[Wu>>2]=Ku,Zu=ar+pn|0,e[Zu>>2]=Hs,ju=Le|3,Xu=ar+4|0,e[Xu>>2]=ju):(e[138264]=0,e[138267]=0,th=pn|3,ih=ar+4|0,e[ih>>2]=th,g0=pn+4|0,ll=ar+g0|0,Mr=e[ll>>2]|0,rh=Mr|1,e[ll>>2]=rh),nh=ar+8|0,tt=nh,tt|0;if(cl=e[138265]|0,oh=cl>>>0>Le>>>0,oh)return $A=cl-Le|0,e[138265]=$A,Ys=e[138268]|0,sh=Ys+Le|0,e[138268]=sh,ah=$A|1,q=Le+4|0,cA=Ys+q|0,e[cA>>2]=ah,gl=Le|3,ul=Ys+4|0,e[ul>>2]=gl,hl=Ys+8|0,tt=hl,tt|0;gA=e[138380]|0,dl=(gA|0)==0;do if(dl)if(Vs=QS(30)|0,Ah=Vs+-1|0,fl=Ah&Vs,lh=(fl|0)==0,lh){e[138382]=Vs,e[138381]=Vs,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,ch=aQ(0)|0,Il=ch&-16,gh=Il^1431655768,e[138380]=gh;break}else v2();while(!1);if(uh=Le+48|0,ml=e[138382]|0,pl=Le+47|0,El=ml+pl|0,Cl=0-ml|0,En=El&Cl,hh=En>>>0>Le>>>0,!hh||(Ql=e[138372]|0,dh=(Ql|0)==0,!dh&&(yl=e[138370]|0,wl=yl+En|0,fh=wl>>>0<=yl>>>0,Ih=wl>>>0>Ql>>>0,ba=fh|Ih,ba)))return tt=0,tt|0;mh=e[138373]|0,uA=mh&4,kl=(uA|0)==0;e:do if(kl){po=e[138268]|0,Sl=(po|0)==0;t:do if(Sl)je=174;else{for(To=553496;;){if(hA=e[To>>2]|0,ph=hA>>>0>po>>>0,!ph&&(bl=To+4|0,Eh=e[bl>>2]|0,Dl=hA+Eh|0,Ch=Dl>>>0>po>>>0,Ch)){S=To,b=bl;break}if(Bh=To+8|0,xl=e[Bh>>2]|0,Qh=(xl|0)==0,Qh){je=174;break t}else To=xl}if(Rh=e[138265]|0,Fh=El-Rh|0,Ws=Fh&Cl,Th=Ws>>>0<2147483647,Th)if(Zs=Oi(Ws|0)|0,Nh=e[S>>2]|0,Uh=e[b>>2]|0,Ph=Nh+Uh|0,Pl=(Zs|0)==(Ph|0),o=Pl?Ws:0,Pl)if(Oh=(Zs|0)==-1,Oh)qr=o;else{u6=Zs,x4=o,je=194;break e}else va=Zs,s7=Ws,xa=o,je=184;else qr=0}while(!1);do if((je|0)==174)if(zs=Oi(0)|0,yh=(zs|0)==-1,yh)qr=0;else if(dA=zs,Ll=e[138381]|0,Ml=Ll+-1|0,wh=Ml&dA,vh=(wh|0)==0,vh?Pr=En:(kh=Ml+dA|0,bh=0-Ll|0,Dh=kh&bh,Js=En-dA|0,Rl=Js+Dh|0,Pr=Rl),Fl=e[138370]|0,Tl=Fl+Pr|0,Ks=Pr>>>0>Le>>>0,_h=Pr>>>0<2147483647,rp=Ks&_h,rp){if(Nl=e[138372]|0,xh=(Nl|0)==0,!xh&&(Lh=Tl>>>0<=Fl>>>0,Mh=Tl>>>0>Nl>>>0,op=Lh|Mh,op)){qr=0;break}if(Ul=Oi(Pr|0)|0,fA=(Ul|0)==(zs|0),su=fA?Pr:0,fA){u6=zs,x4=su,je=194;break e}else va=Ul,s7=Pr,xa=su,je=184}else qr=0;while(!1);t:do if((je|0)==184){qh=0-s7|0,Hh=(va|0)!=-1,Yh=s7>>>0<2147483647,ap=Yh&Hh,Ol=uh>>>0>s7>>>0,Ap=Ol≈do if(Ap)if(ql=e[138382]|0,Ar=pl-s7|0,js=Ar+ql|0,mA=0-ql|0,pA=js&mA,Cn=pA>>>0<2147483647,Cn)if(Yl=Oi(pA|0)|0,Bn=(Yl|0)==-1,Bn){Oi(qh|0)|0,qr=xa;break t}else{Vh=pA+s7|0,d$=Vh;break}else d$=s7;else d$=s7;while(!1);if(Vl=(va|0)==-1,Vl)qr=xa;else{u6=va,x4=d$,je=194;break e}}while(!1);zh=e[138373]|0,Jh=zh|4,e[138373]=Jh,au=qr,je=191}else au=0,je=191;while(!1);if((je|0)==191&&(Wh=En>>>0<2147483647,Wh&&(Xs=Oi(En|0)|0,EA=Oi(0)|0,Rr=(Xs|0)!=-1,Zh=(EA|0)!=-1,sp=Rr&Zh,jh=Xs>>>0>>0,$p=jh&sp,$p&&(zl=EA,CA=Xs,Jl=zl-CA|0,Kl=Le+40|0,Wl=Jl>>>0>Kl>>>0,C2=Wl?Jl:au,Wl&&(u6=Xs,x4=C2,je=194)))),(je|0)==194){ed=e[138370]|0,BA=ed+x4|0,e[138370]=BA,td=e[138371]|0,id=BA>>>0>td>>>0,id&&(e[138371]=BA),K9=e[138268]|0,rd=(K9|0)==0;e:do if(rd){for(Zl=e[138266]|0,nd=(Zl|0)==0,od=u6>>>0>>0,lp=nd|od,lp&&(e[138266]=u6),e[138374]=u6,e[138375]=x4,e[138377]=0,sd=e[138380]|0,e[138271]=sd,e[138270]=-1,Sa=0;yA=Sa<<1,jl=553088+(yA<<2)|0,h0=yA+3|0,ad=553088+(h0<<2)|0,e[ad>>2]=jl,n0=yA+2|0,Ad=553088+(n0<<2)|0,e[Ad>>2]=jl,Xl=Sa+1|0,ep=(Xl|0)==32,!ep;)Sa=Xl;ec=x4+-40|0,$d=u6+8|0,wA=$d,vA=wA&7,ic=(vA|0)==0,ld=0-wA|0,rc=ld&7,kA=ic?0:rc,cd=u6+kA|0,nc=ec-kA|0,e[138268]=cd,e[138265]=nc,gd=nc|1,Z=kA+4|0,ud=u6+Z|0,e[ud>>2]=gd,u1=x4+-36|0,hd=u6+u1|0,e[hd>>2]=40,dd=e[138384]|0,e[138269]=dd}else{for(Go=553496;;){if(sc=e[Go>>2]|0,SA=Go+4|0,ea=e[SA>>2]|0,ac=sc+ea|0,fd=(u6|0)==(ac|0),fd){E=sc,Q=SA,B=ea,cp=Go,je=204;break}if(Ac=Go+8|0,$c=e[Ac>>2]|0,Id=($c|0)==0,Id)break;Go=$c}if((je|0)==204&&(md=cp+12|0,pd=e[md>>2]|0,Ed=pd&8,Cd=(Ed|0)==0,Cd&&(Bd=K9>>>0>=E>>>0,Qd=K9>>>0>>0,ru=Qd&Bd,ru))){yd=B+x4|0,e[Q>>2]=yd,wd=e[138265]|0,cc=wd+x4|0,vd=K9+8|0,gc=vd,kd=gc&7,Sd=(kd|0)==0,uc=0-gc|0,bd=uc&7,Eo=Sd?0:bd,hc=K9+Eo|0,bA=cc-Eo|0,e[138268]=hc,e[138265]=bA,Dd=bA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=Dd,a1=cc+4|0,DA=K9+a1|0,e[DA>>2]=40,_d=e[138384]|0,e[138269]=_d;break}for(dc=e[138266]|0,xd=u6>>>0>>0,xd?(e[138266]=u6,yo=u6):yo=dc,Ld=u6+x4|0,Uo=553496;;){if(Md=e[Uo>>2]|0,Rd=(Md|0)==(Ld|0),Rd){I=Uo,hr=Uo,je=212;break}if(Fd=Uo+8|0,fc=e[Fd>>2]|0,Td=(fc|0)==0,Td){No=553496;break}else Uo=fc}if((je|0)==212)if(Nd=hr+12|0,Gd=e[Nd>>2]|0,xA=Gd&8,Ud=(xA|0)==0,Ud){e[I>>2]=u6,LA=hr+4|0,Pd=e[LA>>2]|0,Od=Pd+x4|0,e[LA>>2]=Od,qd=u6+8|0,Ic=qd,Hd=Ic&7,Yd=(Hd|0)==0,Vd=0-Ic|0,Jd=Vd&7,ra=Yd?0:Jd,Kd=u6+ra|0,B0=x4+8|0,Wd=u6+B0|0,mc=Wd,Zd=mc&7,jd=(Zd|0)==0,Xd=0-mc|0,ef=Xd&7,C7=jd?0:ef,_0=C7+x4|0,B7=u6+_0|0,Ec=B7,MA=Kd,tf=Ec-MA|0,$0=ra+Le|0,r7=u6+$0|0,Bo=tf-Le|0,rf=Le|3,p0=ra+4|0,nf=u6+p0|0,e[nf>>2]=rf,of=(B7|0)==(K9|0);t:do if(of)sf=e[138265]|0,Cc=sf+Bo|0,e[138265]=Cc,e[138268]=r7,Af=Cc|1,H1=$0+4|0,$f=u6+H1|0,e[$f>>2]=Af;else{if(Bc=e[138267]|0,lf=(B7|0)==(Bc|0),lf){cf=e[138264]|0,Qo=cf+Bo|0,e[138264]=Qo,e[138267]=r7,RA=Qo|1,J1=$0+4|0,gf=u6+J1|0,e[gf>>2]=RA,q1=Qo+$0|0,Qc=u6+q1|0,e[Qc>>2]=Qo;break}if($1=x4+4|0,W0=$1+C7|0,hf=u6+W0|0,na=e[hf>>2]|0,df=na&3,ff=(df|0)==1,ff){yc=na&-8,wc=na>>>3,If=na>>>0<256;i:do if(If){U1=C7|8,K0=U1+x4|0,mf=u6+K0|0,yn=e[mf>>2]|0,D1=x4+12|0,J0=D1+C7|0,pf=u6+J0|0,wn=e[pf>>2]|0,Cf=wc<<1,vc=553088+(Cf<<2)|0,Bf=(yn|0)==(vc|0);do if(!Bf){if(Qf=yn>>>0>>0,Qf&&v2(),kc=yn+12|0,yf=e[kc>>2]|0,Sc=(yf|0)==(B7|0),Sc)break;v2()}while(!1);if(wf=(wn|0)==(yn|0),wf){FA=1<>>0>>0,Sf&&v2(),_c=wn+8|0,bf=e[_c>>2]|0,Df=(bf|0)==(B7|0),Df){N=_c;break}v2()}while(!1);_f=yn+12|0,e[_f>>2]=wn,e[N>>2]=yn}else{R1=C7|24,M0=R1+x4|0,xf=u6+M0|0,wo=e[xf>>2]|0,V1=x4+12|0,v0=V1+C7|0,Lf=u6+v0|0,vn=e[Lf>>2]|0,Mf=(vn|0)==(B7|0);do if(Mf){if(j1=C7|16,L0=$1+j1|0,Fc=u6+L0|0,Tc=e[Fc>>2]|0,Gf=(Tc|0)==0,Gf)if(G0=j1+x4|0,Nc=u6+G0|0,Gc=e[Nc>>2]|0,Uf=(Gc|0)==0,Uf){Fi=0;break}else bn=Gc,Qa=Nc;else bn=Tc,Qa=Fc;for(;;){if(Uc=bn+20|0,Pc=e[Uc>>2]|0,Of=(Pc|0)==0,!Of){bn=Pc,Qa=Uc;continue}if(Oc=bn+16|0,qc=e[Oc>>2]|0,qf=(qc|0)==0,qf){Jm=bn,jg=Qa;break}else bn=qc,Qa=Oc}if(Hf=jg>>>0>>0,Hf)v2();else{e[jg>>2]=0,Fi=Jm;break}}else if(F1=C7|8,T0=F1+x4|0,Rf=u6+T0|0,TA=e[Rf>>2]|0,Ff=TA>>>0>>0,Ff&&v2(),NA=TA+12|0,GA=e[NA>>2]|0,Lc=(GA|0)==(B7|0),Lc||v2(),Mc=vn+8|0,Nf=e[Mc>>2]|0,Rc=(Nf|0)==(B7|0),Rc){e[NA>>2]=vn,e[Mc>>2]=TA,Fi=vn;break}else v2();while(!1);if(Hc=(wo|0)==0,Hc)break;b1=x4+28|0,N0=b1+C7|0,UA=u6+N0|0,Yc=e[UA>>2]|0,Jc=553352+(Yc<<2)|0,Yf=e[Jc>>2]|0,Vf=(B7|0)==(Yf|0);do if(Vf){if(e[Jc>>2]=Fi,Xm=(Fi|0)==0,!Xm)break;zf=1<>>0>>0,jf&&v2(),Kc=wo+16|0,Xf=e[Kc>>2]|0,eI=(Xf|0)==(B7|0),eI?e[Kc>>2]=Fi:(tI=wo+20|0,e[tI>>2]=Fi),Wc=(Fi|0)==0,Wc)break i;while(!1);Zc=e[138266]|0,iI=Fi>>>0>>0,iI&&v2(),jc=Fi+24|0,e[jc>>2]=wo,_1=C7|16,P0=_1+x4|0,OA=u6+P0|0,oa=e[OA>>2]|0,Xc=(oa|0)==0;do if(!Xc)if(nI=oa>>>0>>0,nI)v2();else{oI=Fi+16|0,e[oI>>2]=oa,sI=oa+24|0,e[sI>>2]=Fi;break}while(!1);if(z0=$1+_1|0,eg=u6+z0|0,sa=e[eg>>2]|0,aI=(sa|0)==0,aI)break;if(AI=e[138266]|0,$I=sa>>>0>>0,$I)v2();else{lI=Fi+20|0,e[lI>>2]=sa,cI=sa+24|0,e[cI>>2]=Fi;break}}while(!1);a2=yc|C7,F0=a2+x4|0,uI=u6+F0|0,hI=yc+Bo|0,iu=uI,o7=hI}else iu=B7,o7=Bo;if(tg=iu+4|0,dI=e[tg>>2]|0,fI=dI&-2,e[tg>>2]=fI,II=o7|1,b0=$0+4|0,mI=u6+b0|0,e[mI>>2]=II,y0=o7+$0|0,aa=u6+y0|0,e[aa>>2]=o7,ig=o7>>>3,pI=o7>>>0<256,pI){kn=ig<<1,rg=553088+(kn<<2)|0,ng=e[138262]|0,qA=1<>2]|0,QI=e[138266]|0,wI=ag>>>0>>0,!wI){R=sg,o$=ag;break}v2()}while(!1);e[R>>2]=r7,vI=o$+12|0,e[vI>>2]=r7,w1=$0+8|0,kI=u6+w1|0,e[kI>>2]=o$,v1=$0+12|0,Aa=u6+v1|0,e[Aa>>2]=rg;break}HA=o7>>>8,SI=(HA|0)==0;do if(SI)Gr=0;else{if(bI=o7>>>0>16777215,bI){Gr=31;break}DI=HA+1048320|0,_I=DI>>>16,Ag=_I&8,$g=HA<>>16,lg=MI&4,Fr=lg|Ag,cg=$g<>>16,ug=RI&2,$a=Fr|ug,TI=14-$a|0,NI=cg<>>15,hg=TI+la|0,GI=hg<<1,UI=hg+7|0,dg=o7>>>UI,PI=dg&1,OI=PI|GI,Gr=OI}while(!1);if(YA=553352+(Gr<<2)|0,k0=$0+28|0,qI=u6+k0|0,e[qI>>2]=Gr,Z0=$0+16|0,HI=u6+Z0|0,O0=$0+20|0,YI=u6+O0|0,e[YI>>2]=0,e[HI>>2]=0,fg=e[138263]|0,Ig=1<>2]=r7,s1=$0+24|0,vo=u6+s1|0,e[vo>>2]=YA,i1=$0+12|0,JI=u6+i1|0,e[JI>>2]=r7,o1=$0+8|0,KI=u6+o1|0,e[KI>>2]=r7;break}VA=e[YA>>2]|0,Eg=VA+4|0,WI=e[Eg>>2]|0,ZI=WI&-8,jI=(ZI|0)==(o7|0);i:do if(jI)Ur=VA;else{for(XI=(Gr|0)==31,Cg=Gr>>>1,em=25-Cg|0,tm=XI?0:em,im=o7<>>31,vg=(c$+16|0)+(wg<<2)|0,ko=e[vg>>2]|0,x7=(ko|0)==0,x7){a=vg,Zm=c$;break}if(rm=Lo<<1,nm=ko+4|0,Qg=e[nm>>2]|0,yg=Qg&-8,om=(yg|0)==(o7|0),om){Ur=ko;break i}else Lo=rm,c$=ko}if(lr=e[138266]|0,sm=a>>>0>>0,sm)v2();else{e[a>>2]=r7,Q1=$0+24|0,am=u6+Q1|0,e[am>>2]=Zm,p1=$0+12|0,Am=u6+p1|0,e[Am>>2]=r7,B1=$0+8|0,$m=u6+B1|0,e[$m>>2]=r7;break t}}while(!1);if(zA=Ur+8|0,ua=e[zA>>2]|0,Sg=e[138266]|0,bg=ua>>>0>=Sg>>>0,u$=Ur>>>0>=Sg>>>0,lm=bg&u$,lm){So=ua+12|0,e[So>>2]=r7,e[zA>>2]=r7,j0=$0+8|0,cm=u6+j0|0,e[cm>>2]=ua,E1=$0+12|0,da=u6+E1|0,e[da>>2]=Ur,I1=$0+24|0,JA=u6+I1|0,e[JA>>2]=0;break}else v2()}while(!1);return g1=ra|8,gm=u6+g1|0,tt=gm,tt|0}else No=553496;for(;;){if(KA=e[No>>2]|0,um=KA>>>0>K9>>>0,!um&&(hm=No+4|0,Dg=e[hm>>2]|0,fa=KA+Dg|0,dm=fa>>>0>K9>>>0,dm)){g=KA,d=Dg,m=fa;break}fm=No+8|0,Im=e[fm>>2]|0,No=Im}if(u0=d+-47|0,d0=d+-39|0,mm=g+d0|0,xg=mm,pm=xg&7,ni=(pm|0)==0,De=0-xg|0,n7=De&7,Em=ni?0:n7,c1=u0+Em|0,Mg=g+c1|0,WA=K9+16|0,Cm=Mg>>>0>>0,Tr=Cm?K9:Mg,bo=Tr+8|0,Bm=x4+-40|0,Qm=u6+8|0,Rg=Qm,ZA=Rg&7,ym=(ZA|0)==0,Tg=0-Rg|0,Ng=Tg&7,jA=ym?0:Ng,XA=u6+jA|0,Gg=Bm-jA|0,e[138268]=XA,e[138265]=Gg,Do=Gg|1,t0=jA+4|0,e$=u6+t0|0,e[e$>>2]=Do,A1=x4+-36|0,Ug=u6+A1|0,e[Ug>>2]=40,wm=e[138384]|0,e[138269]=wm,Sn=Tr+4|0,e[Sn>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=u6,e[138375]=x4,e[138377]=0,e[138376]=bo,Pg=Tr+28|0,e[Pg>>2]=7,Ia=Tr+32|0,km=Ia>>>0>>0,km)for(L7=Pg;Og=L7+4|0,e[Og>>2]=7,Sm=L7+8|0,bm=Sm>>>0>>0,bm;)L7=Og;if(Dm=(Tr|0)==(K9|0),!Dm){if(_m=Tr,xm=K9,M7=_m-xm|0,Mm=e[Sn>>2]|0,Rm=Mm&-2,e[Sn>>2]=Rm,Fm=M7|1,qg=K9+4|0,e[qg>>2]=Fm,e[Tr>>2]=M7,Q7=M7>>>3,ma=M7>>>0<256,ma){t$=Q7<<1,Hg=553088+(t$<<2)|0,Yg=e[138262]|0,Vg=1<>2]|0,Um=e[138266]|0,Pm=Kg>>>0>>0,Pm?v2():(L=Jg,r$=Kg)),e[L>>2]=K9,Wg=r$+12|0,e[Wg>>2]=K9,Om=K9+8|0,e[Om>>2]=r$,pa=K9+12|0,e[pa>>2]=Hg;break}if(Ea=M7>>>8,qm=(Ea|0)==0,qm?cr=0:(i$=M7>>>0>16777215,i$?cr=31:(Hm=Ea+1048320|0,Ym=Hm>>>16,Zg=Ym&8,xo=Ea<>>16,c2=zm&4,r2=c2|Zg,$2=xo<>>16,m2=s2&2,t2=r2|m2,k2=14-t2|0,D2=$2<>>15,G2=k2+S2|0,L2=G2<<1,P2=G2+7|0,p2=M7>>>P2,K2=p2&1,O2=K2|L2,cr=O2)),z2=553352+(cr<<2)|0,U2=K9+28|0,e[U2>>2]=cr,H2=K9+20|0,e[H2>>2]=0,e[WA>>2]=0,W2=e[138263]|0,Y2=1<>2]=K9,t5=K9+24|0,e[t5>>2]=z2,_5=K9+12|0,e[_5>>2]=K9,Z2=K9+8|0,e[Z2>>2]=K9;break}I5=e[z2>>2]|0,b5=I5+4|0,Y5=e[b5>>2]|0,b2=Y5&-8,B5=(b2|0)==(M7|0);t:do if(B5)wa=I5;else{for(o5=(cr|0)==31,R2=cr>>>1,M2=25-R2|0,y2=o5?0:M2,Q5=M7<>>31,u5=(g$+16|0)+($5<<2)|0,x5=e[u5>>2]|0,y5=(x5|0)==0,y5){$=u5,eu=g$;break}if(T5=A$<<1,m5=x5+4|0,L5=e[m5>>2]|0,V2=L5&-8,p5=(V2|0)==(M7|0),p5){wa=x5;break t}else A$=T5,g$=x5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=K9,h5=K9+24|0,e[h5>>2]=eu,l5=K9+12|0,e[l5>>2]=K9,h2=K9+8|0,e[h2>>2]=K9;break e}}while(!1);if(w5=wa+8|0,i5=e[w5>>2]|0,s5=e[138266]|0,d5=i5>>>0>=s5>>>0,tp=wa>>>0>=s5>>>0,J2=d5&tp,J2){f5=i5+12|0,e[f5>>2]=K9,e[w5>>2]=K9,r5=K9+8|0,e[r5>>2]=i5,M5=K9+12|0,e[M5>>2]=wa,X2=K9+24|0,e[X2>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return z5=F2-Le|0,e[138265]=z5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=z5|1,W=Le+4|0,d3=i3+W|0,e[d3>>2]=I3,W5=Le|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return N5=sQ()|0,e[N5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){q=t+-8|0,K2=e[138266]|0,v6=q>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,re=f9&3,Ge=(re|0)==1,Ge&&v2(),Z9=f9&-8,Q=Z9+-8|0,ne=t+Q|0,h0=f9&1,n0=(h0|0)==0;do if(n0){if(_0=e[q>>2]|0,L0=(re|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+Z9|0,b1=x0>>>0>>0,b1&&v2(),q1=e[138267]|0,a2=(x0|0)==(q1|0),a2){if(e0=Z9+-4|0,c0=t+e0|0,$0=e[c0>>2]|0,l0=$0&3,W=(l0|0)==3,!W){W3=x0,_9=j0;break}e[138264]=j0,m0=$0&-2,e[c0>>2]=m0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[ne>>2]=j0;return}if(s2=_0>>>3,O2=_0>>>0<256,O2){if(J=y+8|0,_5=t+J|0,y2=e[_5>>2]|0,a0=y+12|0,y5=t+a0|0,J2=e[y5>>2]|0,I3=s2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),d6=y2+12|0,M3=e[d6>>2]|0,J6=(M3|0)==(x0|0),J6||v2()),X6=(J2|0)==(y2|0),X6){Y6=1<>>0>>0,F6&&v2(),t9=J2+8|0,P6=e[t9>>2]|0,P3=(P6|0)==(x0|0),P3?g=t9:v2()),O6=y2+12|0,e[O6>>2]=J2,e[g>>2]=y2,W3=x0,_9=j0;break}M=y+24|0,s9=t+M|0,h9=e[s9>>2]|0,L=y+12|0,n9=t+L|0,C9=e[n9>>2]|0,B9=(C9|0)==(x0|0);do if(B9){if(F=y+20|0,ge=t+F|0,pe=e[ge>>2]|0,z9=(pe|0)==0,z9)if(R=y+16|0,R9=t+R|0,w9=e[R9>>2]|0,K6=(w9|0)==0,K6){k9=0;break}else Pe=w9,k4=R9;else Pe=pe,k4=ge;for(;;){if(A9=Pe+20|0,we=e[A9>>2]|0,Me=(we|0)==0,!Me){Pe=we,k4=A9;continue}if(ue=Pe+16|0,D9=e[ue>>2]|0,Re=(D9|0)==0,Re){I4=Pe,Se=k4;break}else Pe=D9,k4=ue}if(Fe=Se>>>0>>0,Fe)v2();else{e[Se>>2]=0,k9=I4;break}}else if(Y=y+8|0,Q9=t+Y|0,d9=e[Q9>>2]|0,Y9=d9>>>0>>0,Y9&&v2(),y6=d9+12|0,q6=e[y6>>2]|0,a9=(q6|0)==(x0|0),a9||v2(),V9=C9+8|0,y9=e[V9>>2]|0,ye=(y9|0)==(x0|0),ye){e[y6>>2]=C9,e[V9>>2]=d9,k9=C9;break}else v2();while(!1);if(qe=(h9|0)==0,qe)W3=x0,_9=j0;else{if(T=y+28|0,r4=t+T|0,ve=e[r4>>2]|0,He=553352+(ve<<2)|0,J9=e[He>>2]|0,Ye=(x0|0)==(J9|0),Ye){if(e[He>>2]=k9,me=(k9|0)==0,me){he=1<>>0>>0,v4&&v2(),Y4=h9+16|0,nt=e[Y4>>2]|0,Ve=(nt|0)==(x0|0),Ve?e[Y4>>2]=k9:(V4=h9+20|0,e[V4>>2]=k9),ze=(k9|0)==0,ze){W3=x0,_9=j0;break}n4=e[138266]|0,R4=k9>>>0>>0,R4&&v2(),ot=k9+24|0,e[ot>>2]=h9,N=y+16|0,u4=t+N|0,Ce=e[u4>>2]|0,T6=(Ce|0)==0;do if(!T6)if(Je=Ce>>>0>>0,Je)v2();else{O9=k9+16|0,e[O9>>2]=Ce,de=Ce+24|0,e[de>>2]=k9;break}while(!1);if(G=y+20|0,Te=t+G|0,h4=e[Te>>2]|0,oe=(h4|0)==0,oe)W3=x0,_9=j0;else if(d4=e[138266]|0,t0=h4>>>0>>0,t0)v2();else{Z=k9+20|0,e[Z>>2]=h4,u0=h4+24|0,e[u0>>2]=k9,W3=x0,_9=j0;break}}}else W3=q,_9=Z9;while(!1);if(d0=W3>>>0>>0,d0||v2(),D=Z9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(ne|0)==(y0|0),w0){if(B0=e[138265]|0,W0=B0+_9|0,e[138265]=W0,e[138268]=W3,M0=W0|1,v0=W3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(W3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(P0=e[138267]|0,q0=(ne|0)==(P0|0),q0){k0=e[138264]|0,z0=k0+_9|0,e[138264]=z0,e[138267]=W3,F0=z0|1,G0=W3+4|0,e[G0>>2]=F0,K0=W3+z0|0,e[K0>>2]=z0;return}J0=C0&-8,H0=J0+_9|0,Z0=C0>>>3,O0=C0>>>0<256;do if(O0){if(Y0=t+Z9|0,s1=e[Y0>>2]|0,w=Z9|4,V0=t+w|0,i1=e[V0>>2]|0,o1=Z0<<1,h1=553088+(o1<<2)|0,g1=(s1|0)==(h1|0),g1||(m1=e[138266]|0,d1=s1>>>0>>0,d1&&v2(),u1=s1+12|0,A1=e[u1>>2]|0,c1=(A1|0)==(ne|0),c1||v2()),a1=(i1|0)==(s1|0),a1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(ne|0),L1?$=v1:v2()),M1=s1+12|0,e[M1>>2]=i1,e[$>>2]=s1}else{K=Z9+16|0,_1=t+K|0,R1=e[_1>>2]|0,r0=Z9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(ne|0);do if(D1){if(V=Z9+12|0,j1=t+V|0,O1=e[j1>>2]|0,u2=(O1|0)==0,u2)if(s0=Z9+8|0,W1=t+s0|0,I2=e[W1>>2]|0,C2=(I2|0)==0,C2){fe=0;break}else I6=I2,Ie=W1;else I6=O1,Ie=j1;for(;;){if(A2=I6+20|0,K1=e[A2>>2]|0,d2=(K1|0)==0,!d2){I6=K1,Ie=A2;continue}if(l2=I6+16|0,i2=e[l2>>2]|0,c2=(i2|0)==0,c2){z4=I6,z6=Ie;break}else I6=i2,Ie=l2}if(r2=e[138266]|0,$2=z6>>>0>>0,$2)v2();else{e[z6>>2]=0,fe=z4;break}}else if(P1=t+Z9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),J1=Z1+12|0,H1=e[J1>>2]|0,Y1=(H1|0)==(ne|0),Y1||v2(),V1=U1+8|0,X1=e[V1>>2]|0,o2=(X1|0)==(ne|0),o2){e[J1>>2]=U1,e[V1>>2]=Z1,fe=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=Z9+20|0,m2=t+S|0,t2=e[m2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(ne|0)==(D2|0),S2){if(e[k2>>2]=fe,xe=(fe|0)==0,xe){Q2=1<>>0>>0,z2&&v2(),U2=R1+16|0,H2=e[U2>>2]|0,W2=(H2|0)==(ne|0),W2?e[U2>>2]=fe:(A5=R1+20|0,e[A5>>2]=fe),Y2=(fe|0)==0,Y2)break;N1=e[138266]|0,e5=fe>>>0>>0,e5&&v2(),F5=fe+24|0,e[F5>>2]=R1,b=Z9+8|0,t5=t+b|0,Z2=e[t5>>2]|0,I5=(Z2|0)==0;do if(!I5)if(b5=Z2>>>0>>0,b5)v2();else{Y5=fe+16|0,e[Y5>>2]=Z2,g5=Z2+24|0,e[g5>>2]=fe;break}while(!1);if(v=Z9+12|0,b2=t+v|0,B5=e[b2>>2]|0,o5=(B5|0)==0,!o5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=fe+20|0,e[Q5>>2]=B5,T5=B5+24|0,e[T5>>2]=fe;break}}}while(!1);if(m5=H0|1,x5=W3+4|0,e[x5>>2]=m5,q5=W3+H0|0,e[q5>>2]=H0,L5=e[138267]|0,V2=(W3|0)==(L5|0),V2){e[138264]=H0;return}else S9=H0}else p5=C0&-2,e[p0>>2]=p5,$5=_9|1,u5=W3+4|0,e[u5>>2]=$5,T1=W3+_9|0,e[T1>>2]=_9,S9=_9;if(D5=S9>>>3,h5=S9>>>0<256,h5){l5=D5<<1,j2=553088+(l5<<2)|0,h2=e[138262]|0,w5=1<>2]|0,M5=e[138266]|0,X2=r5>>>0>>0,X2?v2():(d=f5,f4=r5)),e[d>>2]=W3,c5=f4+12|0,e[c5>>2]=W3,F2=W3+8|0,e[F2>>2]=f4,v5=W3+12|0,e[v5>>2]=j2;return}z5=S9>>>8,i3=(z5|0)==0,i3?ke=0:(E5=S9>>>0>16777215,E5?ke=31:(d3=z5+1048320|0,W5=d3>>>16,r3=W5&8,a3=z5<>>16,Z5=N5&4,_3=Z5|r3,f3=a3<>>16,X5=q3&2,D3=_3|X5,t3=14-D3|0,s6=f3<>>15,H3=t3+N3|0,c3=H3<<1,g3=H3+7|0,u3=S9>>>g3,J5=u3&1,H5=J5|c3,ke=H5)),V5=553352+(ke<<2)|0,S5=W3+28|0,e[S5>>2]=ke,Y3=W3+16|0,G5=W3+20|0,e[G5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=W3,x3=W3+24|0,e[x3>>2]=V5,b3=W3+12|0,e[b3>>2]=W3,a6=W3+8|0,e[a6>>2]=W3;else{i6=e[V5>>2]|0,V3=i6+4|0,j5=e[V3>>2]|0,L3=j5&-8,h3=(L3|0)==(S9|0);t:do if(h3)F4=i6;else{for(z3=(ke|0)==31,m3=ke>>>1,x6=25-m3|0,L6=z3?0:x6,M6=S9<>>31,o6=(T4+16|0)+(n6<<2)|0,f6=e[o6>>2]|0,C6=(f6|0)==0,C6){o=o6,st=T4;break}if(S6=o4<<1,r6=f6+4|0,b6=e[r6>>2]|0,N6=b6&-8,j6=(N6|0)==(S9|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(J3=e[138266]|0,R3=o>>>0>>0,R3)v2();else{e[o>>2]=W3,K3=W3+24|0,e[K3>>2]=st,e6=W3+12|0,e[e6>>2]=W3,R6=W3+8|0,e[R6>>2]=W3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){F3=o3+12|0,e[F3>>2]=W3,e[l6>>2]=W3,H6=W3+8|0,e[H6>>2]=o3,A6=W3+12|0,e[A6>>2]=F4,D6=W3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)s4=553504;else return;for(;Oe=e[s4>>2]|0,U3=(Oe|0)==0,r9=Oe+8|0,!U3;)s4=r9;e[138270]=-1}}function le(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=n5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=M9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,d=w&3,m=(d|0)==0,m)||g4(S|0,0,D|0)|0,S|0}function J7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0;return J=C,a=(t|0)==0,a?($=M9(o)|0,Y=$,Y|0):(w=o>>>0>4294967231,w?(M=sQ()|0,e[M>>2]=12,Y=0,Y|0):(L=o>>>0<11,R=o+11|0,F=R&-8,T=L?16:F,N=t+-8|0,G=cD(N,T)|0,g=(G|0)==0,g?(m=M9(o)|0,I=(m|0)==0,I?(Y=0,Y|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ce(m|0,t|0,x|0)|0,E2(t),Y=m,Y|0)):(d=G+8|0,Y=d,Y|0)))}function cD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0;if(Z5=C,N=t+4|0,G=e[N>>2]|0,D1=G&-8,o2=t+D1|0,l2=e[138266]|0,S2=G&3,I3=t>>>0>=l2>>>0,d3=(S2|0)!=1,W5=d3&I3,W2=t>>>0>>0,r3=W5&W2,r3||v2(),x=D1|4,Y5=t+x|0,x5=e[Y5>>2]|0,l5=x5&1,Y=(l5|0)==0,Y&&v2(),t0=(S2|0)==0,t0)return d0=o>>>0<256,d0?(E5=0,E5|0):(W0=o+4|0,G0=D1>>>0>>0,!G0&&(o1=D1-o|0,E1=e[138382]|0,_1=E1<<1,F1=o1>>>0>_1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=G&1,J1=x1|o,q1=J1|2,e[N>>2]=q1,y=o+4|0,H1=t+y|0,Y1=P1|3,e[H1>>2]=Y1,V1=e[Y5>>2]|0,X1=V1|1,e[Y5>>2]=X1,TQ(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(o2|0)==(j1|0),O1)return u2=e[138265]|0,W1=u2+D1|0,I2=W1>>>0>o>>>0,I2?(a2=W1-o|0,C2=t+o|0,A2=G&1,K1=A2|o,d2=K1|2,e[N>>2]=d2,D=o+4|0,i2=t+D|0,c2=a2|1,e[i2>>2]=c2,e[138268]=C2,e[138265]=a2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,$2=(o2|0)==(r2|0),$2)return e2=e[138264]|0,s2=e2+D1|0,m2=s2>>>0>>0,m2?(E5=0,E5|0):(t2=s2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+s2|0,G2=G&1,L2=G2|o,P2=L2|2,e[N>>2]=P2,b=o+4|0,p2=t+b|0,K2=t2|1,e[p2>>2]=K2,e[Q2>>2]=t2,w=s2+4|0,O2=t+w|0,z2=e[O2>>2]|0,U2=z2&-2,e[O2>>2]=U2,a3=D2,B3=t2):(H2=G&1,A5=H2|s2,Y2=A5|2,e[N>>2]=Y2,S=s2+4|0,N1=t+S|0,e5=e[N1>>2]|0,F5=e5|1,e[N1>>2]=F5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(t5=x5&2,_5=(t5|0)==0,!_5||(Z2=x5&-8,I5=Z2+D1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=x5>>>3,B5=x5>>>0<256;do if(B5){if(Q=D1+8|0,o5=t+Q|0,R2=e[o5>>2]|0,B=D1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,T5=553088+(Q5<<2)|0,m5=(R2|0)==(T5|0),m5||(q5=R2>>>0>>0,q5&&v2(),L5=R2+12|0,V2=e[L5>>2]|0,p5=(V2|0)==(o2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0>>0,j2&&v2(),h2=y2+8|0,w5=e[h2>>2]|0,i5=(w5|0)==(o2|0),i5?$=h2:v2()),s5=R2+12|0,e[s5>>2]=y2,e[$>>2]=R2}else{g=D1+24|0,d5=t+g|0,J2=e[d5>>2]|0,v=D1+12|0,f5=t+v|0,r5=e[f5>>2]|0,M5=(r5|0)==(o2|0);do if(M5){if(L=D1+20|0,h0=t+L|0,Z=e[h0>>2]|0,u0=(Z|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else X2=$0,v5=c0;else X2=Z,v5=h0;for(;;){if(W=X2+20|0,m0=e[W>>2]|0,g0=(m0|0)==0,!g0){X2=m0,v5=W;continue}if(f0=X2+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=X2,z5=v5;break}else X2=n0,v5=f0}if(C0=z5>>>0>>0,C0)v2();else{e[z5>>2]=0,F2=c5;break}}else if(E=D1+8|0,e0=t+E|0,J=e[e0>>2]|0,a0=J>>>0>>0,a0&&v2(),K=J+12|0,r0=e[K>>2]|0,s0=(r0|0)==(o2|0),s0||v2(),V=r5+8|0,o0=e[V>>2]|0,q=(o0|0)==(o2|0),q){e[K>>2]=r5,e[V>>2]=J,F2=r5;break}else v2();while(!1);if(S0=(J2|0)==0,!S0){if(d=D1+28|0,Q0=t+d|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(o2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),P0=J2+16|0,q0=e[P0>>2]|0,k0=(q0|0)==(o2|0),k0?e[P0>>2]=F2:(z0=J2+20|0,e[z0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,K0=F2>>>0>>0,K0&&v2(),J0=F2+24|0,e[J0>>2]=J2,m=D1+16|0,H0=t+m|0,Z0=e[H0>>2]|0,O0=(Z0|0)==0;do if(!O0)if(Y0=Z0>>>0>>0,Y0)v2();else{s1=F2+16|0,e[s1>>2]=Z0,V0=Z0+24|0,e[V0>>2]=F2;break}while(!1);if(I=D1+20|0,i1=t+I|0,x0=e[i1>>2]|0,h1=(x0|0)==0,!h1)if(g1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{d1=F2+20|0,e[d1>>2]=x0,u1=x0+24|0,e[u1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(c1=G&1,a1=I5|c1,$1=a1|2,e[N>>2]=$1,T=I5|4,j0=t+T|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=G&1,w1=B1|o,v1=w1|2,e[N>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,TQ(p1,g5),E5=t,E5|0)}function TQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,Y0=0,s1=0,V0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,Y2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,V2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,_3=0,f3=0,w3=0,X3=0,q3=0,X5=0,D3=0,t3=0,s6=0,N3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,G3=0,E6=0,S3=0,x3=0,b3=0,a6=0,i6=0,V3=0,j5=0,L3=0,h3=0,z3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,M3=0,n6=0,o6=0,C6=0,J3=0,R3=0,K3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,F3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,U3=0,r9=0,Y6=0,o9=0,g9=0,U6=0,V6=0,F6=0,t9=0,_6=0,P6=0,P3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,Y9=0,y6=0,q6=0,a9=0,V9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,Y4=0,nt=0,Ve=0,V4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0;Se=C,Z=t+o|0,u0=t+4|0,H2=e[u0>>2]|0,C6=H2&1,X6=(C6|0)==0;do if(X6){if(P6=e[t>>2]|0,Y9=H2&3,R9=(Y9|0)==0,R9)return;if(qe=0-P6|0,v9=t+qe|0,c0=P6+o|0,S0=e[138266]|0,T0=v9>>>0>>0,T0&&v2(),H0=e[138267]|0,m1=(v9|0)==(H0|0),m1){if(v=o+4|0,ne=t+v|0,$0=e[ne>>2]|0,l0=$0&3,W=(l0|0)==3,!W){a=v9,$=c0;break}e[138264]=c0,m0=$0&-2,e[ne>>2]=m0,g0=c0|1,L=4-P6|0,f0=t+L|0,e[f0>>2]=g0,e[Z>>2]=c0;return}if(p1=P6>>>3,U1=P6>>>0<256,U1){if(K=8-P6|0,X1=t+K|0,d2=e[X1>>2]|0,r0=12-P6|0,D2=t+r0|0,W2=e[D2>>2]|0,Y5=p1<<1,x5=553088+(Y5<<2)|0,l5=(d2|0)==(x5|0),l5||(X2=d2>>>0>>0,X2&&v2(),a3=d2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(v9|0),S5||v2()),a6=(W2|0)==(d2|0),a6){M6=1<>>0>>0,H6&&v2(),A6=W2+8|0,D6=e[A6>>2]|0,G6=(D6|0)==(v9|0),G6?E=A6:v2()),e9=d2+12|0,e[e9>>2]=W2,e[E>>2]=d2,a=v9,$=c0;break}R=24-P6|0,Q6=t+R|0,U3=e[Q6>>2]|0,F=12-P6|0,r9=t+F|0,Y6=e[r9>>2]|0,o9=(Y6|0)==(v9|0);do if(o9){if(T=16-P6|0,N=T+4|0,h9=t+N|0,n9=e[h9>>2]|0,C9=(n9|0)==0,C9)if(B9=t+T|0,Q9=e[B9>>2]|0,d9=(Q9|0)==0,d9){de=0;break}else Je=Q9,d4=B9;else Je=n9,d4=h9;for(;;){if(f9=Je+20|0,y6=e[f9>>2]|0,q6=(y6|0)==0,!q6){Je=y6,d4=f9;continue}if(a9=Je+16|0,V9=e[a9>>2]|0,y9=(V9|0)==0,y9){O9=Je,f4=d4;break}else Je=V9,d4=a9}if(ye=f4>>>0>>0,ye)v2();else{e[f4>>2]=0,de=O9;break}}else if(a0=8-P6|0,g9=t+a0|0,U6=e[g9>>2]|0,V6=U6>>>0>>0,V6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(v9|0),_6||v2(),P3=Y6+8|0,O6=e[P3>>2]|0,s9=(O6|0)==(v9|0),s9){e[F6>>2]=Y6,e[P3>>2]=U6,de=Y6;break}else v2();while(!1);if(ge=(U3|0)==0,ge)a=v9,$=c0;else{if(Y=28-P6|0,pe=t+Y|0,z9=e[pe>>2]|0,re=553352+(z9<<2)|0,w9=e[re>>2]|0,K6=(v9|0)==(w9|0),K6){if(e[re>>2]=de,I6=(de|0)==0,I6){A9=1<>>0>>0,Re&&v2(),Fe=U3+16|0,Ge=e[Fe>>2]|0,r4=(Ge|0)==(v9|0),r4?e[Fe>>2]=de:(ve=U3+20|0,e[ve>>2]=de),He=(de|0)==0,He){a=v9,$=c0;break}J9=e[138266]|0,Ye=de>>>0>>0,Ye&&v2(),he=de+24|0,e[he>>2]=U3,e0=16-P6|0,Ue=t+e0|0,Ee=e[Ue>>2]|0,w4=(Ee|0)==0;do if(!w4)if(Z9=Ee>>>0>>0,Z9)v2();else{v4=de+16|0,e[v4>>2]=Ee,Y4=Ee+24|0,e[Y4>>2]=de;break}while(!1);if(J=e0+4|0,nt=t+J|0,Ve=e[nt>>2]|0,V4=(Ve|0)==0,V4)a=v9,$=c0;else if(ze=e[138266]|0,n4=Ve>>>0>>0,n4)v2();else{R4=de+20|0,e[R4>>2]=Ve,ot=Ve+24|0,e[ot>>2]=de,a=v9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,d0=Z>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(Z|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,W0=a+4|0,e[W0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,P0=(Z|0)==(N0|0),P0){q0=e[138264]|0,k0=q0+$|0,e[138264]=k0,e[138267]=a,z0=k0|1,F0=a+4|0,e[F0>>2]=z0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,K0=G0+$|0,J0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,O0=t+x|0,Y0=e[O0>>2]|0,M=o+12|0,s1=t+M|0,V0=e[s1>>2]|0,i1=J0<<1,x0=553088+(i1<<2)|0,o1=(Y0|0)==(x0|0),o1||(h1=Y0>>>0>>0,h1&&v2(),g1=Y0+12|0,d1=e[g1>>2]|0,u1=(d1|0)==(Z|0),u1||v2()),A1=(V0|0)==(Y0|0),A1){c1=1<>>0>>0,I1&&v2(),Q1=V0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(Z|0),w1?I=Q1:v2()),v1=Y0+12|0,e[v1>>2]=V0,e[I>>2]=Y0}else{G=o+24|0,k1=t+G|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(Z|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,Y1=e[H1>>2]|0,V1=(Y1|0)==0,V1)if(V=o+16|0,o2=t+V|0,j1=e[o2>>2]|0,O1=(j1|0)==0,O1){oe=0;break}else Te=j1,ke=o2;else Te=Y1,ke=H1;for(;;){if(u2=Te+20|0,W1=e[u2>>2]|0,I2=(W1|0)==0,!I2){Te=W1,ke=u2;continue}if(a2=Te+16|0,C2=e[a2>>2]|0,A2=(C2|0)==0,A2){h4=Te,o4=ke;break}else Te=C2,ke=a2}if(K1=o4>>>0>>0,K1)v2();else{e[o4>>2]=0,oe=h4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(Z|0),G1||v2(),x1=b1+8|0,J1=e[x1>>2]|0,q1=(J1|0)==(Z|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(l2=(L1|0)==0,!l2){if(h0=o+28|0,i2=t+h0|0,c2=e[i2>>2]|0,r2=553352+(c2<<2)|0,$2=e[r2>>2]|0,e2=(Z|0)==($2|0),e2){if(e[r2>>2]=oe,z4=(oe|0)==0,z4){s2=1<>>0>>0,Q2&&v2(),G2=L1+16|0,L2=e[G2>>2]|0,P2=(L2|0)==(Z|0),P2?e[G2>>2]=oe:(p2=L1+20|0,e[p2>>2]=oe),K2=(oe|0)==0,K2)break;O2=e[138266]|0,z2=oe>>>0>>0,z2&&v2(),U2=oe+24|0,e[U2>>2]=L1,t0=o+16|0,A5=t+t0|0,Y2=e[A5>>2]|0,N1=(Y2|0)==0;do if(!N1)if(e5=Y2>>>0>>0,e5)v2();else{F5=oe+16|0,e[F5>>2]=Y2,t5=Y2+24|0,e[t5>>2]=oe;break}while(!1);if(D=o+20|0,_5=t+D|0,Z2=e[_5>>2]|0,I5=(Z2|0)==0,!I5)if(b5=e[138266]|0,g5=Z2>>>0>>0,g5)v2();else{b2=oe+20|0,e[b2>>2]=Z2,B5=Z2+24|0,e[B5>>2]=oe;break}}}while(!1);if(o5=K0|1,R2=a+4|0,e[R2>>2]=o5,M2=a+K0|0,e[M2>>2]=K0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=K0;return}else g=K0}else T5=C0&-2,e[p0>>2]=T5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,L5=a+$|0,e[L5>>2]=$,g=$;if(V2=g>>>3,p5=g>>>0<256,p5){$5=V2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,i5=e[138266]|0,s5=w5>>>0>>0,s5?v2():(Q=h2,u4=w5)),e[Q>>2]=a,d5=u4+12|0,e[d5>>2]=a,J2=a+8|0,e[J2>>2]=u4,f5=a+12|0,e[f5>>2]=u5;return}if(r5=g>>>8,M5=(r5|0)==0,M5?Ce=0:(c5=g>>>0>16777215,c5?Ce=31:(F2=r5+1048320|0,v5=F2>>>16,z5=v5&8,i3=r5<>>16,d3=I3&4,W5=d3|z5,r3=i3<>>16,Z5=N5&2,_3=W5|Z5,f3=14-_3|0,w3=r3<>>15,q3=f3+X3|0,X5=q3<<1,D3=q3+7|0,s6=g>>>D3,N3=s6&1,H3=N3|X5,Ce=H3)),c3=553352+(Ce<<2)|0,g3=a+28|0,e[g3>>2]=Ce,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,J5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}G3=e[c3>>2]|0,E6=G3+4|0,S3=e[E6>>2]|0,x3=S3&-8,b3=(x3|0)==(g|0);e:do if(b3)Pe=G3;else{for(i6=(Ce|0)==31,V3=Ce>>>1,j5=25-V3|0,L3=i6?0:j5,h3=g<>>31,f6=(I4+16|0)+(r6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){d=f6,k9=I4;break}if(z3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Pe=m3;break e}else T6=z3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=k9,M3=a+12|0,e[M3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Pe+8|0,R3=e[o6>>2]|0,K3=e[138266]|0,e6=R3>>>0>=K3>>>0,fe=Pe>>>0>=K3>>>0,R6=e6&fe,R6||v2(),l6=R3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=R3,J6=a+12|0,e[J6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function gD(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function il(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function NQ(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(il(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function GQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ce(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return BS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function oA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ce(t,o,a)|0;return t|0}function bC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function N_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function UQ(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function uD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=n5($,a)|0,d=t>>>16,m=(g>>>16)+(n5($,d)|0)|0,I=o>>>16,E=n5(I,a)|0,Z6=((m>>>16)+(n5(I,d)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function G_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,d^o,g,d)|0,Q=Z6,B=ss(m^a,I^$,m,I)|0,S=m^g,b=I^d,v=aE(E,Q,B,Z6,0)|0,w=ss(v^S,Z6^b,S,b)|0,w|0}function U_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=ss(d^t,m^o,d,m)|0,B=Z6,S=ss(I^a,E^$,I,E)|0,aE(Q,B,S,Z6,g)|0,b=ss(e[g>>2]^d,e[g+4>>2]^m,d,m)|0,v=Z6,C=w,Z6=v,b|0}function hD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0;return g=t,d=a,m=uD(g,d)|0,I=Z6,E=n5(o,d)|0,Z6=((n5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function P_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=aE(t,o,a,$,0)|0,g|0}function O_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,aE(t,o,a,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function aE(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,Y=0,e0=0,J=0,a0=0,K=0,r0=0,s0=0,V=0,o0=0,q=0,h0=0,t0=0,Z=0,u0=0,c0=0,$0=0,l0=0,W=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0;if(d=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0):(S&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(d>>>0)/(E>>>0)>>>0,Z6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(J=rs(B|0)|0,a0=J-(rs(I|0)|0)|0,a0>>>0<=31){K=a0+1|0,r0=31-a0|0,s0=a0-31>>31,t0=K,h0=d>>>(K>>>0)&s0|I<>>(K>>>0)&s0,o0=0,V=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(rs(E|0)|0)+33|0,F=R-(rs(I|0)|0)|0,T=64-F|0,N=32-F|0,G=N>>31,Y=F-32|0,e0=Y>>31,t0=F,h0=N-1>>31&I>>>(Y>>>0)|(I<>>(F>>>0))&e0,q=e0&I>>>(F>>>0),o0=d<>>(Y>>>0))&G|d<>31;break}return g|0&&(e[g>>2]=M&d,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,Z6=L0,F0|0):(L=UQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|d>>>(L>>>0)|0,Z6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,Z6=L0,F0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,Z6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((UQ(B|0)|0)>>>0),Z6=L0,F0|0;if(w=rs(B|0)|0,D=w-(rs(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,t0=y,h0=I<>>(y>>>0),q=I>>>(y>>>0),o0=0,V=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}while(!1);if(!(t0|0))P0=V,N0=o0,T0=q,v0=h0,M0=0,W0=0;else{for(Z=0|a&-1,u0=Q|$&0,c0=ns(Z|0,u0|0,-1,-1)|0,$0=Z6,n0=V,f0=o0,g0=q,m0=h0,W=t0,l0=0;d0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(m0<<1|n0>>>31),S0=m0>>>31|g0<<1|0,ss(c0,$0,C0,S0)|0,Q0=Z6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=ss(C0,S0,b0&Z,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=Z6,_0=W-1|0,_0|0;)n0=d0,f0=p0,g0=B0,m0=w0,W=_0,l0=E0;P0=d0,N0=p0,T0=B0,v0=w0,M0=0,W0=E0}return q0=N0,k0=0,z0=P0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|q0)>>>31|z0<<1|(k0<<1|q0>>>31)&0|M0,F0=(q0<<1|0)&-2|W0,Z6=L0,F0|0}function dD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,xC[t&3](o|0,a|0,$|0,g|0)|0}function fD(t,o){t=t|0,o=o|0,as[t&7](o|0)}function ID(t,o,a){t=t|0,o=o|0,a=a|0,LC[t&3](o|0,a|0)}function mD(t,o){return t=t|0,o=o|0,qQ[t&1](o|0)|0}function pD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,HQ[t&1](o|0,a|0,$|0)}function ED(t,o,a,$,g,d,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,YQ[t&3](o|0,a|0,$|0,g|0,d|0,m|0,I|0,E|0)|0}function CD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function BD(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,MC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function QD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function DC(t){t=t|0,rn(1)}function PQ(t,o){t=t|0,o=o|0,rn(2)}function yD(t){return t=t|0,rn(3),0}function wD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function OQ(t,o,a,$,g,d,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,rn(5),0}function rl(t,o){return t=t|0,o=o|0,rn(6),0}function _C(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var xC=[QD,lb,JS,KS],as=[DC,ab,Ab,Eb,Lb,Mb,DC,DC],LC=[PQ,nb,Rb,PQ],qQ=[yD,Cb],HQ=[wD,mb],YQ=[OQ,Gb,qb,OQ],pi=[rl,ob,sb,$b,pb,Bb,Fb,Tb,cb,xb,Kb,rl,rl,rl,rl,rl],MC=[_C,Nb,Ub,Pb,Ob,Hb,_C,_C];return{_memmove:oA,_strlen:il,_strcat:NQ,_free:E2,_i64Add:ns,_encoder_clear:rD,_encoder_transfer_data:aD,_encoder_data_len:sD,_memset:g4,_malloc:M9,_memcpy:ce,_encoder_init:iD,_encoder_process:oD,_bitshift64Lshr:os,_bitshift64Shl:GQ,_strcpy:bC,_encoder_analysis_buffer:nD,runPostSets:gD,stackAlloc:wS,stackSave:vS,stackRestore:kS,establishStackSpace:SS,setThrew:bS,setTempRet0:DS,getTempRet0:_S,dynCall_iiiii:dD,dynCall_vi:fD,dynCall_vii:ID,dynCall_ii:mD,dynCall_viii:pD,dynCall_iiiiiiiii:ED,dynCall_iii:CD,dynCall_iiiiii:BD}}(n.asmGlobalArg,n.asmLibraryArg,P7),u_=n.runPostSets=te.runPostSets,sS=n._strlen=te._strlen,aS=n._strcat=te._strcat,IC=n._free=te._free,h_=n._encoder_init=te._encoder_init,AS=n._i64Add=te._i64Add,$S=n._memmove=te._memmove,d_=n._encoder_transfer_data=te._encoder_transfer_data,f_=n._encoder_process=te._encoder_process,I_=n._encoder_data_len=te._encoder_data_len,lS=n._memset=te._memset,Mu=n._malloc=te._malloc,cS=n._memcpy=te._memcpy,m_=n._encoder_clear=te._encoder_clear,gS=n._bitshift64Lshr=te._bitshift64Lshr,p_=n._encoder_analysis_buffer=te._encoder_analysis_buffer,uS=n._strcpy=te._strcpy,hS=n._bitshift64Shl=te._bitshift64Shl,E_=n.dynCall_iiiii=te.dynCall_iiiii,C_=n.dynCall_vi=te.dynCall_vi,B_=n.dynCall_vii=te.dynCall_vii,Q_=n.dynCall_ii=te.dynCall_ii,y_=n.dynCall_viii=te.dynCall_viii,w_=n.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,v_=n.dynCall_iii=te.dynCall_iii,k_=n.dynCall_iiiiii=te.dynCall_iiiiii;_.stackAlloc=te.stackAlloc,_.stackSave=te.stackSave,_.stackRestore=te.stackRestore,_.establishStackSpace=te.establishStackSpace,_.setTempRet0=te.setTempRet0,_.getTempRet0=te.getTempRet0;var S_=function(){var r={math:{}};r.math.Long=function(z,D0){this.low_=z|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(z){if(-128<=z&&z<128){var D0=r.math.Long.IntCache_[z];if(D0)return D0}var e1=new r.math.Long(z|0,z<0?-1:0);return-128<=z&&z<128&&(r.math.Long.IntCache_[z]=e1),e1},r.math.Long.fromNumber=function(z){return isNaN(z)||!isFinite(z)?r.math.Long.ZERO:z<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:z+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:z<0?r.math.Long.fromNumber(-z).negate():new r.math.Long(z%r.math.Long.TWO_PWR_32_DBL_|0,z/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(z,D0){return new r.math.Long(z,D0)},r.math.Long.fromString=function(z,D0){if(z.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+z);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var z=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(z&1<0},r.math.Long.prototype.greaterThanOrEqual=function(z){return this.compare(z)>=0},r.math.Long.prototype.compare=function(z){if(this.equals(z))return 0;var D0=this.isNegative(),e1=z.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(z).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(z){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,T3=z.high_&65535,i9=z.low_>>>16,H9=z.low_&65535,P9=0,t4=0,Ai=0,ir=0;return ir+=e3+H9,Ai+=ir>>>16,ir&=65535,Ai+=B2+i9,t4+=Ai>>>16,Ai&=65535,t4+=e1+T3,P9+=t4>>>16,t4&=65535,P9+=D0+O5,P9&=65535,r.math.Long.fromBits(Ai<<16|ir,P9<<16|t4)},r.math.Long.prototype.subtract=function(z){return this.add(z.negate())},r.math.Long.prototype.multiply=function(z){if(this.isZero())return r.math.Long.ZERO;if(z.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return z.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(z.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().multiply(z.negate()):this.negate().multiply(z).negate();if(z.isNegative())return this.multiply(z.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&z.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*z.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,T3=z.high_&65535,i9=z.low_>>>16,H9=z.low_&65535,P9=0,t4=0,Ai=0,ir=0;return ir+=e3*H9,Ai+=ir>>>16,ir&=65535,Ai+=B2*H9,t4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,t4+=Ai>>>16,Ai&=65535,t4+=e1*H9,P9+=t4>>>16,t4&=65535,t4+=B2*i9,P9+=t4>>>16,t4&=65535,t4+=e3*T3,P9+=t4>>>16,t4&=65535,P9+=D0*H9+e1*i9+B2*T3+e3*O5,P9&=65535,r.math.Long.fromBits(Ai<<16|ir,P9<<16|t4)},r.math.Long.prototype.div=function(z){if(z.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(z.equals(r.math.Long.ONE)||z.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(z).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return z.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(z.multiply(e1)),B2=e1.add(O5.div(z));return B2}else if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().div(z.negate()):this.negate().div(z).negate();if(z.isNegative())return this.div(z.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(z);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/z.toNumber())),T3=Math.ceil(Math.log(e1)/Math.LN2),i9=T3<=48?1:Math.pow(2,T3-48),H9=r.math.Long.fromNumber(e1),P9=H9.multiply(z);P9.isNegative()||P9.greaterThan(O5);)e1-=i9,H9=r.math.Long.fromNumber(e1),P9=H9.multiply(z);H9.isZero()&&(H9=r.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}return e3},r.math.Long.prototype.modulo=function(z){return this.subtract(this.div(z).multiply(z))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(z){return r.math.Long.fromBits(this.low_&z.low_,this.high_&z.high_)},r.math.Long.prototype.or=function(z){return r.math.Long.fromBits(this.low_|z.low_,this.high_|z.high_)},r.math.Long.prototype.xor=function(z){return r.math.Long.fromBits(this.low_^z.low_,this.high_^z.high_)},r.math.Long.prototype.shiftLeft=function(z){if(z&=63,z==0)return this;var D0=this.low_;if(z<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-z)}else return r.math.Long.fromBits(0,D0<>>z|D0<<32-z,D0>>z)}else return r.math.Long.fromBits(D0>>z-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(z){if(z&=63,z==0)return this;var D0=this.high_;if(z<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>z|D0<<32-z,D0>>>z)}else return z==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>z-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,H=(f&16777215)==15715070;function e(z,D0,e1){z!=null&&(typeof z=="number"?this.fromNumber(z,D0,e1):D0==null&&typeof z!="string"?this.fromString(z,256):this.fromString(z,D0))}function X0(){return new e(null)}function r1(z,D0,e1,B2,e3,O5){for(;--O5>=0;){var T3=D0*this[z++]+e1[B2]+e3;e3=Math.floor(T3/67108864),e1[B2++]=T3&67108863}return e3}function x2(z,D0,e1,B2,e3,O5){for(var T3=D0&32767,i9=D0>>15;--O5>=0;){var H9=this[z]&32767,P9=this[z++]>>15,t4=i9*H9+P9*T3;H9=T3*H9+((t4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(H9>>>30)+(t4>>>15)+i9*P9+(e3>>>30),e1[B2++]=H9&1073741823}return e3}function s(z,D0,e1,B2,e3,O5){for(var T3=D0&16383,i9=D0>>14;--O5>=0;){var H9=this[z]&16383,P9=this[z++]>>14,t4=i9*H9+P9*T3;H9=T3*H9+((t4&16383)<<14)+e1[B2]+e3,e3=(H9>>28)+(t4>>14)+i9*P9,e1[B2++]=H9&268435455}return e3}H&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):H&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)z[D0]=this[D0];z.t=this.t,z.s=this.s}function Dt(z){this.t=1,this.s=z<0?-1:0,z>0?this[0]=z:z<-1?this[0]=z+DV:this.t=0}function ie(z){var D0=X0();return D0.fromInt(z),D0}function It(z,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(z,D0);return}this.t=0,this.s=0;for(var B2=z.length,e3=!1,O5=0;--B2>=0;){var T3=e1==8?z[B2]&255:W9(z,B2);if(T3<0){z.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=T3:O5+e1>this.DB?(this[this.t-1]|=(T3&(1<>this.DB-O5):this[this.t-1]|=T3<=this.DB&&(O5-=this.DB)}e1==8&&z[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==z;)--this.t}function Y7(z){if(this.s<0)return"-"+this.negate().toString(z);var D0;if(z==16)D0=4;else if(z==8)D0=3;else if(z==2)D0=1;else if(z==32)D0=5;else if(z==4)D0=2;else return this.toRadix(z);var e1=(1<0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));T3>=0;)i9>(i9+=this.DB-D0)):(B2=this[T3]>>(i9-=D0)&e1,i9<=0&&(i9+=this.DB,--T3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function V7(){var z=X0();return e.ZERO.subTo(this,z),z}function yr(){return this.s<0?this.negate():this}function X$(z){var D0=this.s-z.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-z.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-z[e1])!=0)return D0;return 0}function Xp(z){var D0=1,e1;return(e1=z>>>16)!=0&&(z=e1,D0+=16),(e1=z>>8)!=0&&(z=e1,D0+=8),(e1=z>>4)!=0&&(z=e1,D0+=4),(e1=z>>2)!=0&&(z=e1,D0+=2),(e1=z>>1)!=0&&(z=e1,D0+=1),D0}function GB(){return this.t<=0?0:this.DB*(this.t-1)+Xp(this[this.t-1]^this.s&this.DM)}function UB(z,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+z]=this[e1];for(e1=z-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+z,D0.s=this.s}function PB(z,D0){for(var e1=z;e1=0;--i9)D0[i9+O5+1]=this[i9]>>B2|T3,T3=(this[i9]&e3)<=0;--i9)D0[i9]=0;D0[O5]=T3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function qB(z,D0){D0.s=this.s;var e1=Math.floor(z/this.DB);if(e1>=this.t){D0.t=0;return}var B2=z%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var T3=e1+1;T3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=z.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function HB(z,D0){var e1=this.abs(),B2=z.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)z[e1]=0;for(e1=0;e1=D0.DV&&(z[e1+D0.t]-=D0.DV,z[e1+D0.t+1]=1)}z.t>0&&(z[z.t-1]+=D0.am(e1,D0[e1],z,2*e1,0,1)),z.s=0,z.clamp()}function VB(z,D0,e1){var B2=z.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var P9=O5.t,t4=O5[P9-1];if(t4!=0){var Ai=t4*(1<1?O5[P9-2]>>this.F2:0),ir=this.FV/Ai,nQ=(1<=0&&(e1[e1.t++]=1,e1.subTo(Oi,e1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var eE=e1[--nA]==t4?this.DM:Math.floor(e1[nA]*ir+(e1[nA-1]+oQ)*nQ);if((e1[nA]+=O5.am(0,eE,e1,Fu,0,P9))0&&e1.rShiftTo(H9,e1),T3<0&&e.ZERO.subTo(e1,e1)}}}function zB(z){var D0=X0();return this.abs().divRemTo(z,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&z.subTo(D0,D0),D0}function tA(z){this.m=z}function JB(z){return z.s<0||z.compareTo(this.m)>=0?z.mod(this.m):z}function KB(z){return z}function WB(z){z.divRemTo(this.m,null,z)}function ZB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}function iA(z,D0){z.squareTo(D0),this.reduce(D0)}tA.prototype.convert=JB,tA.prototype.revert=KB,tA.prototype.reduce=WB,tA.prototype.mulTo=ZB,tA.prototype.sqrTo=iA;function tr(){if(this.t<1)return 0;var z=this[0];if(!(z&1))return 0;var D0=z&3;return D0=D0*(2-(z&15)*D0)&15,D0=D0*(2-(z&255)*D0)&255,D0=D0*(2-((z&65535)*D0&65535))&65535,D0=D0*(2-z*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function Hn(z){this.m=z,this.mp=z.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function rA(z){var D0=X0();return z.copyTo(D0),this.reduce(D0),D0}function Yn(z){for(;z.t<=this.mt2;)z[z.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&z.DM;for(e1=D0+this.m.t,z[e1]+=this.m.am(0,B2,z,D0,0,this.m.t);z[e1]>=z.DV;)z[e1]-=z.DV,z[++e1]++}z.clamp(),z.drShiftTo(this.m.t,z),z.compareTo(this.m)>=0&&z.subTo(this.m,z)}function jB(z,D0){z.squareTo(D0),this.reduce(D0)}function XB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}Hn.prototype.convert=Ru,Hn.prototype.revert=rA,Hn.prototype.reduce=Yn,Hn.prototype.mulTo=XB,Hn.prototype.sqrTo=jB;function eQ(){return(this.t>0?this[0]&1:this.s)==0}function is(z,D0){if(z>4294967295||z<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=Xp(z)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(z&1<0)D0.mulTo(B2,e3,e1);else{var T3=e1;e1=B2,B2=T3}return D0.revert(e1)}function tQ(z,D0){var e1;return z<256||D0.isEven()?e1=new tA(D0):e1=new Hn(D0),this.exp(z,e1)}e.prototype.copyTo=Qe,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=e4,e.prototype.dlShiftTo=UB,e.prototype.drShiftTo=PB,e.prototype.lShiftTo=OB,e.prototype.rShiftTo=qB,e.prototype.subTo=Z6,e.prototype.multiplyTo=HB,e.prototype.squareTo=YB,e.prototype.divRemTo=VB,e.prototype.invDigit=tr,e.prototype.isEven=eQ,e.prototype.exp=is,e.prototype.toString=Y7,e.prototype.negate=V7,e.prototype.abs=yr,e.prototype.compareTo=X$,e.prototype.bitLength=GB,e.prototype.mod=zB,e.prototype.modPowInt=tQ,e.ZERO=ie(0),e.ONE=ie(1);function Vn(z,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,T3=0,i9=0;i9=e1&&(this.dMultiply(B2),this.dAddOffset(T3,0),O5=0,T3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(T3,0)),e3&&e.ZERO.subTo(this,this)}function tn(z){return Math.floor(Math.LN2*this.DB/Math.log(z))}function pC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function n5(z){this[this.t]=this.am(0,z-1,this,0,0,this.t),++this.t,this.clamp()}function iQ(z,D0){if(z!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=z;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function rs(z){if(z==null&&(z=10),this.signum()==0||z<2||z>36)return"0";var D0=this.chunkSize(z),e1=Math.pow(z,D0),B2=ie(e1),e3=X0(),O5=X0(),T3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)T3=(e1+O5.intValue()).toString(z).substr(1)+T3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(z)+T3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=z.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Vn,e.prototype.chunkSize=tn,e.prototype.signum=pC,e.prototype.dMultiply=n5,e.prototype.dAddOffset=iQ,e.prototype.toRadix=rs,e.prototype.intValue=rn,e.prototype.addTo=rQ;var c7={abs:function(z,D0){var e1=new r.math.Long(z,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,G9[bt>>2]=B2.low_,G9[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(z,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(z.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(z,D0,e1){var B2=new r.math.Long(z,D0).toString();if(e1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(z,D0,e1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(z,D0);var T3=new e;T3.fromString(e1,10);var i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(T3)<0?(O5=T3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var t4=r.math.Long.fromString(O5.toString());if(G9[bt>>2]=t4.low_,G9[bt+4>>2]=t4.high_,P9)throw"range error"}};return c7}();function eA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}eA.prototype=new Error,eA.prototype.constructor=eA;var RB,jp=null,dS=!1;q7=function r(){n.calledRun||mC(),n.calledRun||(q7=r)},n.callMain=n.callMain=function(l){Ne(v8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ne(Vp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)H.push(0)}var H=[C3(en(n.thisProgram),"i8",Za)];f();for(var e=0;e0||(xu(),v8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!i0&&(Zo(),vB(),c&&jp!==null&&n.printErr("pre-main prep time: "+(Date.now()-jp)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&NB&&n.callMain(r),V$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=mC;function FB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(i0=!0,n1=r,k7=RB,zp(),n.onExit&&n.onExit(r)),h?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):U&&typeof quit=="function"&&quit(r),new eA(r)}n.exit=n.exit=FB;var TB=[];function ts(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",i0=!0,n1=1;var l=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+qp()+l;throw TB&&TB.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=ts,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var NB=!0;n.noInitialRun&&(NB=!1),mC();var fS=n._encoder_init,IS=n._encoder_clear,mS=n._encoder_analysis_buffer,pS=n._encoder_process,ES=n._encoder_data_len,CS=n._encoder_transfer_data,S7=n.HEAPU8,W$=n.HEAPU32,Z$=n.HEAPF32,j$=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=fS(this.numChannels,r,u)};j$.prototype.encode=function(r){for(var l=r[0].length,u=mS(this.encoder,l)>>2,f=0;f>2);this.process(l)},j$.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},j$.prototype.cancel=j$.prototype.cleanup=function(){IS(this.encoder),delete this.encoder,delete this.oggBuffers},j$.prototype.process=function(r){pS(this.encoder,r);var l=ES(this.encoder);if(l>0){var u=CS(this.encoder);this.oggBuffers.push(new Uint8Array(S7.subarray(u,u+l)))}},sC.OggVorbisEncoder=j$}};typeof window<"u"&&window===self&&sC.init();function yk(n,i,A,c){let h=new sC.OggVorbisEncoder(A,i,c);h.encode(n);let p=h.finish(),U=p.reduce((X,U0)=>X+U0.length,0),j=new Uint8Array(U),O=0;for(let X of p)j.set(X,O),O+=X.length;return j}var aC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",h=>{h.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async h=>{h.preventDefault(),c.classList.add("hidden");let p=h.dataTransfer.files[0];if(!p)return;let U=p.name,j=await p.arrayBuffer(),O=j.slice(0,4),X=new TextDecoder;if(X.decode(O)==="RIFF"){let U0=j.slice(8,12);if(X.decode(U0)==="RMID"){i({buf:j,name:U});return}A(j);return}i({buf:j,name:U})})}};async function wk(){let n="locale.exportAudio.formats.formats.dls.warning.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;_e(i.id),R7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),h=Yo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&Eu(h,c);let p=h.writeDLS(),U=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(U,`${h.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var s_=!1,pr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,h=s_){this.localeManager=c,this.context=i,this.enableDebug=h,this.isExporting=!1,this.compressionFunc=yk;let p;this.ready=new Promise(U=>p=U),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),h=document.createElement("a");h.href=c,h.download=A,h.click(),U5(h)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let P of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path"));for(let P of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(P,"title",P.getAttribute("translate-path-title")+".description");this.soundFont=A;let h=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Qk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+h,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let U=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),O=await(await fetch(U)).arrayBuffer();this.impulseResponseRaw=O,this.impulseResponse=await i.decodeAudioData(O.slice(0,O.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new hu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",P=>{this.sfError&&this.sfError(P.message)}),await this.synth.isReady,this.midHandler=new PE,this.wml=new OE(this.synth),this.keyboard=new bp(this.channelColors,this.synth);let X=document.getElementById("note_canvas");X.width=window.innerWidth*window.devicePixelRatio,X.height=window.innerHeight*window.devicePixelRatio,this.renderer=new T7(this.channelColors,this.synth,X,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let U0=!1,_=()=>{if(X.width=window.innerWidth*window.devicePixelRatio,X.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),Ir){if(window.innerWidth/window.innerHeight>1){if(!U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!0,P.parentElement.insertBefore(i0,P)}}else if(U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!1,P.parentElement.insertBefore(P,i0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),Ir&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Jr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new zE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Oo(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new aC(P=>{this.play([{binary:P.buf,altName:P.name}]),P.name.length>20&&(P.name=P.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P.name},P=>{this.reloadSf(P)}),document.addEventListener("keydown",P=>{switch(P.key.toLowerCase()){case si.cinematicMode:this.seq&&this.seq.pause();let i0=window.prompt(`Cinematic mode activated! +`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(zo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(zo(r.output,0)),r.output=[])}}},L9={ops_table:null,mount:function(r){return L9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(N2.EPERM);L9.ops_table||(L9.ops_table={dir:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,lookup:L9.node_ops.lookup,mknod:L9.node_ops.mknod,rename:L9.node_ops.rename,unlink:L9.node_ops.unlink,rmdir:L9.node_ops.rmdir,readdir:L9.node_ops.readdir,symlink:L9.node_ops.symlink},stream:{llseek:L9.stream_ops.llseek}},file:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:{llseek:L9.stream_ops.llseek,read:L9.stream_ops.read,write:L9.stream_ops.write,allocate:L9.stream_ops.allocate,mmap:L9.stream_ops.mmap,msync:L9.stream_ops.msync}},link:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,readlink:L9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:k.chrdev_stream_ops}});var V=k.createNode(r,l,u,f);return k.isDir(V.mode)?(V.node_ops=L9.ops_table.dir.node,V.stream_ops=L9.ops_table.dir.stream,V.contents={}):k.isFile(V.mode)?(V.node_ops=L9.ops_table.file.node,V.stream_ops=L9.ops_table.file.stream,V.usedBytes=0,V.contents=null):k.isLink(V.mode)?(V.node_ops=L9.ops_table.link.node,V.stream_ops=L9.ops_table.link.stream):k.isChrdev(V.mode)&&(V.node_ops=L9.ops_table.chrdev.node,V.stream_ops=L9.ops_table.chrdev.stream),V.timestamp=Date.now(),r&&(r.contents[l]=V),V},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=L9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(V.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-V,f);if(Ne(X0>=0),X0>8&&e.subarray)l.set(e.subarray(V,V+X0),u);else for(var r1=0;r10||V+fP5.timestamp)&&(V.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([k8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(k8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},V.sort().forEach(function(k5){l.type==="local"?k8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);k8.storeLocalEntry(k5,P5,C)}):k8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);k8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?k8.removeLocalEntry(k5,C):k8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return Ne(h),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(N2.EINVAL);var V=k.createNode(r,l,u);return V.node_ops=ft.node_ops,V.stream_ops=ft.stream_ops,V},getMode:function(r){var l;try{l=S8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),I9.join.apply(null,l)},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=S8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(S8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);S8.utimesSync(u,f,f)}l.size!==void 0&&S8.truncateSync(u,l.size)}catch(V){throw V.code?new k.ErrnoError(N2[V.code]):V}},lookup:function(r,l){var u=I9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var V=ft.createNode(r,l,u,f),e=ft.realPath(V);try{k.isDir(V.mode)?S8.mkdirSync(e,V.mode):S8.writeFileSync(e,"",{mode:V.mode})}catch(X0){throw X0.code?new k.ErrnoError(N2[X0.code]):X0}return V},rename:function(r,l,u){var f=ft.realPath(r),V=I9.join2(ft.realPath(l),u);try{S8.renameSync(f,V)}catch(e){throw e.code?new k.ErrnoError(N2[e.code]):e}},unlink:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},rmdir:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(N2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return S8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},symlink:function(r,l,u){var f=I9.join2(ft.realPath(r),l);try{S8.symlinkSync(u,f)}catch(V){throw V.code?new k.ErrnoError(N2[V.code]):V}},readlink:function(r){var l=ft.realPath(r);try{return l=S8.readlinkSync(l),l=RB.relative(RB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=S8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(N2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&S8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(N2[l.code]):l}},read:function(r,l,u,f,V){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=S8.readSync(r.nfd,e,0,f,V)}catch(x2){throw new k.ErrnoError(N2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(N2.ELOOP);for(var V=I9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(N2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),V=k.nameTable[f];V;V=V.name_next){var e=V.name;if(V.parent.id===r.id&&e===l)return V}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var V=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&V)===V},set:function(r1){r1?this.mode|=V:this.mode&=~V}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&49152)===49152},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return N2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var V=k.nodePermissions(r,"wx");if(V)return V;if(u){if(!k.isDir(f.mode))return N2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return N2.EBUSY}else if(k.isDir(f.mode))return N2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?N2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?N2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(N2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var V in r)f[V]=r[V];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function V(e){if(e)return V.errored?void 0:(V.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return V(null);e.type.syncfs(e,r,V)})},mount:function(r,l,u){var f=u==="/",V=!u,e;if(f&&k.root)throw new k.ErrnoError(N2.EBUSY);if(!f&&!V){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(N2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(N2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(N2.EINVAL);var u=l.node,f=u.mounted,V=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;V.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);Ne(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),V=f.node,e=I9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(N2.EINVAL);var X0=k.mayCreate(V,e);if(X0)throw new k.ErrnoError(X0);if(!V.node_ops.mknod)throw new k.ErrnoError(N2.EPERM);return V.node_ops.mknod(V,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!I9.resolve(r))throw new k.ErrnoError(N2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);var V=I9.basename(l),e=k.mayCreate(f,V);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(N2.EPERM);return f.node_ops.symlink(f,V,r)},rename:function(r,l){var u=I9.dirname(r),f=I9.dirname(l),V=I9.basename(r),e=I9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(N2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(N2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(N2.EXDEV);var s=k.lookupNode(r1,V),l1=I9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(N2.EINVAL);if(l1=I9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(N2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,V,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(N2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),V=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(V))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(V);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(N2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),V=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(N2.EPERM);if(k.isMountpoint(V))throw new k.ErrnoError(N2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(V);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(N2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(N2.EINVAL);return I9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(N2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(N2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var V=k.lookupPath(r,{follow:!u});f=V.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var V;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});V=e.node}else V=r;if(!V.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);V.node_ops.setattr(V,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(N2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(N2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(N2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(N2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(N2.EINVAL);var V=k.nodePermissions(u,"w");if(V)throw new k.ErrnoError(V);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(N2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(N2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),V=f.node;V.node_ops.setattr(V,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,V){if(r==="")throw new k.ErrnoError(N2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=I9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(N2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(N2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,V);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,V){if(f<0||V<0)throw new k.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(N2.EINVAL);var e=!0;if(typeof V>"u")V=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,V);return e||(r.position+=X0),X0},write:function(r,l,u,f,V,e){if(f<0||V<0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(N2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof V>"u")V=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(N2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,V,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(N2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,V,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,l,u,f,V,e,X0)},msync:function(r,l,u,f,V){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,V)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),V=k.stat(r),e=V.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=zo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var V=new Uint8Array(Jo(l)+1),e=Un(l,V,0,V.length);k.write(f,V,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(N2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,V,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),qn.register(k.makedev(5,0),qn.default_tty_ops),qn.register(k.makedev(6,0),qn.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else h?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");G9[Mk>>2]=k.getPtrForStream(r),Ne(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");G9[Rk>>2]=k.getPtrForStream(l),Ne(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");G9[Fk>>2]=k.getPtrForStream(u),Ne(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var V in N2)if(N2[V]===f){this.code=V;break}},this.setErrno(l),this.message=Lk[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[N2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(L9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){Ne(!k.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,U9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var Qe=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var e4=new XMLHttpRequest;if(e4.open("GET",u,!1),w2!==W9&&e4.setRequestHeader("Range","bytes="+ie+"-"+It),typeof Uint8Array<"u"&&(e4.responseType="arraybuffer"),e4.overrideMimeType&&e4.overrideMimeType("text/plain; charset=x-user-defined"),e4.send(null),!(e4.status>=200&&e4.status<300||e4.status===304))throw new Error("Couldn't load "+u+". Status: "+e4.status);return e4.response!==void 0?new Uint8Array(e4.response||[]):en(e4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,e4=(ie+1)*W9-1;if(e4=Math.min(e4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=Qe(It,e4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,V);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,U9,W9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(N2.EIO);var Qe=k5.node.contents;if(W9>=Qe.length)return 0;var Dt=Math.min(Qe.length-W9,U9);if(Ne(Dt>=0),Qe.slice)for(var ie=0;ie=0;f--){var V=r[f];V==="."?r.splice(f,1):V===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=I9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=I9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return I9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return I9.normalize(r.join("/"))},join2:function(r,l){return I9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=I9.normalizeArray(r.split("/").filter(function(V){return!!V}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=I9.resolve(r).substr(1),l=I9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),V=u(l.split("/")),e=Math.min(f.length,V.length),X0=e,r1=0;r10){var r1=Date.now(),x2=z1.mainLoop.queue.shift();if(x2.func(x2.arg),z1.mainLoop.remainingBlockers){var s=z1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?z1.mainLoop.remainingBlockers=l1:(l1=l1+.5,z1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),z1.mainLoop.updateStatus(),setTimeout(z1.mainLoop.runner,0);return}if(!(e1&&z1.mainLoop.currentFrameNumber%z1.mainLoop.timingValue!=0){z1.mainLoop.scheduler();return}z1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),z1.mainLoop.method=""),z1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?jp(0,1e3/l):jp(1,1),z1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var z1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){z1.mainLoop.scheduler=null,z1.mainLoop.currentlyRunningMainloop++},resume:function(){z1.mainLoop.currentlyRunningMainloop++;var r=z1.mainLoop.timingMode,l=z1.mainLoop.timingValue,u=z1.mainLoop.func;z1.mainLoop.func=null,LB(u,0,!1,z1.mainLoop.arg,!0),jp(r,l),z1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=z1.mainLoop.remainingBlockers,u=z1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(z1.hasBlobConstructor)try{s=new Blob([e],{type:z1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:z1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new z1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=z1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){Ne(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var U9=P5.getContext("2d");U9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,z1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(U9){s||(s=!0,n.preloadedAudios[X0]=U9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(z1.hasBlobConstructor){try{var k5=new Blob([e],{type:z1.getMimetype(X0)})}catch{return C()}var w2=z1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function Qe(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",e4="",V7=0,Y7=0,wr=0;wr=6;){var X$=V7>>Y7-6&63;Y7-=6,e4+=ie[X$]}return Y7==2?(e4+=ie[(V7&3)<<4],e4+=It+It):Y7==4&&(e4+=ie[(V7&15)<<2],e4+=It),e4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+Qe(e),l1(P5)},P5.src=w2,z1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){z1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(V){!z1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),V.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var V,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(V=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else V=r.getContext("2d");return V?(u&&(l||Ne(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=V,l&&GL.makeContextCurrent(e),n.useWebGL=l,z1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),z1.init()),V):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){z1.lockPointer=r,z1.resizeCanvas=l,z1.vrDevice=u,typeof z1.lockPointer>"u"&&(z1.lockPointer=!0),typeof z1.resizeCanvas>"u"&&(z1.resizeCanvas=!1),typeof z1.vrDevice>"u"&&(z1.vrDevice=null);var f=n.canvas;function V(){z1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),z1.lockPointer&&f.requestPointerLock(),z1.isFullScreen=!0,z1.resizeCanvas&&z1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),z1.resizeCanvas&&z1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(z1.isFullScreen),z1.updateCanvasDimensions(f)}z1.fullScreenHandlersInstalled||(z1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",V,!1),document.addEventListener("mozfullscreenchange",V,!1),document.addEventListener("webkitfullscreenchange",V,!1),document.addEventListener("MSFullscreenChange",V,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(z1.nextRAF===0)z1.nextRAF=l+1e3/60;else for(;l+2>=z1.nextRAF;)z1.nextRAF+=1e3/60;var u=Math.max(z1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?z1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||z1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!i0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){z1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(z1.allowAsyncCallbacks=!0,z1.queuedAsyncCallbacks.length>0){var r=z1.queuedAsyncCallbacks;z1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return z1.requestAnimationFrame(function(){i0||(z1.allowAsyncCallbacks?r():z1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){i0||(z1.allowAsyncCallbacks?r():z1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){i0||z1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(z1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?z1.mouseMovementX=z1.mouseMovementY=0:(z1.mouseMovementX=z1.getMovementX(r),z1.mouseMovementY=z1.getMovementY(r)),typeof SDL<"u"?(z1.mouseX=SDL.mouseX+z1.mouseMovementX,z1.mouseY=SDL.mouseY+z1.mouseMovementY):(z1.mouseX+=z1.mouseMovementX,z1.mouseY+=z1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,V=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(V+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")z1.lastTouches[X0.identifier]=s,z1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=z1.touches[X0.identifier];l1||(l1=s),z1.lastTouches[X0.identifier]=l1,z1.touches[X0.identifier]=s}return}var C=r.pageX-(V+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),z1.mouseMovementX=C-z1.mouseX,z1.mouseMovementY=k5-z1.mouseY,z1.mouseX=C,z1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){z1.xhrLoad(r,function(V){Ne(V,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(V)),f||Qr("al "+r)},function(V){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;z1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;z1.updateCanvasDimensions(f,r,l),u||z1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=W$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}z1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=W$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,G9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}z1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,V=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/V>2]=l),l}function Zk(){n.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=_.staticAlloc(4),G9[Xo>>2]=0,n.requestFullScreen=function(l,u,f){z1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){z1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){z1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){z1.mainLoop.pause()},n.resumeMainLoop=function(){z1.mainLoop.resume()},n.getUserMedia=function(){z1.getUserMedia()},n.createContext=function(l,u,f,V){return z1.createContext(l,u,f,V)},k.staticInit(),H$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),Du.push(function(){k.ignorePermissions=!1}),V$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,H$.unshift(function(){qn.init()}),V$.push(function(){qn.shutdown()}),h)var S8=void 0,RB=void 0;bu=k7=_.alignMemory(jr),U$=!0,P$=bu+zp,O$=U7=_.alignMemory(P$),Ne(O$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function N_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function _S(t){t=t|0,Z6=t}function xS(){return Z6|0}function QC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=M9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function LS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,d=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&d,Q=E&255,f[y>>0]=Q)}function q2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0;V0=C,d=a>>>0>32;do if(!d){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)G=g;else{if(T0=(g|0)==0,T0)return;if(J0=(a0|0)>2147483391,J0||(H0=t+8|0,Z0=e[H0>>2]|0,I=a0+256|0,E=J7(Z0,I)|0,Q=(E|0)==0,Q))break;e[H0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,G=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,U=N&255,Y=U|F,e0=Y&255,f[G>>0]=e0,K=(R|0)>7;do if(K&&(W=e[M>>2]|0,r0=8-W|0,s0=y>>>r0,z=s0&255,o0=e[$>>2]|0,q=o0+1|0,f[q>>0]=z,h0=(R|0)>15,h0&&(t0=e[M>>2]|0,j=16-t0|0,u0=y>>>j,$0=u0&255,l0=e[$>>2]|0,Z=l0+2|0,f[Z>>0]=$0,m0=(R|0)>23,m0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,d0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,W0=_0+4|0,f[W0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,P0=e[t>>2]|0,q0=P0+N0|0,e[t>>2]=q0,k0=e[$>>2]|0,z0=k0+N0|0,e[$>>2]=z0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,K0=(G0|0)==0,K0||E2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function yC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||E2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function mi(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,m=d,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function wC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,e0=t+4|0,j=e[e0>>2]|0,p0=j+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,d=(S0|0)<(E0|0),!d){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>j,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-j|0,N=R<16,U?(Y=b+2|0,K=f[Y>>0]|0,a0=K&255,W=16-j|0,r0=a0<24,z?(o0=b+3|0,q=f[o0>>0]|0,h0=q&255,t0=24-j|0,u0=h0<>0]|0,g0=m0&255,f0=32-j|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,d=t+12|0,m=e[d>>2]|0,I=m+g|0,e[d>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function i4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,d=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,Z=e[s0>>2]|0,E0=Z+o|0,T0=e[t>>2]|0,N0=t+16|0,P0=e[N0>>2]|0,q0=P0+-4|0,B=(T0|0)<(q0|0),!B){if(S=E0+7|0,b=S>>3,v=P0-b|0,w=(T0|0)>(v|0),w){d=t,m=s0,v0=P0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>Z,N=(E0|0)>8,N?(G=x+1|0,U=f[G>>0]|0,Y=U&255,e0=8-Z|0,K=Y<16,W?(r0=x+2|0,z=f[r0>>0]|0,o0=z&255,q=16-Z|0,h0=o0<24,j?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-Z|0,m0=$0<>0]|0,C0=p0&255,S0=32-Z|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,W0=E0&7,e[s0>>2]=W0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[d>>2]=v0,e[m>>2]=1,a=-1,a|0}function b8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,m=d+o|0,m|0}function $Q(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function MS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0;if(N=C,g=(t|0)==0,g)return a=-1,a|0;g4(t|0,0,360)|0,d=t+4|0,e[d>>2]=16384,b=t+24|0,e[b>>2]=1024,v=M9(16384)|0,e[t>>2]=v,w=M9(4096)|0,D=t+16|0,e[D>>2]=w,y=M9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){E2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||E2(Q),g4(t|0,0,360)|0,a=-1,a|0}function RS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),g4(t|0,0,360)|0),0}function FS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0;if(P0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,U=e[t>>2]|0,h0=U+23|0,f[h0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(d=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=d+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,N=(F|0)<($|0),N)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(G=M0<<8,Y=M0>>>24,e0=B+T0|0,K=f[e0>>0]|0,a0=K&255,W=a0^Y,r0=144+(W<<2)|0,s0=e[r0>>2]|0,z=s0^G,o0=T0+1|0,q=(o0|0)<(I|0),q)M0=z,T0=o0;else{W0=z;break}else W0=B0;t0=W0&255,j=e[t>>2]|0,u0=j+22|0,f[u0>>0]=t0,c0=W0>>>8,$0=c0&255,l0=e[t>>2]|0,Z=l0+23|0,f[Z>>0]=$0,m0=W0>>>16,g0=m0&255,f0=e[t>>2]|0,d0=f0+24|0,f[d0>>0]=g0,p0=W0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function TS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,a2=(q1|0)<0,w=2147483647-q1|0,Y=(m2|0)>(w|0),G2=a2|Y,G2){I=-1;break}if(t0=q1+m2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)m2=t0,k2=c0;else{s2=t0;break e}}return I|0}else s2=0;while(!1);l0=(s2|0)/255&-1,Z=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(d0=e[v>>2]|0,p0=d0-g0|0,e[v>>2]=p0,C0=(d0|0)==(g0|0),C0||(S0=_0+g0|0,oA(_0|0,S0|0,p0|0)|0),e[m0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-s2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-s2|0,W0=(b0|0)>(B0|0),W0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=t+16|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),q0=t+20|0,k0=e[q0>>2]|0,z0=(k0|0)==0,z0||E2(k0),g4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+s2|0,G0=(F0|0)<2147482623,K0=F0+1024|0,m=G0?K0:F0,J0=e[t>>2]|0,H0=J7(J0,m)|0,Z0=(H0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=H0;break}return O0=e[t>>2]|0,V0=(O0|0)==0,V0||E2(O0),s1=t+16|0,Y0=e[s1>>2]|0,i1=(Y0|0)==0,i1||E2(Y0),o1=t+20|0,h1=e[o1>>2]|0,g1=(h1|0)==0,g1||E2(h1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=NS(t,Z)|0,d1=(m1|0)==0,!d1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ce(w1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,D1=D2+1|0,t2=(D1|0)==(a|0),!t2;)v1=U1,D2=D1;if(u1=(s2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,u1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=c1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,J1=e[x1>>2]|0,H1=G1+4|0,V1=H1,Y1=e[V1>>2]|0,X1=Q1+(P1<<3)|0,o2=X1,j1=o2,e[j1>>2]=J1,O1=o2+4|0,u2=O1,e[u2>>2]=Y1,W1=Q2+1|0,I2=(W1|0)<(l0|0),I2;)Q2=W1;L2=p1?l0:1,B=E1,l2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,l2=S,S2=0;return C2=(s2|0)%255&-1,A2=c1+S2|0,K1=$1+(A2<<2)|0,e[K1>>2]=C2,d2=l2+(A2<<3)|0,i2=d2,c2=i2,e[c2>>2]=g,r2=i2+4|0,$2=r2,e[$2>>2]=d,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=d,M=$1+(c1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=c1+Z|0,e[A1>>2]=F,N=t+344|0,G=N,U=G,e0=e[U>>2]|0,K=G+4|0,a0=K,W=e[a0>>2]|0,r0=ns(e0|0,W|0,1,0)|0,s0=Z6,z=N,o0=z,e[o0>>2]=r0,q=z+4|0,h0=q,e[h0>>2]=s0,j=($|0)==0,j?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function rE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,d=g,m=e[d>>2]|0,I=TS(t,y,1,S,D,m)|0,C=M,I|0}function lQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=gQ(t,o,1,4096)|0,a|0}function cQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,d=(t|0)==0,d||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=gQ(t,o,D,4096)|0,a=w,a|0)}function NS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,y=d-o|0,K=t+28|0,u0=e[K>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(Z=2147483647-o|0,m0=(d|0)>(Z|0),m0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||E2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||E2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(b=d+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=J7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,N=(F|0)==0,N||E2(F),G=e[D>>2]|0,U=(G|0)==0,U||E2(G),Y=t+20|0,e0=e[Y>>2]|0,a0=(e0|0)==0,a0||E2(e0),g4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,W=t+20|0,r0=e[W>>2]|0,s0=a<<3,z=J7(r0,s0)|0,o0=(z|0)==0,o0?(q=e[t>>2]|0,h0=(q|0)==0,h0||E2(q),t0=e[D>>2]|0,j=(t0|0)==0,j||E2(t0),c0=e[W>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[W>>2]=z,e[g>>2]=a,$=0,$|0))))}function gQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,h1=(x|0)>255,g=h1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,V1=(R1|0)==0,A2=(g|0)==0,_3=A2|V1,_3))return d=0,d|0;t2=t+332|0,z2=e[t2>>2]|0,Z2=(z2|0)==0;e:do if(Z2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,J5=g3,Y5=14;break e}if(Z0=e[Q0>>2]|0,Y0=Z0+(g3<<2)|0,i1=e[Y0>>2]|0,x0=i1&255,o1=(x0|0)==255,g1=g3+1|0,o1)g3=g1;else{I=a,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,J5=g1,Y5=14;break}}else if(M=(g|0)>0,M){for(W=t+16|0,$0=t+20|0,Q5=0,D5=-1,h5=-1,l5=-1,j2=-1,h2=-1,w5=-1,i5=-1,s5=-1,t3=0,G3=0,Q3=0;;){if(m1=(Q5|0)>($|0),d1=(t3|0)>3,H3=m1&d1,H3){m=1,q5=D5,L5=h5,Y2=l5,p5=j2,$5=h2,u5=w5,y5=i5,T1=s5,u3=Q3;break}if(u1=e[W>>2]|0,A1=u1+(Q3<<2)|0,c1=e[A1>>2]|0,a1=c1&255,$1=a1+Q5|0,j0=(a1|0)==255,j0?(d5=D5,J2=h5,f5=l5,r5=j2,M5=h2,X2=w5,c5=i5,F2=s5,s6=0,V3=G3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=G3+1|0,b1=w1&255,_1=os(w1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(w1|0,L1|0,16)|0,P1=Z6,Z1=D1&255,G1=os(w1|0,L1|0,24)|0,x1=Z6,J1=G1&255,q1=L1&255,H1=os(w1|0,L1|0,40)|0,Y1=Z6,X1=H1&255,o2=os(w1|0,L1|0,48)|0,j1=Z6,O1=o2&255,u2=os(w1|0,L1|0,56)|0,W1=Z6,I2=u2&255,d5=b1,J2=Z1,f5=J1,r5=q1,M5=X1,X2=O1,c5=I2,F2=U1,s6=M1,V3=M1),a2=Q3+1|0,C2=(a2|0)<(g|0),C2)Q5=$1,D5=d5,h5=J2,l5=f5,j2=r5,h2=M5,w5=X2,i5=c5,s5=F2,t3=s6,G3=V3,Q3=a2;else{m=a,q5=d5,L5=J2,Y2=f5,p5=r5,$5=M5,u5=X2,y5=c5,T1=F2,u3=a2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=L5,N5=Y2,Z5=p5,x3=$5,f3=u5,w3=y5,X3=T1,H5=255):(I=m,v5=q5,z5=L5,i3=Y2,E5=p5,I3=$5,d3=u5,W5=y5,r3=T1,J5=u3,Y5=14)}else I=a,v5=-1,z5=-1,i3=-1,E5=-1,I3=-1,d3=-1,W5=-1,r3=-1,J5=0,Y5=14;while(!1);if((Y5|0)==14){if(d2=(I|0)==0,d2)return d=0,d|0;a3=v5,B3=z5,N5=i3,Z5=E5,x3=I3,f3=d3,w3=W5,X3=r3,H5=J5}if(l2=t+40|0,f[l2>>0]=79,f[l2+1>>0]=103,f[l2+2>>0]=103,f[l2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,c2=t+45|0,f[c2>>0]=0,r2=t+16|0,$2=e[r2>>2]|0,e2=e[$2>>2]|0,s2=e2>>>8,S=s2&1,m2=S^1,k2=m2|2,E=Z2?k2:m2,c3=E&255,f[c2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=Q2&G2,X5&&(Q=Z2?k2:m2,L2=Q|4,P2=L2&255,f[c2>>0]=P2),e[t2>>2]=1,p2=t+46|0,f[p2>>0]=a3,K2=t+47|0,f[K2>>0]=X3,O2=t+48|0,f[O2>>0]=B3,U2=t+49|0,f[U2>>0]=N5,H2=t+50|0,f[H2>>0]=Z5,W2=t+51|0,f[W2>>0]=x3,A5=t+52|0,f[A5>>0]=f3,V2=t+53|0,f[V2>>0]=w3,N1=t+336|0,e5=e[N1>>2]|0,F5=e5&255,t5=t+54|0,f[t5>>0]=F5,_5=e5>>>8,I5=_5&255,b5=t+55|0,f[b5>>0]=I5,V5=e5>>>16,g5=V5&255,b2=t+56|0,f[b2>>0]=g5,B5=e5>>>24,o5=B5&255,R2=t+57|0,f[R2>>0]=o5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,N=F&255,G=t+58|0,f[G>>0]=N,U=F>>>8,Y=U&255,e0=t+59|0,f[e0>>0]=Y,K=F>>>16,a0=K&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,z=s0&255,o0=t+61|0,f[o0>>0]=z,q=t+62|0,h0=H5&255,t0=t+66|0,f[q>>0]=0,f[q+1>>0]=0,f[q+2>>0]=0,f[q+3>>0]=0,f[t0>>0]=h0,j=(H5|0)>0,j){if(u0=e[$2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,Z=u0&255,x5=(H5|0)==1,x5)B=Z;else for(g0=1,b0=Z;;)if(b=e[r2>>2]|0,m0=b+(g0<<2)|0,f0=e[m0>>2]|0,n0=f0&255,d0=g0+27|0,p0=(t+40|0)+d0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,T5=B}else v0=R1,k0=x,F0=$2,T5=0;return e[o>>2]=l2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,W0=e[_0>>2]|0,M0=v0+W0|0,T0=o+8|0,e[T0>>2]=M0,P0=o+12|0,e[P0>>2]=T5,q0=k0-H5|0,e[y>>2]=q0,z0=F0+(H5<<2)|0,L0=q0<<2,oA(F0|0,z0|0,L0|0)|0,G0=t+20|0,K0=e[G0>>2]|0,J0=K0+(H5<<3)|0,H0=e[y>>2]|0,O0=H0<<3,oA(K0|0,J0|0,O0|0)|0,V0=e[_0>>2]|0,s1=V0+T5|0,e[_0>>2]=s1,FS(o),d=1,d|0}function GS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0;return Y0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,e0=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,j=e[e0>>2]|0,mi(j),p0=g+16|0,M0=e[p0>>2]|0,mi(M0),K0=g+20|0,O0=e[K0>>2]|0,mi(O0),V0=g+24|0,d=e[V0>>2]|0,mi(d),m=g+28|0,I=e[m>>2]|0,mi(I),E=g+32|0,Q=e[E>>2]|0,mi(Q),B=g+36|0,S=e[B>>2]|0,mi(S),b=g+40|0,v=e[b>>2]|0,mi(v),w=g+44|0,y=e[w>>2]|0,mi(y),x=g+48|0,M=e[x>>2]|0,mi(M),L=g+52|0,R=e[L>>2]|0,mi(R),F=g+56|0,N=e[F>>2]|0,mi(N),G=g+60|0,U=e[G>>2]|0,mi(U),Y=g+64|0,K=e[Y>>2]|0,mi(K),a0=g+68|0,W=e[a0>>2]|0,mi(W),r0=e[6416]|0,s0=r0+12|0,z=e[s0>>2]|0,o0=HQ[z&1](t)|0,q=(o0|0)==0,q?(h0=(o|0)==0,h0?(a=0,a|0):(t0=Nu(t)|0,u0=(t0|0)==0,u0?(c0=t+4|0,$0=$Q(c0)|0,e[o>>2]=$0,l0=b8(c0)|0,Z=o+4|0,e[Z>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,d0=t+48|0,C0=d0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,W0=B0+4|0,v0=W0,e[v0>>2]=y0,T0=t+56|0,N0=T0,P0=N0,q0=e[P0>>2]|0,k0=N0+4|0,z0=k0,F0=e[z0>>2]|0,L0=o+24|0,G0=L0,J0=G0,e[J0>>2]=q0,H0=G0+4|0,Z0=H0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function US(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,Y=e[w>>2]|0,t0=(Y|0)>0,t0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,d0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(d0|0),S=Q*B,b=+(f0|0),v=S/b,D=+z7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,N=F/b,G=+z7(N),U=~~G,e0=o+16|0,e[e0>>2]=U,K=$+3368|0,a0=e[K>>2]|0,W=+(a0|0),r0=W*B,s0=r0/b,z=+z7(s0),o0=~~z,q=o+20|0,e[q>>2]=o0,h0=o+32|0,l1[h0>>3]=7,j=+(Y|0),u0=$+3376|0,c0=+l1[u0>>3],$0=j*c0,l0=~~$0,Z=o+8|0,e[Z>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function PS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Nu(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,d=e[g>>2]|0,m=d+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function OS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0;if(R6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,L5=b2+104|0,h2=e[L5>>2]|0,F2=b2+4|0,N5=e[F2>>2]|0,G3=N5+28|0,G5=e[G3>>2]|0,S=h2+112|0,N=+l1[S>>3],o0=+z7(N),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,z0=e[w0>>2]|0,Y0=b8(z0)|0,a1=Y0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,e2=h2+96|0,p2=e[e2>>2]|0,I2?(F5=h2+100|0,_5=e[F5>>2]|0,q=p2,b0=F5,B0=_5):(Z2=h2+104|0,I5=e[Z2>>2]|0,b5=h2+100|0,V5=e[b5>>2]|0,g5=n5(I5,p2)|0,B5=n5(I5,V5)|0,q=g5,b0=b5,B0=B5),o5=G5+(x1<<2)|0,R2=e[o5>>2]|0,M2=R2>>1,y2=G5+3372|0,Q5=e[y2>>2]|0,T5=+(Q5|0),m5=G5+3376|0,x5=+l1[m5>>3],q5=T5*x5,Y2=~~q5,p5=h2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=h2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,h5=h2+92|0,l5=e[h5>>2]|0,j2=(l5|0)>0,j2){I2?c5=l5:(w5=h2+104|0,i5=e[w5>>2]|0,s5=n5(i5,l5)|0,c5=s5),d5=G5+3384|0,J2=+l1[d5>>3],f5=15/J2,r5=h2+84|0,M5=e[r5>>2]|0,X2=a1-c5|0,v5=M5+X2|0,z5=(v5|0)>(Y2|0);e:do if(z5)if(i3=(g0|0)>0,E5=(a1|0)>(c5|0),M6=E5&i3,M6)if(I3=a1-c5|0,d3=I3+M5|0,W5=(d3|0)>(Y2|0),W5)for(z3=g0;;){if(r3=z3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,Z5=b8(B3)|0,x3=Z5<<3,f3=(z3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(I=e[r5>>2]|0,X3=x3-c5|0,H3=X3+I|0,X5=(H3|0)>(Y2|0),X5)z3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(_3=(v5|0)<(Y2|0),_3)if(t3=g0+1|0,s6=(t3|0)<15,V3=(a1|0)<(c5|0),r6=V3&s6,r6)if(c3=a1-c5|0,g3=c3+M5|0,u3=(g3|0)<(Y2|0),u3)for(J5=t3;;){if(Q3=(B+12|0)+(J5<<2)|0,H5=e[Q3>>2]|0,Y5=b8(H5)|0,S5=Y5<<3,Y3=J5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){j5=J5;break e}if(m=e[r5>>2]|0,l3=S5-c5|0,U3=l3+m|0,E6=(U3|0)<(Y2|0),E6)J5=Y3;else{j5=J5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+l1[S>>3],D3=b3-L3,a6=+z7(D3),i6=+(M2|0),b=a6/i6,v=N5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,R3=L?f5:v6,R=R3/D,F=R*i6,G=F+L3,l1[S>>3]=G,U=+z7(G),Y=~~U,e0=(B+12|0)+(Y<<2)|0,K=e[e0>>2]|0,a0=b8(K)|0,W=a0<<3,E=e[e2>>2]|0,r0=E,M3=Y,n6=W}else r0=p2,M3=g0,n6=a1;s0=(r0|0)>0,z=(n6|0)<(q|0),f6=z&s0;e:do if(f6)if(h0=h2+88|0,t0=e[h0>>2]|0,j=n6-q|0,u0=j+t0|0,c0=(u0|0)<0,c0)for(h3=M3,o6=n6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,C6=o6;break e}if(Z=(B+12|0)+($0<<2)|0,m0=e[Z>>2]|0,f0=b8(m0)|0,n0=f0<<3,d0=e[h0>>2]|0,p0=n0-q|0,C0=p0+d0|0,S0=(C0|0)<0,S0)h3=$0,o6=n0;else{J3=$0,C6=n0;break}}else J3=M3,C6=n6;else J3=M3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=h2+88|0,W0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+W0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(d6=J3,K3=C6;;){if(P0=d6+-1|0,q0=(d6|0)<1,q0){m3=P0,F3=K3;break e}if(k0=(B+12|0)+(P0<<2)|0,F0=e[k0>>2]|0,L0=b8(F0)|0,G0=L0<<3,K0=e[_0>>2]|0,J0=G0-B0|0,H0=J0+K0|0,Z0=e[y2>>2]|0,O0=(H0|0)>(Z0|0),O0)d6=P0,K3=G0;else{m3=P0,F3=G0;break}}else m3=J3,F3=C6;else m3=J3,F3=C6;while(!1);if(V0=(m3|0)<0,V0)s1=e[y2>>2]|0,i1=h2+88|0,x0=e[i1>>2]|0,o1=s1+B0|0,h1=o1-x0|0,g1=(h1|0)/8&-1,m1=h2+124|0,e[m1>>2]=0,d1=B+12|0,u1=e[d1>>2]|0,A1=b8(u1)|0,c1=(A1|0)>(g1|0),c1?($1=e[d1>>2]|0,j0=g1<<3,LS($1,j0),E1=e[d1>>2]|0,I1=b8(E1)|0,Q1=I1<<3,W3=Q1):W3=F3;else{if(p1=h2+88|0,B1=e[p1>>2]|0,w1=q+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=h2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=b8(R1)|0,U1=k1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(Z1=x6+-1|0,q2(G1,0,8),J1=(x6|0)>1,q1=e[_1>>2]|0,J1)G1=q1,x6=Z1;else{d=q1;break}else d=P1;H1=b8(d)|0,V1=H1<<3,W3=V1}Y1=e[e2>>2]|0,X1=(Y1|0)>0,X1?e6=37:(o2=e[b0>>2]|0,j1=(o2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,u2=(W3|0)>(B0|0),N6=O1&u2,N6){a2=W3-B0|0,C2=h2+88|0,A2=e[C2>>2]|0,K1=a2+A2|0,e[C2>>2]=K1;break}if(d2=(q|0)>0,l2=(W3|0)<(q|0),j6=d2&l2,j6){i2=W3-q|0,c2=h2+88|0,r2=e[c2>>2]|0,$2=i2+r2|0,e[c2>>2]=$2;break}if(s2=h2+88|0,m2=e[s2>>2]|0,t2=(m2|0)>(Y2|0),t2)if(O1){k2=W3-B0|0,D2=m2+k2|0,S2=(D2|0)<(Y2|0),o=S2?Y2:D2,e[s2>>2]=o;break}else{e[s2>>2]=Y2;break}else if(d2){Q2=W3-q|0,G2=m2+Q2|0,L2=(G2|0)>(Y2|0),$=L2?Y2:G2,e[s2>>2]=$;break}else{e[s2>>2]=Y2;break}}while(!1);return P2=e[h5>>2]|0,K2=(P2|0)>0,K2?(O2=e[L1>>2]|0,z2=(O2|0)==0,z2?V2=P2:(U2=h2+104|0,H2=e[U2>>2]|0,W2=n5(H2,P2)|0,V2=W2),A5=W3-V2|0,N1=h2+84|0,e5=e[N1>>2]|0,t5=A5+e5|0,e[N1>>2]=t5,a=0,a|0):(a=0,a|0)}function uQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,e0=e[D>>2]|0,j=(e0|0)==0,j?(a=0,a|0):(p0=(o|0)==0,p0||(C0=e0+104|0,S0=e[C0>>2]|0,Q0=e0+64|0,b0=e[Q0>>2]|0,d=b0+104|0,m=e[d>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=$Q(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=b8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=e0+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,N=e0+48|0,G=N,U=G,Y=e[U>>2]|0,K=G+4|0,a0=K,W=e[a0>>2]|0,r0=o+16|0,s0=r0,z=s0,e[z>>2]=Y,o0=s0+4|0,q=o0,e[q>>2]=W,h0=e0+56|0,t0=h0,u0=t0,c0=e[u0>>2]|0,$0=t0+4|0,l0=$0,Z=e[l0>>2]|0,m0=o+24|0,g0=m0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,d0=n0,e[d0>>2]=Z),e[D>>2]=0,a=1,a|0)}function qS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0;F=C,L=o,N=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(N|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=le(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(d=(M|0)==7,d){e[g>>2]=D,QC(D),M=8;continue}else{if(m=le(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,QC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function K8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0;return K=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,N=e[F>>2]|0,G=(R|0)>(N|0),U=t+68|0,Y=e[U>>2]|0,G?(g=(Y|0)==0,g||(d=Y,m=M9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=d,e[B>>2]=m),e[F>>2]=$,v=M9($)|0,e[U>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=Y,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function HS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0;if(t0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,U=e[D>>2]|0,Y=(U|0)==0,!Y)for(o0=U;e0=o0+4|0,K=e[e0>>2]|0,a0=e[o0>>2]|0,E2(a0),E2(o0),W=(K|0)==0,!W;)o0=K;if(r0=t+80|0,d=e[r0>>2]|0,m=(d|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+d|0,B=J7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||E2(y),M=(g|0)==0,M){q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}else z=0;for(;;){if(L=(g+12|0)+(z<<2)|0,R=e[L>>2]|0,yC(R),F=(z|0)==7,F){z=8;continue}if(N=e[L>>2]|0,E2(N),G=z+1|0,s0=(G|0)==15,s0)break;z=G}E2(g),q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}function VS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=zS(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=wb(o)|0,S=Q+60|0,e[S>>2]=B,b=le(1,180)|0,e[Q>>2]=b,jS(b,o),v=Q+80|0,US(o,v),w=t+64|0,D=w,d=D,e[d>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function hQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0;if(O2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,z0=(w0|0)!=0,z0?(Y0=w0+28|0,a1=e[Y0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if($2=e[x1>>2]|0,b=($2|0)==0,b||(XS($2),G=e[x1>>2]|0,E2(G)),q=x1+12|0,f0=e[q>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,DC(S0),Q0=e[q>>2]|0,b0=e[Q0>>2]|0,E2(b0),E0=e[q>>2]|0,E2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(W0=e[B0>>2]|0,DC(W0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,E2(v0),T0=e[y0>>2]|0,E2(T0)),N0=x1+48|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0){if(F0=(k0|0)==0,F0)p1=P0;else if(L0=k0+16|0,G0=e[L0>>2]|0,K0=(G0|0)>0,K0){if(J0=k0+800|0,H0=e[J0>>2]|0,Z0=25640+(H0<<2)|0,O0=e[Z0>>2]|0,V0=O0+16|0,s1=e[V0>>2]|0,i1=e[P0>>2]|0,as[s1&7](i1),x0=e[L0>>2]|0,o1=(x0|0)>1,o1)for(g1=1;o=e[N0>>2]|0,h1=J0+(g1<<2)|0,m1=e[h1>>2]|0,d1=25640+(m1<<2)|0,u1=e[d1>>2]|0,A1=u1+16|0,c1=e[A1>>2]|0,$1=o+(g1<<2)|0,j0=e[$1>>2]|0,as[c1&7](j0),E1=g1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)g1=E1;a=e[N0>>2]|0,p1=a}else p1=P0;E2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,as[Z1&7](G1),J1=e[M1>>2]|0,q1=(J1|0)>1,q1)for(V1=1;$=e[B1>>2]|0,H1=R1+(V1<<2)|0,Y1=e[H1>>2]|0,X1=25648+(Y1<<2)|0,o2=e[X1>>2]|0,j1=o2+16|0,O1=e[j1>>2]|0,u2=$+(V1<<2)|0,I2=e[u2>>2]|0,as[O1&7](I2),a2=V1+1|0,C2=e[M1>>2]|0,A2=(a2|0)<(C2|0),A2;)V1=a2;g=e[B1>>2]|0,K1=g}else K1=w1;E2(K1)}if(d2=x1+56|0,l2=e[d2>>2]|0,i2=(l2|0)==0,!i2){if(c2=(k0|0)==0,c2)L2=l2;else if(r2=k0+28|0,e2=e[r2>>2]|0,s2=(e2|0)>0,s2){if(QQ(l2),m2=e[r2>>2]|0,t2=(m2|0)>1,t2)for(D2=1;d=e[d2>>2]|0,k2=d+(D2*52|0)|0,QQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,G2=(S2|0)<(Q2|0),G2;)D2=S2;m=e[d2>>2]|0,L2=m}else L2=l2;E2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||vb(w),y=x1+80|0,PS(y),x=x1+20|0,LQ(x),M=x1+32|0,LQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(z0)if(N=w0+4|0,U=e[N>>2]|0,Y=(U|0)>0,Y){for(K=R,p0=U,P2=0;e0=K+(P2<<2)|0,a0=e[e0>>2]|0,W=(a0|0)==0,W?z=p0:(E2(a0),E=e[N>>2]|0,z=E),r0=P2+1|0,s0=(r0|0)<(z|0),!!s0;)I=e[L>>2]|0,K=I,p0=z,P2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;E2(o0),h0=t+12|0,t0=e[h0>>2]|0,j=(t0|0)==0,j||E2(t0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,Z=e[l0>>2]|0,m0=(Z|0)==0,m0||E2(Z),g0=x1+72|0,n0=e[g0>>2]|0,d0=(n0|0)==0,d0||E2(n0),E2(x1)),p2=t,z2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(z2|0))}}function dQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0;if(z0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||E2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,P0=(N0|0)==0,P0||E2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,N=e[F>>2]|0,G=(N|0)>0,G)if(U=t+8|0,Y=e[U>>2]|0,e0=e[Y>>2]|0,K=R<<2,a0=J7(e0,K)|0,W=e[U>>2]|0,e[W>>2]=a0,s0=e[F>>2]|0,z=(s0|0)>1,z)for($0=1;;)if($=e[D>>2]|0,u0=e[U>>2]|0,c0=u0+($0<<2)|0,Z=e[c0>>2]|0,m0=$<<2,g0=J7(Z,m0)|0,f0=e[U>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,d0=$0+1|0,p0=e[F>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(q=(o0|0)>0,q)){for(h0=t+8|0,t0=e[b>>2]|0,j=t+12|0,q0=0;;)if(S0=e[h0>>2]|0,Q0=S0+(q0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(t0<<2)|0,w0=e[j>>2]|0,B0=w0+(q0<<2)|0,e[B0>>2]=y0,_0=q0+1|0,W0=(_0|0)<(o0|0),W0)q0=_0;else{g=j;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function YS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0;if(H0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=H0,$|0):(e[S0>>2]=E0,_0=t+28|0,W0=e[_0>>2]|0,M0=(W0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,q0=r0+4|0,k0=e[q0>>2]|0,z0=(N0|0)>(k0|0),!z0)?($=0,C=H0,$|0):(IQ(t),$=0,C=H0,$|0));if(b0=C,C=C+128|0,P0=t+28|0,F0=e[P0>>2]|0,L0=(F0|0)==0,L0&&IQ(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,dQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=H0,$|0;for(F=t+8|0,N=b,K0=0;;){if(G=(N|0)>64,G?(U=e[G0>>2]|0,Y=(N|0)>(U|0),a=Y?U:N,e0=e[F>>2]|0,K=e0+(K0<<2)|0,a0=e[K>>2]|0,d=N-a|0,W=a0+(d<<2)|0,+mQ(W,b0,a,32),s0=e[F>>2]|0,z=s0+(K0<<2)|0,o0=e[z>>2]|0,q=e[v>>2]|0,h0=o0+(q<<2)|0,m=q+-32|0,t0=o0+(m<<2)|0,j=e[S>>2]|0,u0=j-q|0,pQ(b0,t0,32,h0,u0)):(c0=e[F>>2]|0,$0=c0+(K0<<2)|0,Z=e[$0>>2]|0,m0=Z+(N<<2)|0,g0=e[S>>2]|0,f0=g0-N|0,n0=f0<<2,g4(m0|0,0,n0|0)|0),d0=K0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,N=g,K0=d0}return C=H0,$|0}function fQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0;if(ge=C,S=t+4|0,b=e[S>>2]|0,a2=b+28|0,S5=e[a2>>2]|0,a6=t+104|0,M6=e[a6>>2]|0,C6=M6+60|0,B6=e[C6>>2]|0,V6=t+48|0,s9=e[V6>>2]|0,v=t+40|0,U=e[v>>2]|0,h0=S5+(U<<2)|0,n0=e[h0>>2]|0,_0=(n0|0)/2&-1,L0=s9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,O2=e[m2>>2]|0,_5=(O2|0)==-1,_5))return $=0,$|0;y2=eb(t)|0,y5=(y2|0)==-1;do if(y5){if(J2=e[m2>>2]|0,I3=(J2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,d=X3,z3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,G5=e[Y3>>2]|0,$6=(Q3|0)==(G5|0),n3=t+44|0,$6){e[n3>>2]=0,d=n3,z3=0;break}else{e[n3>>2]=y2,d=n3,z3=y2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[v>>2]|0,E6=S5+(U3<<2)|0,b3=e[E6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,i6=S5+(z3<<2)|0,j5=e[i6>>2]|0,M3=(j5|0)/4&-1,h3=D3+M3|0,J3=(j5|0)/2&-1,d6=h3+J3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(d6|0),L6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,f6=(r6|0)==0,!f6)for(y9=r6;b6=y9+4|0,N6=e[b6>>2]|0,j6=e[y9>>2]|0,E2(j6),E2(y9),v6=(N6|0)==0,!v6;)y9=N6;R3=o+80|0,n6=e[R3>>2]|0,o6=(n6|0)==0,o6||(K3=o+68|0,F3=e[K3>>2]|0,W3=o+76|0,e6=e[W3>>2]|0,R6=e6+n6|0,l6=J7(F3,R6)|0,e[K3>>2]=l6,o3=e[R3>>2]|0,J6=e[W3>>2]|0,A3=J6+o3|0,e[W3>>2]=A3,e[R3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,A6=o+24|0,e[A6>>2]=H6,D6=e[v>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=tb(t)|0,U6=(g9|0)==0,Y6=j0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,r9=(e9|0)==0,Y9=P3|r9,o9=j0+8|0,Y9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,h9=O6,n9=e[h9>>2]|0,C9=ns(O3|0,n9|0,1,0)|0,B9=Z6,Q9=t9,d9=Q9,e[d9>>2]=C9,f9=Q9+4|0,V9=f9,e[V9>>2]=B9,y6=o+56|0,q6=y6,w=q6,e[w>>2]=O3,D=q6+4|0,y=D,e[y>>2]=n9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,N=F,G=e[N>>2]|0,Y=o+48|0,e0=Y,K=e0,e[K>>2]=R,a0=e0+4|0,W=a0,e[W>>2]=G,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,z=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=z,q=j0+4|0,t0=+s[q>>2],j=+s[B6>>2],u0=t0>j,u0?(s[B6>>2]=t0,c0=t0):c0=j,$0=+bb(c0,t),s[B6>>2]=$0,s[q>>2]=$0,l0=b+4|0,Z=e[l0>>2]|0,m0=Z<<2,g0=m0+7|0,f0=g0&-8,d0=e[c6>>2]|0,p0=f0+d0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=M9(8)|0,W0=e[R3>>2]|0,M0=W0+d0|0,e[R3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=M9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,q0=N0,k0=0,G0=g,O0=f0):(q0=E0,k0=d0,G0=Z,O0=S0),P0=q0+k0|0,z0=k0+f0|0,e[c6>>2]=z0,e[o>>2]=P0,F0=G0<<2,K0=F0+7|0,J0=K0&-8,H0=J0+z0|0,Z0=(H0|0)>(O0|0),Z0?(V0=(q0|0)==0,V0||(s1=q0,Y0=M9(8)|0,i1=e[R3>>2]|0,o1=i1+z0|0,e[R3>>2]=o1,h1=e[S6>>2]|0,g1=Y0+4|0,e[g1>>2]=h1,e[Y0>>2]=s1,e[S6>>2]=Y0),e[C0>>2]=J0,m1=M9(J0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,u1=m1,A1=0,a1=m,Y5=J0):(u1=q0,A1=z0,a1=G0,Y5=O0),d1=u1+A1|0,c1=A1+J0|0,e[c6>>2]=c1,e[j0>>2]=d1,$1=(a1|0)>0;e:do if($1)for(E1=t+8|0,k1=c1,M1=Y5,_1=u1,a9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,U1=M9(8)|0,D1=e[R3>>2]|0,P1=D1+k1|0,e[R3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=M9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,V1=0):(H1=_1,V1=k1),J1=H1+V1|0,Y1=V1+w1|0,e[c6>>2]=Y1,X1=e[j0>>2]|0,o2=X1+(a9<<2)|0,e[o2>>2]=J1,j1=e[j0>>2]|0,O1=j1+(a9<<2)|0,u2=e[O1>>2]|0,W1=e[E1>>2]|0,I2=W1+(a9<<2)|0,A2=e[I2>>2]|0,ce(u2|0,A2|0,p1|0)|0,K1=e[j0>>2]|0,d2=K1+(a9<<2)|0,l2=e[d2>>2]|0,i2=l2+(L0<<2)|0,c2=e[o>>2]|0,r2=c2+(a9<<2)|0,e[r2>>2]=i2,$2=a9+1|0,e2=e[l0>>2]|0,s2=($2|0)<(e2|0),!s2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,_1=Q,a9=$2}while(!1);if(t2=e[m2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[m2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(G2=S5+4|0,L2=e[G2>>2]|0,P2=(L2|0)/2&-1,p2=h3-P2|0,K2=(p2|0)>0,!K2)return $=1,$|0;if(z2=e[M6>>2]|0,ib(z2,p2),U2=e[m3>>2]|0,H2=U2-p2|0,e[m3>>2]=H2,W2=e[l0>>2]|0,A5=(W2|0)>0,A5&&(V2=t+8|0,N1=e[V2>>2]|0,e5=e[N1>>2]|0,F5=e5+(p2<<2)|0,t5=H2<<2,oA(e5|0,F5|0,t5|0)|0,Z2=e[l0>>2]|0,I5=(Z2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[V2>>2]|0,V5=b5+(g5<<2)|0,b2=e[V5>>2]|0,B5=b2+(p2<<2)|0,o5=B<<2,oA(b2|0,B5|0,o5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return T5=e[v>>2]|0,e[T3>>2]=T5,m5=e[d>>2]|0,e[v>>2]=m5,e[V6>>2]=P2,x5=e[m2>>2]|0,q5=(x5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,H3=x,X5=H3,_3=e[X5>>2]|0,t3=H3+4|0,s6=t3,G3=e[s6>>2]|0,V3=ns(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=V3,J5=g3+4|0,H5=J5,e[H5>>2]=c3,$=1,$|0):(L5=x5-p2|0,Y2=(L5|0)<1,a=Y2?-1:L5,e[m2>>2]=a,p5=(a|0)>(P2|0),p5?(c5=(p2|0)<0,F2=c5<<31>>31,v5=x,z5=v5,i3=e[z5>>2]|0,E5=v5+4|0,d3=E5,W5=e[d3>>2]|0,r3=ns(i3|0,W5|0,p2|0,F2|0)|0,a3=Z6,B3=x,N5=B3,e[N5>>2]=r3,Z5=B3+4|0,x3=Z5,e[x3>>2]=a3,$=1,$|0):($5=a+p2|0,u5=$5-P2|0,T1=(u5|0)<0,D5=T1<<31>>31,h5=x,l5=h5,j2=e[l5>>2]|0,h2=h5+4|0,w5=h2,i5=e[w5>>2]|0,s5=ns(j2|0,i5|0,u5|0,D5|0)|0,d5=Z6,f5=x,r5=f5,e[r5>>2]=s5,M5=f5+4|0,X2=M5,e[X2>>2]=d5,$=1,$|0))}function zS(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0;if(r5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,c2=(O1|0)<1,c2)||(G2=e[B>>2]|0,V2=(G2|0)<64,V2)||(b2=B+4|0,L5=e[b2>>2]|0,S=(L5|0)<(G2|0),S))return $=1,$|0;N=B+3656|0,o0=e[N>>2]|0,J2=t,M5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(M5|0));g0=le(1,136)|0,w0=t+104|0,e[w0>>2]=g0,z0=t+4|0,e[z0>>2]=o,Y0=e[Z1>>2]|0,a1=Y0+-1|0,B1=q8(a1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=le(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=le(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=le(1,20)|0,e[k1>>2]=_1,R1=le(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,bC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,bC(P1,x1),J1=e[B>>2]|0,q1=q8(J1)|0,H1=q1+-7|0,V1=g0+4|0,e[V1>>2]=H1,Y1=e[b2>>2]|0,X1=q8(Y1)|0,o2=X1+-7|0,j1=g0+8|0,e[j1>>2]=o2,u2=(a|0)==0;e:do if(u2){if(y2=B+2848|0,Q5=e[y2>>2]|0,T5=(Q5|0)==0,T5&&(m5=B+24|0,x5=e[m5>>2]|0,q5=le(x5,56)|0,e[y2>>2]=q5,Y2=e[m5>>2]|0,p5=(Y2|0)>0,p5)){for(Q1=Y2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(h5=e[y2>>2]|0,l5=h5+(w5*56|0)|0,j2=Kb(l5,u5)|0,b=(j2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,_C(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,d5=0;A1=(B+1824|0)+(d5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?I1=p1:(_C(c1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=d5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,d5=j0;return hQ(t),$=-1,$|0}}else{if(W1=g0+20|0,I2=e[B>>2]|0,xQ(W1,I2),a2=g0+32|0,C2=e[b2>>2]|0,xQ(a2,C2),A2=B+2848|0,K1=e[A2>>2]|0,d2=(K1|0)==0,d2&&(l2=B+24|0,i2=e[l2>>2]|0,r2=le(i2,56)|0,e[A2>>2]=r2,$2=e[l2>>2]|0,e2=($2|0)>0,e2&&(s2=B+1824|0,m2=e[s2>>2]|0,_Q(r2,m2)|0,t2=e[l2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[A2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,_Q(D2,L2)|0,P2=S2+1|0,p2=e[l2>>2]|0,K2=(P2|0)<(p2|0),K2;)S2=P2;O2=B+28|0,z2=e[O2>>2]|0,U2=le(z2,52)|0,H2=g0+56|0,e[H2>>2]=U2,W2=e[O2>>2]|0,A5=(W2|0)>0;t:do if(A5)for(N1=B+2868|0,e5=o+8|0,t5=U2,h2=0;;){if(F5=t5+(h2*52|0)|0,_5=(B+2852|0)+(h2<<2)|0,Z2=e[_5>>2]|0,I5=e[Z2>>2]|0,b5=B+(I5<<2)|0,V5=e[b5>>2]|0,g5=(V5|0)/2&-1,B5=e[e5>>2]|0,Sb(F5,Z2,N1,g5,B5),o5=h2+1|0,R2=e[O2>>2]|0,M2=(o5|0)<(R2|0),!M2)break t;d=e[H2>>2]|0,t5=d,h2=o5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,G=M9(F)|0,U=t+8|0,e[U>>2]=G,Y=M9(F)|0,e0=t+12|0,e[e0>>2]=Y,K=(R|0)>0,K&&(a0=le(x,4)|0,e[G>>2]=a0,W=(R|0)>1,W))for(z=1;m=e[U>>2]|0,r0=le(x,4)|0,s0=m+(z<<2)|0,e[s0>>2]=r0,q=z+1|0,h0=(q|0)<(R|0),h0;)z=q;if(t0=t+36|0,e[t0>>2]=0,j=t+40|0,e[j>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,Z=B+16|0,m0=e[Z>>2]|0,f0=le(m0,4)|0,n0=g0+48|0,e[n0>>2]=f0,d0=B+20|0,p0=e[d0>>2]|0,C0=le(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[Z>>2]|0,b0=(Q0|0)>0,b0)for(i5=0;B0=(B+800|0)+(i5<<2)|0,_0=e[B0>>2]|0,W0=25640+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(i5<<2)|0,P0=e[N0>>2]|0,q0=pi[T0&15](t,P0)|0,k0=e[n0>>2]|0,F0=k0+(i5<<2)|0,e[F0>>2]=q0,L0=i5+1|0,G0=e[Z>>2]|0,K0=(L0|0)<(G0|0),K0;)i5=L0;if(E0=e[d0>>2]|0,y0=(E0|0)>0,y0)s5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(s5<<2)|0,H0=e[J0>>2]|0,Z0=25648+(H0<<2)|0,O0=e[Z0>>2]|0,V0=O0+8|0,s1=e[V0>>2]|0,i1=(B+1568|0)+(s5<<2)|0,x0=e[i1>>2]|0,o1=pi[s1&15](t,x0)|0,h1=e[S0>>2]|0,g1=h1+(s5<<2)|0,e[g1>>2]=o1,m1=s5+1|0,d1=e[d0>>2]|0,u1=(m1|0)<(d1|0),u1)s5=m1;else{$=0;break}return $|0}function IQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,C=C+64|0,g=M0,d=t+20|0,y=e[d>>2]|0,K=y<<2,o=K,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,N=u0+(B0<<2)|0,e[N>>2]=F,G=B0+1|0,U=(b|0)>(G|0),U;)B0=G;if(Y=e[Q0>>2]|0,e0=b-Y|0,+mQ(u0,g,e0,16),a0=e[d>>2]|0,W=e[Q0>>2]|0,a=a0-W|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,pQ(g,s0,16,r0,W),z=e[d>>2]|0,o0=(z|0)>0,o0)for(q=e[S>>2]|0,h0=q+(w0<<2)|0,t0=e[h0>>2]|0,_0=0;j=u0+(_0<<2)|0,c0=e[j>>2]|0,$0=_0^-1,l0=z+$0|0,Z=t0+(l0<<2)|0,e[Z>>2]=c0,m0=_0+1|0,g0=(z|0)>(m0|0),g0;)_0=m0;if(f0=w0+1|0,n0=e[m>>2]|0,d0=n0+4|0,p0=e[d0>>2]|0,S0=(f0|0)<(p0|0),S0)b=z,w0=f0;else break}C=M0}function JS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0;$2=C,q2(o,5653314,24),m=e[t>>2]|0,q2(o,m,16),I=t+4|0,U=e[I>>2]|0,q2(o,U,24),h0=e[I>>2]|0,n0=(h0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(b1=L0+O1|0,E=f[b1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(h0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(h0|0);e:do if(M){if(q2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,N=F<<24>>24,G=N+-1|0,q2(o,G,5),Y=e[I>>2]|0,e0=(Y|0)>1,e0)for(w=Y,H1=0,W1=1;;){if(K=e[L>>2]|0,a0=K+W1|0,W=f[a0>>0]|0,r0=W1+-1|0,s0=K+r0|0,z=f[s0>>0]|0,o0=W<<24>>24>z<<24>>24,o0)for(q=z<<24>>24,t0=W<<24>>24,c0=w,V1=H1,l2=q;;)if(j=W1-V1|0,u0=c0-V1|0,$0=q8(u0)|0,q2(o,j,$0),l0=l2+1|0,o2=(l0|0)==(t0|0),d=e[I>>2]|0,o2){g0=d,Y1=W1;break}else c0=d,V1=W1,l2=l0;else g0=w,Y1=H1;if(Z=W1+1|0,m0=(Z|0)<(g0|0),m0)w=g0,H1=Y1,W1=Z;else{$=g0,q1=Y1,u2=Z;break}}else $=Y,q1=0,u2=1;f0=u2-q1|0,d0=$-q1|0,p0=q8(d0)|0,q2(o,f0,p0)}else{q2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,a2=0;;){if(E0=b0+a2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){I2=a2;break t}if(B0=a2+1|0,W0=(B0|0)<(C0|0),W0)a2=B0;else{I2=B0;break}}else I2=0;while(!1);if(M0=(I2|0)==(C0|0),M0){if(q2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,C2=0;;)if(P0=e[N0>>2]|0,q0=P0+C2|0,k0=f[q0>>0]|0,z0=k0<<24>>24,F0=z0+-1|0,q2(o,F0,5),G0=C2+1|0,K0=e[I>>2]|0,J0=(G0|0)<(K0|0),J0)C2=G0;else break e}if(q2(o,1,1),H0=e[I>>2]|0,Z0=(H0|0)>0,Z0)for(O0=t+8|0,A2=0;V0=e[O0>>2]|0,s1=V0+A2|0,Y0=f[s1>>0]|0,i1=Y0<<24>>24==0,i1?q2(o,0,1):(q2(o,1,1),o1=e[O0>>2]|0,h1=o1+A2|0,g1=f[h1>>0]|0,m1=g1<<24>>24,d1=m1+-1|0,q2(o,d1,5)),u1=A2+1|0,A1=e[I>>2]|0,c1=(u1|0)<(A1|0),c1;)A2=u1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,q2(o,$1,4),E1=e[a1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,q2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,q2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,q2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,q2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=Yb(t)|0,c2=D1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=n5(Z1,P1)|0,c2=G1;else break;if(x1=(c2|0)>0,x1)for(K1=0;J1=e[I1>>2]|0,Q=J1+(K1<<2)|0,B=e[Q>>2]|0,d2=(B|0)>-1,i2=0-B|0,S=d2?B:i2,b=e[L1>>2]|0,q2(o,S,b),v=K1+1|0,X1=(v|0)==(c2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Gu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0;return e0=C,g=(o|0)<0,g||(d=t+12|0,y=e[d>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,N=e[F>>2]|0,G=N+(o<<2)|0,U=e[G>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,q2(a,U,B),S=e[d>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function nE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,d=(g|0)>0,!d||(m=Uu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function KS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,q=o0<<2,d=q,h0=C,C=C+((1*d|0)+15&-16)|0,t0=(o0|0)>0;e:do if(t0){for(j=t+16|0,l0=0;;){if(G=Uu(t,a)|0,U=(G|0)==-1,U){g=-1;break}if(Y=e[j>>2]|0,e0=e[t>>2]|0,K=n5(e0,G)|0,a0=Y+(K<<2)|0,W=h0+(l0<<2)|0,e[W>>2]=a0,r0=l0+1|0,z=(r0|0)<(o0|0),z)l0=r0;else{u0=e0;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=t0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(Z=0,g0=0;;){for(m0=0;v=h0+(m0<<2)|0,w=e[v>>2]|0,D=w+(Z<<2)|0,y=+s[D>>2],x=m0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,N=m0+1|0,$0=(N|0)==(o0|0),!$0;)m0=N;if(B=Z+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)Z=B,g0=S;else{g=0;break}}return C=n0,g|0}function WS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0;if(e5=C,K=t+8|0,a0=e[K>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(J1=t+16|0,e2=0;;){if(t0=Uu(t,a)|0,j=(t0|0)==-1,j){g=-1,N1=29;break}if(u0=e[J1>>2]|0,c0=e[t>>2]|0,$0=n5(c0,t0)|0,l0=(c0|0)>0,l0){for(Z=(c0|0)>1,V2=Z?c0:1,m2=e2,p2=0;m0=p2+1|0,e0=p2+$0|0,g0=u0+(e0<<2)|0,n0=+s[g0>>2],d0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(m0|0)<(c0|0),Q0;)m2=d0,p2=m0;I2=e2+V2|0,s2=I2}else s2=e2;if(W=(s2|0)<($|0),W)e2=s2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(z=Uu(t,a)|0,o0=(z|0)==-1,o0){g=-1,N1=29;break e}switch(q=e[i1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=z,y=q,N1=19;break t}case 3:{S=z,x=q,N1=21;break t}case 7:{I=z,v=q,N1=13;break t}case 6:{E=z,w=q,N1=15;break t}case 8:{d=q,m=z,N1=12;break t}case 5:{Q=z,D=q,N1=17;break t}case 1:{K1=z,l2=q,P2=t2,A5=0;break t}case 2:{b=z,M=q,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=d+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,W0=+s[_0>>2],M0=W0+y0,s[_0>>2]=M0,N0=b0,q0=d,k2=w0,K2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,q0=v,k2=t2,K2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,Z0=J0,V0=w,D2=t2,O2=0,N1=16):(N1|0)==17?(N1=0,g1=Q*5|0,d1=g1,A1=D,S2=t2,z2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,D1=F1,Z1=x,G2=t2,H2=0,N1=22):(N1|0)==23&&(N1=0,Y1=b<<1,o2=Y1,O1=M,L2=t2,W2=0,N1=24),(N1|0)==14&&(N1=0,T0=K2+1|0,Y=K2+N0|0,P0=q0+(Y<<2)|0,k0=+s[P0>>2],z0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],K0=G0+k0,s[L0>>2]=K0,Z0=N0,V0=q0,D2=z0,O2=T0,N1=16),(N1|0)==16&&(N1=0,H0=O2+1|0,U=O2+Z0|0,O0=V0+(U<<2)|0,s1=+s[O0>>2],Y0=D2+1|0,x0=o+(D2<<2)|0,o1=+s[x0>>2],h1=o1+s1,s[x0>>2]=h1,d1=Z0,A1=V0,S2=Y0,z2=H0,N1=18),(N1|0)==18&&(N1=0,m1=z2+1|0,G=z2+d1|0,u1=A1+(G<<2)|0,c1=+s[u1>>2],a1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+c1,s[j0>>2]=I1,B1=d1,v1=A1,Q2=a1,U2=m1,N1=20),(N1|0)==20&&(N1=0,p1=U2+1|0,N=U2+B1|0,w1=v1+(N<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,b1=o+(Q2<<2)|0,_1=+s[b1>>2],R1=_1+k1,s[b1>>2]=R1,D1=B1,Z1=v1,G2=L1,H2=p1,N1=22),(N1|0)==22&&(N1=0,U1=H2+1|0,F=H2+D1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],V1=H1+G1,s[q1>>2]=V1,o2=D1,O1=Z1,L2=x1,W2=U1,N1=24),(N1|0)==24&&(N1=0,X1=W2+1|0,R=W2+o2|0,j1=O1+(R<<2)|0,u2=+s[j1>>2],W1=L2+1|0,a2=o+(L2<<2)|0,C2=+s[a2>>2],A2=C2+u2,s[a2>>2]=A2,K1=o2,l2=O1,P2=W1,A5=X1),L=A5+K1|0,d2=l2+(L<<2)|0,i2=+s[d2>>2],c2=P2+1|0,r2=o+(P2<<2)|0,$2=+s[r2>>2],r0=$2+i2,s[r2>>2]=r0,s0=(c2|0)<($|0),s0)t2=c2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function ZS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,N=(S|0)>0,!N||(r0=(a|0)/($|0)&-1,s0=d+a|0,z=(s0|0)/($|0)&-1,o0=(r0|0)<(z|0),!o0))return I=0,I|0;for(q=t+16|0,j=0,$0=r0;;){if(t0=Uu(t,g)|0,b=(t0|0)==-1,b){I=-1,g0=8;break}if(v=e[q>>2]|0,w=e[t>>2]|0,D=n5(w,t0)|0,y=(w|0)>0,y)for(c0=j,Z=$0,m0=0;;)if(Q=m0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,G=F+(Z<<2)|0,U=+s[G>>2],Y=U+M,s[G>>2]=Y,e0=(L|0)==($|0),K=e0&1,E=K+Z|0,m=e0?0:L,a0=m0+1|0,W=(a0|0)<(w|0),W)c0=m,Z=E,m0=a0;else{u0=m,l0=E;break}else u0=j,l0=$0;if(h0=(l0|0)<(z|0),h0)j=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Uu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,d=e[g>>2]|0,y=t+36|0,K=e[y>>2]|0,u0=wC(o,K)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,h1=J0+(u0<<2)|0,g1=e[h1>>2]|0,m=(g1|0)<0,m){I=g1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=g1&32767,b=B-S|0,m1=b,u1=E;break}return v=g1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,vC(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,u1=0;while(!1);if(N=wC(o,d)|0,G=(N|0)<0,U=(d|0)>1,Y=G&U,Y)for(j0=d;;)if(e0=j0+-1|0,a0=wC(o,e0)|0,W=(a0|0)<0,r0=(e0|0)>1,s0=W&r0,s0)j0=e0;else{$=W,a1=a0,$1=e0;break}else $=G,a1=N,$1=d;if($)return a=-1,a|0;if(z=a1>>>16,o0=a1<<16,q=z|o0,h0=q>>>8,t0=h0&16711935,j=q<<8,c0=j&-16711936,$0=t0|c0,l0=$0>>>4,Z=l0&252645135,m0=$0<<4,g0=m0&-252645136,f0=Z|g0,n0=f0>>>2,d0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=d0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-u1|0,W0=(_0|0)>1,W0)for(M0=t+20|0,T0=e[M0>>2]|0,P0=_0,d1=m1,c1=u1;;)if(N0=P0>>1,q0=N0+c1|0,k0=T0+(q0<<2)|0,z0=e[k0>>2]|0,F0=z0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+c1|0,K0=F0?N0:0,H0=d1-K0|0,Z0=H0-G0|0,O0=(Z0|0)>1,O0)P0=Z0,d1=H0,c1=G0;else{A1=G0;break}else A1=u1;return V0=t+28|0,s1=e[V0>>2]|0,Y0=s1+A1|0,i1=f[Y0>>0]|0,x0=i1<<24>>24,o1=(x0|0)>($1|0),o1?(vC(o,$1),a=-1,a|0):(vC(o,x0),a=A1,a|0)}function jS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0;for(h1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,z=e[F>>2]|0,m0=t+4|0,e[m0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,H0=t+12|0,e[H0>>2]=J0,e[t>>2]=z,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=le(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,bC(x,128),M=e[y>>2]|0,Y0=0;L=+(Y0|0),R=L*.024736950028266088,N=+Vn(+R),G=N,U=M+(Y0<<2)|0,Y=G*G,s[U>>2]=Y,e0=Y0+1|0,s1=(e0|0)==128,!s1;)Y0=e0;for(K=t+40|0,e[K>>2]=2,a0=t+44|0,e[a0>>2]=4,W=t+56|0,e[W>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,q=t+88|0,e[q>>2]=9,h0=t+92|0,e[h0>>2]=8,t0=t+104|0,e[t0>>2]=13,j=t+108|0,e[j>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(Z=g0<<2,f0=M9(Z)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Vn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,W0=M0+B0,v0=i1+1|0,O0=(v0|0)==(g0|0),O0){a=W0;break}else M0=W0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,P0=x0+1|0,V0=(P0|0)==7,V0)break;$=((t+40|0)+(P0<<4)|0)+4|0,d=e[$>>2]|0,g0=d,x0=P0}q0=z*7|0,z0=le(q0,144)|0,F0=t+152|0,e[F0>>2]=z0,L0=e[Z0>>2]|0,G0=le(L0,4)|0,K0=t+160|0,e[K0>>2]=G0}function XS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0;G=C,o=t+16|0,DC(o),a=t+48|0,v=e[a>>2]|0,E2(v),D=t+64|0,y=e[D>>2]|0,E2(y),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,R=e[L>>2]|0,E2(R),F=t+112|0,$=e[F>>2]|0,E2($),g=t+128|0,d=e[g>>2]|0,E2(d),m=t+144|0,I=e[m>>2]|0,E2(I),E=t+36|0,Q=e[E>>2]|0,E2(Q),B=t+152|0,S=e[B>>2]|0,E2(S),b=t+160|0,w=e[b>>2]|0,E2(w),g4(t|0,0,180)|0}function eb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0;if(X1=C,d=t+4|0,m=e[d>>2]|0,R=m+28|0,s0=e[R>>2]|0,Z=s0+2868|0,E0=t+104|0,q0=e[E0>>2]|0,V0=e[q0>>2]|0,A1=V0+168|0,v1=e[A1>>2]|0,I=V0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=V0+164|0,F=e[L>>2]|0,N=(M|0)>(F|0),N&&(e[L>>2]=M,G=V0+160|0,U=e[G>>2]|0,Y=M<<2,e0=J7(U,Y)|0,e[G>>2]=e0),K=(o|0)<(y|0),K)for(a0=V0+156|0,W=V0+160|0,r0=t+8|0,z=V0+40|0,o0=V0+152|0,x1=o;;){if(q=e[a0>>2]|0,h0=q+1|0,t0=(q|0)>23,$=t0?24:h0,e[a0>>2]=$,j=e[V0>>2]|0,u0=(j|0)>0,u0){for(G1=0,V1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,d0=n5(n0,x1)|0,p0=f0+(d0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=rb(V0,Z,p0,z,Q0)|0,y0=b0|V1,w0=G1+1|0,B0=e[V0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,V1=y0;else{g=y0;break}W0=x1+2|0,M0=e[W>>2]|0,v0=M0+(W0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(P0=M0+(x1<<2)|0,e[P0>>2]=1,k0=x1+1|0,z0=M0+(k0<<2)|0,e[z0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,K0=(x1|0)>0,K0&&(J0=x1+-1|0,H0=M0+(J0<<2)|0,e[H0>>2]=1)),Z0=g&4,O0=(Z0|0)==0,O0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[W>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(s1=x1+1|0,Z1=(s1|0)==(y|0),Z1)break;x1=s1}if(Y0=e[I>>2]|0,i1=n5(Y0,y)|0,e[A1>>2]=i1,x0=t+48|0,o1=e[x0>>2]|0,h1=t+40|0,g1=e[h1>>2]|0,m1=s0+(g1<<2)|0,d1=e[m1>>2]|0,u1=(d1|0)/4&-1,c1=u1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,j0=($1|0)/2&-1,E1=c1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=V0+176|0,w1=e[B1>>2]|0,k1=i1-Y0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=V0+160|0,J1=w1;;){if(R1=(J1|0)<(p1|0),!R1){a=1,Y1=22;break}if(e[B1>>2]=J1,F1=(J1|0)/(Y0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,Q=(J1|0)>(o1|0),H1=Q&E,b1=Y0+J1|0,H1){q1=J1,Y1=21;break}if(_1=(b1|0)<(k1|0),_1)J1=b1;else{a=-1,Y1=22;break}}return(Y1|0)==21?(B=V0+172|0,e[B>>2]=q1,a=0,a|0):(Y1|0)==22?a|0:0}function tb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,d=e[g>>2]|0,y=e[d>>2]|0,K=t+4|0,u0=e[K>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,d0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=d0-Q|0,S=Q+d0|0,b=(m|0)==0,b?(U=e[f0>>2]|0,Y=(U|0)/4&-1,a=Y,$=Y):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,N=e[F>>2]|0,G=(N|0)/4&-1,a=G,$=M),C0=B-$|0,S0=S+a|0,e0=y+172|0,a0=e[e0>>2]|0,W=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=W&r0,b0)return o=1,o|0;if(s0=y+8|0,z=e[s0>>2]|0,o0=(C0|0)/(z|0)&-1,q=(S0|0)/(z|0)&-1,h0=(o0|0)<(q|0),!h0)return o=0,o|0;for(t0=y+160|0,j=e[t0>>2]|0,Q0=o0;;){if(l0=j+(Q0<<2)|0,Z=e[l0>>2]|0,m0=(Z|0)==0,c0=Q0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(q|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0;if(U=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,N=F+(L<<2)|0,g=M-L|0,d=g<<2,oA(F|0,N|0,d|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function rb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0;if(m3=C,K=t+4|0,a0=e[K>>2]|0,c2=t+12|0,G2=+s[c2>>2],V2=a0<<2,x=V2,b2=C,C=C+((1*x|0)+15&-16)|0,L5=t+156|0,h2=e[L5>>2]|0,F2=(h2|0)>5,N5=(h2|0)/2&-1,d=F2?N5:2,W=o+60|0,$0=+s[W>>2],Q0=N5+-2|0,N0=+(Q0|0),Z0=$0-N0,d1=Z0<0,E6=d1?0:Z0,B1=E6>$0,b3=B1?$0:E6,D1=(a0|0)>0,D1)for(o2=t+36|0,l2=e[o2>>2]|0,Y5=0;r2=a+(Y5<<2)|0,$2=+s[r2>>2],e2=l2+(Y5<<2)|0,s2=+s[e2>>2],m2=s2*$2,t2=b2+(Y5<<2)|0,s[t2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(a0|0),!Q3;)Y5=k2;D2=t+16|0,EQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,P2=b2+4|0,p2=+s[P2>>2],K2=p2,O2=K2*K2,z2=O2*.7,U2=z2+L2,H2=b2+8|0,W2=+s[H2>>2],A5=W2,N1=A5*A5,e5=N1*.2,F5=U2+e5,t5=F5,_5=g+140|0,Z2=e[_5>>2]|0,I5=(Z2|0)==0,I5?(b5=g+136|0,V5=+s[b5>>2],g5=V5+t5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=t5,N=B5,Y2=g5):(o5=g+132|0,R2=+s[o5>>2],M2=R2+t5,s[o5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],T5=Q5+t5,s[y2>>2]=T5,N=o5,Y2=M2),m5=(g+72|0)+(Z2<<2)|0,x5=+s[m5>>2],q5=Y2-x5,s[N>>2]=q5,s[m5>>2]=t5,p5=e[_5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[_5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=Y2*.0625,h5=(s[w2>>2]=D5,e[w2>>2]|0),l5=h5&2147483647,j2=+(l5>>>0),w5=j2*7177114298428933e-22,i5=w5+-764.6162109375,s5=i5,d5=s5*.5,J2=d5+-15,f5=J2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,P0=S5|1,q0=b2+(P0<<2)|0,k0=+s[q0>>2],z0=k0*k0,F0=z0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,K0=+(G0>>>0),J0=K0*35885571492144663e-23,H0=J0+-382.30810546875,O0=H0>1,Y0=b2+(s1<<2)|0,s[Y0>>2]=e0,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;o1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=o1,T0=F,S5=i1}while(!1);if(r5=(d|0)>0,r5)l3=0,z3=0;else{for(n3=0,i6=0;;){if(h1=($+(n3<<4)|0)+4|0,g1=e[h1>>2]|0,m1=(g1|0)>0,m1)for(u1=$+(n3<<4)|0,A1=e[u1>>2]|0,c1=($+(n3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=a1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(g1|0),k1)c3=w1,Y3=v1;else{G3=w1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*G3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=b1P1,S=x1?P1:b1,J1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,V1=e[_1>>2]|0,Y1=V1+1|0,X1=(V1|0)>15,D=X1?0:Y1,e[_1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],u2=O1+b3,W1=q1>u2,I2=i6|5,j5=W1?I2:i6,a2=(o+32|0)+(n3<<2)|0,C2=+s[a2>>2],A2=C2-b3,K1=J1>2]|0,c5=(X2|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,G5=0;;)if(u0=c0+G5|0,l0=b2+(u0<<2)|0,Z=+s[l0>>2],m0=g0+(G5<<2)|0,f0=+s[m0>>2],n0=f0*Z,d0=n0+g3,p0=G5+1|0,C0=(p0|0)<(X2|0),C0)g3=d0,G5=p0;else{V3=d0;break}else V3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],d3=y0*V3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],W0=d3<_0,i3=W0?_0:d3,M0=d3>_0,b=M0?_0:d3,$6=0,U3=E,L3=-99999,D3=99999;;)if(s0=(U3|0)<1,w=s0?16:-1,v=w+U3|0,z=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[z>>2],q=L3o0,G=t0?o0:D3,j=$6+1|0,J5=(j|0)==(d|0),J5){L=h0,U=G;break}else $6=j,U3=v,L3=h0,D3=G;if(v5=b-U,z5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=d3,W5=e[r3>>2]|0,a3=W5+1|0,B3=(W5|0)>15,y=B3?0:a3,e[r3>>2]=y,Z5=(o+4|0)+(l3<<2)|0,x3=+s[Z5>>2],f3=x3+b3,w3=z5>f3,X3=z3|5,M3=w3?X3:z3,H3=(o+32|0)+(l3<<2)|0,X5=+s[H3>>2],_3=X5-b3,t3=v5<_3,s6=M3|2,J3=t3?s6:M3,r0=l3+1|0,H5=(r0|0)==7,H5){a6=J3;break}else l3=r0,z3=J3}return C=m3,a6|0}function el(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,V8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0;if(Ae=C,C=C+4912|0,z6=Ae+1328|0,Se=Ae+1064|0,Ie=Ae+804|0,Pt=Ae+544|0,F4=Ae+284|0,t8=Ae+24|0,$8=Ae+20|0,Zt=Ae+16|0,Ot=Ae+12|0,qt=Ae+8|0,T4=Ae+4|0,st=Ae,a0=o+1296|0,W=e[a0>>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,O3=o+1284|0,y6=e[O3>>2]|0,w9=(y6|0)>0,w9){for(mt=0;r4=Se+(mt<<2)|0,e[r4>>2]=-200,v4=mt+1|0,k4=(v4|0)==(y6|0),!k4;)mt=v4;if(w9){for(Z3=0;Ce=Ie+(Z3<<2)|0,e[Ce>>2]=-200,r0=Z3+1|0,fe=(r0|0)==(y6|0),!fe;)Z3=r0;if(w9){for(l0=y6<<2,g4(Pt|0,0,l0|0)|0,_9=0;b0=F4+(_9<<2)|0,e[b0>>2]=1,P0=_9+1|0,z4=(P0|0)==(y6|0),!z4;)_9=P0;if(w9){if(u1=y6<<2,g4(t8|0,-1,u1|0)|0,w1=(y6|0)>1,!w1)return a4=0,C=Ae,a4|0;for(P1=r6+-1|0,j1=W+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ve=F,S9=0,S4=0;;){Re=S9+1|0,Fe=o+(Re<<2)|0,Ge=e[Fe>>2]|0,qe=z6+(S9*56|0)|0,O4=qe,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[qe>>2]=ve,He=(z6+(S9*56|0)|0)+4|0,e[He>>2]=Ge,J9=(Ge|0)<(r6|0),s8=J9?Ge:P1,Ve=(s8|0)<(ve|0),Ve)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,W8=0,Z8=0;else for(xe=ve,pt=0,J4=0,Ke=0,se=0,b4=0,gt=0,E3=0,F9=0,ht=0,b9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,Y=+s[he>>2],Ue=Y*7.314285755157471,Ee=Ue+1023.5,w4=~~Ee,Z9=(w4|0)>1023,v9=(w4|0)<0,m=v9?0:w4,S=Z9?1023:m,V4=(S|0)==0;do if(V4)Jt=pt,at=J4,$t=Ke,Bt=se,W4=b4,be=gt,wt=E3,Wt=F9,Ze=ht,et=b9,l4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Ye=+s[nt>>2],Y4=+s[j1>>2],ze=Y4+Ye,n4=!(ze>=Y),n4){h4=xe+gt|0,oe=S+Nt|0,d4=n5(xe,xe)|0,f4=d4+se|0,ke=n5(S,S)|0,s0=ke+b9|0,z=n5(S,xe)|0,o0=z+F9|0,q=J4+1|0,Jt=pt,at=q,$t=Ke,Bt=f4,W4=b4,be=h4,wt=E3,Wt=o0,Ze=ht,et=s0,l4=u8,Xt=oe;break}else{R4=xe+b4|0,ot=S+u8|0,ne=n5(xe,xe)|0,u4=ne+Ke|0,T6=n5(S,S)|0,Je=T6+ht|0,O9=n5(S,xe)|0,de=O9+E3|0,Te=pt+1|0,Jt=Te,at=J4,$t=u4,Bt=se,W4=R4,be=gt,wt=de,Wt=F9,Ze=Je,et=b9,l4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,t0=(xe|0)<(s8|0),t0)xe=h0,pt=Jt,J4=at,Ke=$t,se=Bt,b4=W4,gt=be,E3=wt,F9=Wt,ht=Ze,b9=et,u8=l4,Nt=Xt;else{_t=Jt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=be,a8=wt,j9=Wt,jt=Ze,Tt=et,W8=l4,Z8=Xt;break}}if(j=(z6+(S9*56|0)|0)+8|0,e[j>>2]=Qt,u0=(z6+(S9*56|0)|0)+12|0,e[u0>>2]=W8,c0=(z6+(S9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(S9*56|0)|0)+20|0,e[$0>>2]=jt,Z=(z6+(S9*56|0)|0)+24|0,e[Z>>2]=a8,m0=(z6+(S9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(S9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(z6+(S9*56|0)|0)+36|0,e[f0>>2]=Z8,n0=(z6+(S9*56|0)|0)+40|0,e[n0>>2]=Rt,d0=(z6+(S9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(S9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(z6+(S9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+S4|0,I6=(Re|0)==(i2|0),I6){E8=S0;break}else ve=Ge,S9=Re,S4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(O0=(y6|0)==0,!O0)return a4=0,C=Ae,a4|0;G2=z6+4|0,O4=z6,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[G2>>2]=r6,V2=(r6|0)<1,V2)Yt=0,r8=0,Kt=0,Ct=0,ct=0,ae=0,yt=0,A4=0,l8=0,c8=0,H8=0,V8=0;else for(b2=W+1112|0,me=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,We=0,$4=0,ut=0,X4=0,M8=0,dt=0;;){L5=$+(me<<2)|0,U=+s[L5>>2],h2=U*7.314285755157471,F2=h2+1023.5,N5=~~F2,G3=(N5|0)>1023,G5=(N5|0)<0,d=G5?0:N5,B=G3?1023:d,z3=(B|0)==0;do if(z3)zt=xt,G4=Et,U4=At,lt=m4,K4=p4,D4=E4,Z4=We,j4=$4,Ft=ut,g8=X4,R8=M8,F8=dt;else if(f6=a+(me<<2)|0,W3=+s[f6>>2],A6=+s[b2>>2],g9=A6+W3,U6=!(g9>=U),U6){C9=me+E4|0,B9=B+dt|0,Q9=n5(me,me)|0,d9=Q9+m4|0,f9=n5(B,B)|0,V9=f9+X4|0,q6=n5(B,me)|0,a9=q6+$4|0,Y9=Et+1|0,zt=xt,G4=Y9,U4=At,lt=d9,K4=p4,D4=C9,Z4=We,j4=a9,Ft=ut,g8=V9,R8=M8,F8=B9;break}else{Y6=me+p4|0,F6=B+M8|0,t9=n5(me,me)|0,_6=t9+At|0,P6=n5(B,B)|0,O6=P6+ut|0,s9=n5(B,me)|0,h9=s9+We|0,n9=xt+1|0,zt=n9,G4=Et,U4=_6,lt=m4,K4=Y6,D4=E4,Z4=h9,j4=$4,Ft=O6,g8=X4,R8=F6,F8=dt;break}while(!1);if(y9=me+1|0,k9=(y9|0)==(r6|0),k9){Yt=zt,r8=G4,Kt=U4,Ct=lt,ct=K4,ae=D4,yt=Z4,A4=j4,l8=Ft,c8=g8,H8=R8,V8=F8;break}else me=y9,xt=zt,Et=G4,At=U4,m4=lt,p4=K4,E4=D4,We=Z4,$4=j4,ut=Ft,X4=g8,M8=R8,dt=F8}ye=z6+8|0,e[ye>>2]=ct,ge=z6+12|0,e[ge>>2]=H8,pe=z6+16|0,e[pe>>2]=Kt,z9=z6+20|0,e[z9>>2]=l8,re=z6+24|0,e[re>>2]=yt,R9=z6+28|0,e[R9>>2]=Yt,K6=z6+32|0,e[K6>>2]=ae,A9=z6+36|0,e[A9>>2]=V8,we=z6+40|0,e[we>>2]=Ct,Me=z6+44|0,e[Me>>2]=c8,ue=z6+48|0,e[ue>>2]=A4,D9=z6+52|0,e[D9>>2]=r8,E8=Yt}if(Q0=(E8|0)==0,Q0)return a4=0,C=Ae,a4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,kC(z6,E0,$8,Zt,W)|0,y0=e[$8>>2]|0,e[Se>>2]=y0,e[Ie>>2]=y0,w0=e[Zt>>2]|0,B0=Ie+4|0,e[B0>>2]=w0,_0=Se+4|0,e[_0>>2]=w0,W0=(y6|0)>2;do if(W0){M0=W+1112|0,v0=W+1096|0,T0=W+1100|0,N0=W+1104|0,Oe=2;e:for(;;){q0=(o+520|0)+(Oe<<2)|0,k0=e[q0>>2]|0,z0=Pt+(k0<<2)|0,F0=e[z0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,K0=t8+(F0<<2)|0,J0=e[K0>>2]|0,H0=(J0|0)==(G0|0);t:do if(!H0){if(Z0=(o+520|0)+(F0<<2)|0,V0=e[Z0>>2]|0,s1=(o+520|0)+(G0<<2)|0,Y0=e[s1>>2]|0,e[K0>>2]=G0,i1=(W+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,o1=(W+836|0)+(G0<<2)|0,h1=e[o1>>2]|0,g1=Se+(F0<<2)|0,m1=e[g1>>2]|0,d1=(m1|0)<0,A1=Ie+(F0<<2)|0,c1=e[A1>>2]|0,d1?w=c1:(a1=(c1|0)<0,a1?w=m1:($1=c1+m1|0,j0=$1>>1,w=j0)),E1=Se+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=Ie+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,b1=(y|0)==-1,x8=M1|b1,x8){C4=38;break e}_1=y-w|0,R1=h1-x0|0,N4=(_1|0)>-1,x9=0-_1|0,F1=N4?_1:x9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,Z1=D1|1,G1=$+(x0<<2)|0,K=+s[G1>>2],x1=K*7.314285755157471,J1=x1+1023.5,q1=~~J1,H1=(q1|0)>1023,V1=(q1|0)<0,I=V1?0:q1,b=H1?1023:I,Y1=n5(U1,R1)|0,f8=(Y1|0)>-1,p8=0-Y1|0,X1=f8?Y1:p8,o2=F1-X1|0,O1=w-b|0,u2=n5(O1,O1)|0,W1=a+(x0<<2)|0,I2=+s[W1>>2],a2=+s[M0>>2],C2=a2+I2,A2=!(C2>=K),A2?C4=42:(K1=+(w|0),d2=+s[v0>>2],l2=d2+K1,c2=+(b|0),r2=l2>2],e2=K1-$2,s2=e2>c2,s2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=x0+1|0,t2=(m2|0)<(h1|0),t2)for(p2=m2,o4=0,_8=u2,Vt=1,C8=w;;){if(k2=o4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Pe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,P2=$+(p2<<2)|0,e0=+s[P2>>2],K2=e0*7.314285755157471,O2=K2+1023.5,z2=~~O2,U2=(z2|0)>1023,H2=(z2|0)<0,E=H2?0:z2,D=U2?1023:E,W2=A8-D|0,A5=n5(W2,W2)|0,N1=A5+_8|0,e5=Vt+1|0,F5=a+(p2<<2)|0,t5=+s[F5>>2],_5=t5+a2,Z2=_5>=e0,I5=(D|0)!=0,o8=Z2&I5,o8&&(b5=+(A8|0),V5=+s[v0>>2],g5=V5+b5,B5=+(D|0),o5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=p2+1|0,T5=(Q5|0)<(h1|0),T5)p2=Q5,o4=Pe,_8=N1,Vt=e5,C8=A8;else{i8=N1,Ht=e5;break}}else i8=u2,Ht=1;if(m5=+s[v0>>2],x5=m5*m5,q5=+(Ht|0),Y2=x5/q5,p5=+s[N0>>2],$5=Y2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(h5=(i8|0)/(Ht|0)&-1,l5=+(h5|0),j2=l5>p5,j2)))break;g3=Se+(Oe<<2)|0,e[g3>>2]=-200,u3=Ie+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(V0*56|0)|0,i5=k0-V0|0,s5=kC(w5,i5,Ot,qt,W)|0,d5=z6+(k0*56|0)|0,J2=Y0-k0|0,f5=kC(d5,J2,T4,st,W)|0,r5=(s5|0)!=0,r5&&(e[Ot>>2]=w,M5=e[T4>>2]|0,e[qt>>2]=M5),X2=(f5|0)==0,!X2&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,r5)){v5=Se+(Oe<<2)|0,e[v5>>2]=-200,z5=Ie+(Oe<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[Se>>2]=i3),I3=e[qt>>2]|0,d3=Se+(Oe<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,r3=Ie+(Oe<<2)|0,e[r3>>2]=W5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(D8=e8+-1|0,X3=F4+(D8<<2)|0,H3=e[X3>>2]|0,X5=(H3|0)==(G0|0),!X5)break i;if(e[X3>>2]=Oe,_3=(e8|0)>1,_3)e8=D8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(y6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,V3=(s6|0)==(F0|0),!V3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,J5=(Q3|0)<(y6|0),J5)Oe=Q3;else{C4=68;break}}if((C4|0)==38)wS(1);else if((C4|0)==68){N=e[Se>>2]|0,G=e[Ie>>2]|0,S5=N,$6=G;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,Y5=K8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,U3=l3>>1,v=U3)),e[Y5>>2]=v,E6=e[_0>>2]|0,b3=(E6|0)<0,L3=e[B0>>2]|0,b3?M=L3:(D3=(L3|0)<0,D3?M=E6:(a6=L3+E6|0,i6=a6>>1,M=i6)),j5=Y5+4|0,e[j5>>2]=M,W0)s4=2;else return a4=Y5,C=Ae,a4|0;for(;;)if(M3=s4+-2|0,h3=(o+1032|0)+(M3<<2)|0,J3=e[h3>>2]|0,d6=(o+780|0)+(M3<<2)|0,m3=e[d6>>2]|0,x6=(W+836|0)+(J3<<2)|0,L6=e[x6>>2]|0,M6=(W+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=Y5+(J3<<2)|0,N6=e[b6>>2]|0,j6=Y5+(m3<<2)|0,v6=e[j6>>2]|0,R3=(W+836|0)+(s4<<2)|0,n6=e[R3>>2]|0,o6=N6&32767,C6=v6&32767,K3=C6-o6|0,F3=S6-L6|0,d8=(K3|0)>-1,Lt=0-K3|0,e6=d8?K3:Lt,R6=n6-L6|0,l6=n5(e6,R6)|0,o3=(l6|0)/(F3|0)&-1,J6=(K3|0)<0,A3=0-o3|0,L=J6?A3:o3,x=L+o6|0,c6=Se+(s4<<2)|0,B6=e[c6>>2]|0,T3=(B6|0)<0,H6=Ie+(s4<<2)|0,D6=e[H6>>2]|0,T3?Q=D6:(G6=(D6|0)<0,G6?Q=B6:(e9=D6+B6|0,Q6=e9>>1,Q=Q6)),X6=(Q|0)<0,P3=(x|0)==(Q|0),L8=X6|P3,r9=x|32768,g=L8?r9:Q,V6=Y5+(s4<<2)|0,e[V6>>2]=g,o9=s4+1|0,I4=(o9|0)==(y6|0),I4){a4=Y5;break}else s4=o9;return C=Ae,a4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0;if(u0=C,d=o+1284|0,m=e[d>>2]|0,x=(a|0)!=0,e0=($|0)!=0,h0=x&e0,!h0)return t0=0,t0|0;if(K=m<<2,a0=K8(t,K)|0,W=(m|0)>0,!W)return t0=a0,t0|0;for(r0=65536-g|0,q=0;;)if(s0=a+(q<<2)|0,z=e[s0>>2]|0,I=z&32767,E=n5(I,r0)|0,Q=$+(q<<2)|0,B=e[Q>>2]|0,S=B&32767,b=n5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(q<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,N=F&32768,G=(N|0)==0,G||(U=D|32768,e[y>>2]=U)),Y=q+1|0,o0=(Y|0)==(m|0),o0){t0=a0;break}else q=Y;return t0|0}function nb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,h3=O6+32|0,P3=O6,D=a+1296|0,y=e[D>>2]|0,d2=a+1284|0,R2=e[d2>>2]|0,$5=o+64|0,s5=e[$5>>2]|0,i3=s5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return q2(t,0,1),F5=o+36|0,t5=e[F5>>2]|0,_5=(t5|0)/2&-1,Z2=_5<<2,g4(g|0,0,Z2|0)|0,m=0,C=O6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;H0=$+(C6<<2)|0,m1=e[H0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(W2=p1>>>4,Y6=W2):(U1|0)==1?(X1=p1>>>2,Y6=X1):(U1|0)==2?(l2=p1>>>3,Y6=l2):(U1|0)==3?(S2=(p1>>>0)/12&-1,Y6=S2):Y6=p1,I5=m1&32768,b5=I5|Y6,e[H0>>2]=b5,V5=C6+1|0,v6=(V5|0)==(R2|0),!v6;)C6=V5;if(g5=e[$>>2]|0,e[U6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(K3=2;;){if(Q5=K3+-2|0,T5=(a+1032|0)+(Q5<<2)|0,m5=e[T5>>2]|0,x5=(a+780|0)+(Q5<<2)|0,q5=e[x5>>2]|0,L5=(y+836|0)+(m5<<2)|0,Y2=e[L5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,h5=e[D5>>2]|0,l5=(y+836|0)+(K3<<2)|0,j2=e[l5>>2]|0,h2=T1&32767,w5=h5&32767,i5=w5-h2|0,d5=u5-Y2|0,W3=(i5|0)>-1,r9=0-i5|0,J2=W3?i5:r9,f5=j2-Y2|0,r5=n5(J2,f5)|0,M5=(r5|0)/(d5|0)&-1,X2=(i5|0)<0,c5=0-M5|0,E=X2?c5:M5,I=E+h2|0,F2=$+(K3<<2)|0,v5=e[F2>>2]|0,z5=v5&32768,E5=(z5|0)!=0,I3=(v5|0)==(I|0),g9=E5|I3,g9)d3=I|32768,e[F2>>2]=d3,W5=U6+(K3<<2)|0,e[W5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),d=B3?a3:I,N5=v5-I|0,Z5=(N5|0)<0;do if(Z5)if(x3=0-d|0,w3=(N5|0)<(x3|0),w3){X3=N5^-1,H3=d+X3|0,F6=H3;break}else{X5=N5<<1,_3=X5^-1,F6=_3;break}else if(t3=(d|0)>(N5|0),t3){G3=N5<<1,F6=G3;break}else{s6=d+N5|0,F6=s6;break}while(!1);V3=U6+(K3<<2)|0,e[V3>>2]=F6,e[y5>>2]=h2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=K3+1|0,j6=(Q3|0)==(R2|0),j6)break;K3=Q3}S=e[U6>>2]|0,b=e[o5>>2]|0,a6=S,M3=b}else a6=g5,M3=B5;if(q2(t,1,1),J5=a+1308|0,H5=e[J5>>2]|0,Y5=H5+1|0,e[J5>>2]=Y5,S5=e[y2>>2]|0,Y3=S5+-1|0,G5=q8(Y3)|0,$6=G5<<1,n3=a+1304|0,U3=e[n3>>2]|0,E6=U3+$6|0,e[n3>>2]=E6,b3=e[y2>>2]|0,L3=b3+-1|0,D3=q8(L3)|0,q2(t,a6,D3),i6=e[y2>>2]|0,z3=i6+-1|0,j5=q8(z3)|0,q2(t,M3,j5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,F3=0,l6=2;;){if(F=(y+4|0)+(F3<<2)|0,N=e[F>>2]|0,G=(y+128|0)+(N<<2)|0,U=e[G>>2]|0,Y=(y+192|0)+(N<<2)|0,e0=e[Y>>2]|0,K=1<>2]=0,e[h3+4>>2]=0,e[h3+8>>2]=0,e[h3+12>>2]=0,e[h3+16>>2]=0,e[h3+20>>2]=0,e[h3+24>>2]=0,e[h3+28>>2]=0,W=(e0|0)==0,!W){if(e[P3>>2]=0,e[P3+4>>2]=0,e[P3+8>>2]=0,e[P3+12>>2]=0,e[P3+16>>2]=0,e[P3+20>>2]=0,e[P3+24>>2]=0,e[P3+28>>2]=0,r0=(e0|0)==31,!r0)for(A3=0;d0=((y+320|0)+(N<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=P3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(K|0),_0;)A3=B0;s0=(U|0)>0;e:do if(s0){if(r0)for(J3=0,x6=0,c6=0;;)if(W0=h3+(c6<<2)|0,M0=e[W0>>2]|0,v0=M0<>2]|0,H6=0;;){if(z=P3+(H6<<2)|0,o0=e[z>>2]|0,h0=(q|0)<(o0|0),h0){A6=H6,O3=31;break}if(t0=H6+1|0,j=(t0|0)<(K|0),j)H6=t0;else{O3=33;break}}if((O3|0)==31?(O3=0,u0=h3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(O3|0)==33&&(O3=0,Q=h3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(z0*56|0)|0,L0=Gu(F0,m3,t)|0,G0=e[R>>2]|0,K0=G0+L0|0,e[R>>2]=K0}if(J0=(U|0)>0,J0)for(T3=0;Z0=h3+(T3<<2)|0,O0=e[Z0>>2]|0,V0=((y+320|0)+(N<<5)|0)+(O0<<2)|0,s1=e[V0>>2]|0,Y0=(s1|0)>-1,Y0&&(i1=T3+l6|0,x0=U6+(i1<<2)|0,o1=e[x0>>2]|0,h1=(a0+(s1*56|0)|0)+4|0,g1=e[h1>>2]|0,d1=(o1|0)<(g1|0),d1&&(u1=a0+(s1*56|0)|0,A1=Gu(u1,o1,t)|0,c1=e[n3>>2]|0,a1=c1+A1|0,e[n3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(U|0),!b6;)T3=$1;if(j0=U+l6|0,E1=F3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)F3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=n5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[d2>>2]|0,D1=(F1|0)>1,D1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(J1=(a+260|0)+(o3<<2)|0,q1=e[J1>>2]|0,H1=$+(q1<<2)|0,V1=e[H1>>2]|0,Y1=V1&32767,o2=(Y1|0)==(V1|0),o2)if(j1=e[w1>>2]|0,O1=n5(j1,V1)|0,u2=(y+836|0)+(q1<<2)|0,W1=e[u2>>2]|0,I2=O1-Q6|0,a2=W1-D6|0,e6=(I2|0)>-1,V6=0-I2|0,C2=e6?I2:V6,A2=(I2|0)/(a2|0)&-1,K1=I2>>31,i2=K1|1,c2=n5(A2,a2)|0,R6=(c2|0)>-1,o9=0-c2|0,r2=R6?c2:o9,$2=C2-r2|0,e2=(R1|0)>(W1|0),t9=e2?W1:R1,s2=(t9|0)>(D6|0),s2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(t9|0),k2)for(p2=t2,M6=0,_6=Q6;;)if(D2=M6+$2|0,Q2=(D2|0)<(a2|0),G2=Q2?0:i2,L2=Q2?0:a2,S6=D2-L2|0,B=_6+A2|0,P6=B+G2|0,P2=g+(p2<<2)|0,e[P2>>2]=P6,K2=p2+1|0,f6=(K2|0)==(t9|0),f6){o6=W1,G6=W1,X6=O1;break}else p2=K2,M6=S6,_6=P6;else o6=W1,G6=W1,X6=O1;else o6=n6,G6=D6,X6=Q6;if(O2=o3+1|0,z2=e[d2>>2]|0,U2=(O2|0)<(z2|0),U2)n6=o6,o3=O2,D6=G6,Q6=X6;else{R3=o6,e9=X6;break}}else R3=0,e9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(R3|0)<(G1|0),x1)J6=R3;else return m=1,C=O6,m|0;for(;;)if(H2=g+(J6<<2)|0,e[H2>>2]=e9,A5=J6+1|0,V2=e[P1>>2]|0,N1=(V2|0)/2&-1,e5=(A5|0)<(N1|0),e5)J6=A5;else{m=1;break}return C=O6,m|0}function kC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,d1=+s[Z0>>2],i2=0,e2=0,m2=0,S2=0,P2=0,z2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,D1=e[B1>>2]|0,o2=(t+(e2*56|0)|0)+28|0,S=e[o2>>2]|0,N=S+D1|0,z=+(N|0),o0=z*d1,q=S+1|0,h0=+(q|0),t0=o0/h0,j=t0,u0=j+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,Z=+(l0|0),m0=(t+(e2*56|0)|0)+8|0,g0=e[m0>>2]|0,f0=+(g0|0),n0=f0*u0,d0=Z+S2,p0=d0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+z2,W0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),P0=(t+(e2*56|0)|0)+16|0,q0=e[P0>>2]|0,k0=+(q0|0),z0=k0*u0,F0=T0+m2,L0=F0+z0,G0=(t+(e2*56|0)|0)+48|0,K0=e[G0>>2]|0,J0=+(K0|0),H0=(t+(e2*56|0)|0)+24|0,O0=e[H0>>2]|0,V0=+(O0|0),s1=V0*u0,Y0=J0+P2,i1=Y0+s1,x0=+(D1|0),o1=+(S|0),h1=u0*o1,g1=x0+i2,m1=g1+h1,u1=e2+1|0,$2=(u1|0)==(o|0),$2){l2=m1,s2=L0,D2=p0,L2=i1,O2=W0;break}else i2=m1,e2=u1,m2=L0,S2=p0,P2=i1,z2=W0;else l2=0,s2=0,D2=0,L2=0,O2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(Q|0),$1=D2+a1,j0=+(A1|0),E1=j0+O2,I1=n5(Q,Q)|0,Q1=+(I1|0),p1=s2+Q1,w1=n5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=l2+1,c2=L1,t2=p1,Q2=$1,p2=k1,U2=E1):(c2=l2,t2=s2,Q2=D2,p2=L2,U2=O2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(Q0|0),R1=Q2+_1,F1=+(M1|0),U1=F1+U2,P1=n5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=n5(M1,Q0)|0,J1=+(x1|0),q1=J1+p2,H1=c2+1,r2=H1,k2=G1,G2=R1,K2=q1,H2=U1):(r2=c2,k2=t2,G2=Q2,K2=p2,H2=U2),V1=k2*r2,Y1=G2*G2,X1=V1-Y1,j1=X1>0,j1?(O1=H2*k2,u2=G2*K2,W1=O1-u2,I2=W1/X1,a2=K2*r2,C2=G2*H2,A2=a2-C2,K1=A2/X1,d2=+(Q|0),b=K1*d2,v=b+I2,w=+z7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+I2,L=+z7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,G=(F|0)>1023,G?(e[a>>2]=1023,m=e[$>>2]|0,U=m,r0=1023):(U=R,r0=F),Y=(U|0)>1023,Y?(e[$>>2]=1023,I=e[a>>2]|0,e0=I,s0=1023):(e0=r0,s0=U),K=(e0|0)<0,K?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,W=(a0|0)<0,W?(e[$>>2]=0,d=0,d|0):(d=0,d|0)):(e[a>>2]=0,e[$>>2]=0,d=1,d|0)}function ob(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,W=e[t>>2]|0,q2(o,W,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,K0=0,Y0=-1;;)if(B=N0+(K0<<2)|0,S=e[B>>2]|0,q2(o,S,4),b=e[B>>2]|0,v=(Y0|0)<(b|0),a=v?b:Y0,w=K0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)K0=w,Y0=a;else{$=a;break}if(q0=($|0)>-1,q0)for(k0=t+128|0,z0=t+192|0,E=t+256|0,Q=t+320|0,J0=0;;){if(x=k0+(J0<<2)|0,L=e[x>>2]|0,R=L+-1|0,q2(o,R,3),F=z0+(J0<<2)|0,N=e[F>>2]|0,q2(o,N,2),G=e[F>>2]|0,U=(G|0)==0,U?(Z0=0,i1=8):(Y=E+(J0<<2)|0,e0=e[Y>>2]|0,q2(o,e0,8),g=e[F>>2]|0,K=(g|0)==31,K||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(J0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,q2(o,s0,8),z=Z0+1|0,o0=e[F>>2]|0,q=1<>2]|0,c0=u0+-1|0,q2(o,c0,2),l0=M+-1|0,Z=q8(l0)|0,q2(o,Z,4),m0=q8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,d0=t+128|0,P0=g0,F0=0,H0=0,O0=0;;){if(p0=n0+(H0<<2)|0,C0=e[p0>>2]|0,S0=d0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(O0|0)<(E0|0),y0){for(s1=O0;w0=s1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,q2(o,_0,m0),W0=s1+1|0,L0=(W0|0)==(E0|0),!L0;)s1=W0;d=e[t>>2]|0,T0=d,V0=E0}else T0=P0,V0=O0;if(M0=H0+1|0,v0=(M0|0)<(T0|0),v0)P0=T0,F0=E0,H0=M0,O0=V0;else break}}function sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,K=le(1,1120)|0,u0=i4(o,5)|0,e[K>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=K+4|0,Z1=0,o2=-1;;){if(L=i4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(N=(o2|0)<(L|0),g=N?L:o2,G=Z1+1|0,U=e[K>>2]|0,Y=(G|0)<(U|0),Y)Z1=G,o2=g;else{d=g;break}}if(J0=(d|0)>-1,J0)for(g1=K+128|0,Q1=K+192|0,F1=K+256|0,x=y+24|0,M=K+320|0,G1=0;;){if(e0=i4(o,3)|0,a0=e0+1|0,W=g1+(G1<<2)|0,e[W>>2]=a0,r0=i4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,z=(r0|0)<0,z||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,t0=I):(q=i4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=q,t0=q),j=(t0|0)<0,j)||(c0=e[x>>2]|0,$0=(t0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,Z=(l0|0)==31,!Z)for(H1=0;;){if(d0=i4(o,8)|0,p0=d0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(d0|0)<0,Q0||(b0=e[x>>2]|0,E0=(d0|0)>(b0|0),f0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=_0,M0=i4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[K>>2]|0,P0=(N0|0)>0,P0)for(q0=K+4|0,k0=K+128|0,z0=K+836|0,F0=1<>2]|0,K0=k0+(G0<<2)|0,H0=e[K0>>2]|0,Z0=H0+P1|0,O0=(Z0|0)>63,O0)break e;if(V0=(V1|0)<(Z0|0),V0){for(X1=V1;;){if(s1=i4(o,M0)|0,Y0=X1+2|0,i1=z0+(Y0<<2)|0,e[i1>>2]=s1,x0=(s1|0)>-1,o1=(s1|0)<(F0|0),j1=x0&o1,!j1)break e;if(h1=X1+1|0,m1=(h1|0)<(Z0|0),m1)X1=h1;else{$=h1;break}}B=e[K>>2]|0,A1=B,Y1=$}else A1=U1,Y1=V1;if(d1=x1+1|0,u1=(d1|0)<(A1|0),u1)U1=A1,P1=Z0,x1=d1,V1=Y1;else{E=z0,Q=F0,D1=Z0;break}}else v=K+836|0,w=1<>2]=0,c1=K+840|0,e[c1>>2]=Q,a1=D1+2|0,$1=(D1|0)>-2,$1)for(J1=0;j0=E+(J1<<2)|0,E1=O1+(J1<<2)|0,e[E1>>2]=j0,I1=J1+1|0,p1=(I1|0)<(a1|0),p1;)J1=I1;Pu(O1,a1,4,8),B1=(a1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,b1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),w1=q1+1|0,!_1;)if(v1=(w1|0)<(a1|0),v1)b1=M1,q1=w1;else break t;if(R1=(K|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=K,C=W1,a|0}while(!1);return E2(K),a=0,C=W1,a|0}function ab(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=le(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,e0=o+840|0,j=e[e0>>2]|0,p0=$+1288|0,e[p0>>2]=j,M0=e[o>>2]|0,K0=(M0|0)>0,K0){for(Y0=o+4|0,d=o+128|0,d1=0,k1=0;;)if(m=Y0+(d1<<2)|0,I=e[m>>2]|0,E=d+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=d1+1|0,b=(S|0)<(M0|0),b)d1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,_1=7):(Pu(b1,v,4,8),w1=a)}else s1=$+1284|0,e[s1>>2]=2,F=2,v1=0,_1=7;if((_1|0)==7){for(u1=0;x=D+(u1<<2)|0,M=b1+(u1<<2)|0,e[M>>2]=x,L=u1+1|0,R=(L|0)<(F|0),R;)u1=L;for(Pu(b1,F,4,8),N=D,G=$+260|0,A1=0;K=b1+(A1<<2)|0,a0=e[K>>2]|0,W=a0,r0=W-N|0,s0=r0>>2,z=G+(A1<<2)|0,e[z>>2]=s0,o0=A1+1|0,q=(o0|0)<(F|0),q;)A1=o0;for(U=$+260|0,Y=$+520|0,c1=0;t0=U+(c1<<2)|0,u0=e[t0>>2]|0,c0=Y+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(F|0),l0;)c1=$0;for(h0=$+260|0,a1=0;;)if(Z=h0+(a1<<2)|0,m0=e[Z>>2]|0,g0=D+(m0<<2)|0,f0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=f0,d0=a1+1|0,C0=(d0|0)<(F|0),C0)a1=d0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,W0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,P0=e[p0>>2]|0,x0=1,g1=P0,j0=0,E1=0,p1=0;;)if(q0=D+(j0<<2)|0,k0=e[q0>>2]|0,z0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=z0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(g1|0),G0=(k0|0)>(N0|0),M1=L0&G0,o1=M1?j0:x0,m1=M1?k0:g1,J0=j0+1|0,H0=(J0|0)<(v0|0),H0)x0=o1,g1=m1,j0=J0,E1=I1,p1=B1;else{h1=o1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,O0=W0+($1<<2)|0,e[O0>>2]=h1,V0=$1+1|0,i1=(V0|0)==(w1|0),i1)break;$1=V0}return C=R1,$|0}function Ab(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function $b(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+1296|0,m=e[d>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,P0=b0+4|0,O0=e[P0>>2]|0,u1=O0+28|0,w1=e[u1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=i4(I,1)|0,W=(M|0)==1,!W)return a=0,a|0;q=o+1284|0,h0=e[q>>2]|0,t0=h0<<2,j=K8(t,t0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,Z=q8($0)|0,m0=i4(I,Z)|0,e[j>>2]=m0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=q8(f0)|0,d0=i4(I,n0)|0,p0=j+4|0,e[p0>>2]=d0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,s2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,W0=(m+128|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(z0*56|0)|0,L0=nE(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(K0=(M0|0)>0,K0)for(J0=N0+-1|0,c2=i2,m2=0;;){if(H0=c2&J0,Z0=((m+320|0)+(_0<<5)|0)+(H0<<2)|0,V0=e[Z0>>2]|0,s1=c2>>T0,Y0=(V0|0)>-1,Y0){if(i1=j1+(V0*56|0)|0,x0=nE(i1,I)|0,o1=m2+s2|0,h1=j+(o1<<2)|0,e[h1>>2]=x0,g1=(x0|0)==-1,g1){a=0,D2=25;break t}}else m1=m2+s2|0,d1=j+(m1<<2)|0,e[d1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(M0|0),c1)c2=s1,m2=A1;else break}if(a1=M0+s2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,s2=a1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[q>>2]|0,E0=(Q0|0)>2,!E0)return a=j,a|0;for(y0=o+1032|0,w0=o+780|0,$2=2;;){if(I1=$2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=j+(p1<<2)|0,R1=e[_1>>2]|0,F1=j+(L1<<2)|0,U1=e[F1>>2]|0,D1=(m+836|0)+($2<<2)|0,Z1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,J1=x1-G1|0,q1=b1-v1|0,e2=(J1|0)>-1,t2=0-J1|0,H1=e2?J1:t2,V1=Z1-v1|0,Y1=n5(H1,V1)|0,X1=(Y1|0)/(q1|0)&-1,o2=(J1|0)<0,O1=0-X1|0,g=o2?O1:X1,$=g+G1|0,u2=e[u0>>2]|0,W1=u2-$|0,I2=j+($2<<2)|0,a2=e[I2>>2]|0,C2=(a2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{A2=(W1|0)<($|0),K1=A2?W1:$,d2=K1<<1,l2=(a2|0)<(d2|0);do if(l2)if(b=a2&1,v=(b|0)==0,v){x=a2>>1,k2=x;break}else{w=a2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=a2-$|0,k2=Q;break}else{B=a2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[I2>>2]=R,F=e[Q1>>2]|0,N=j+(F<<2)|0,G=e[N>>2]|0,U=G&32767,e[N>>2]=U,Y=e[k1>>2]|0,e0=j+(Y<<2)|0,K=e[e0>>2]|0,a0=K&32767,e[e0>>2]=a0}if(s0=$2+1|0,z=e[q>>2]|0,o0=(s0|0)<(z|0),o0)$2=s0;else{a=j;break}}return a|0}function cb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,W=e[M>>2]|0,$0=W+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,g1=t+28|0,m1=e[g1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return h1=B<<2,g4($|0,0,h1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=n5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,N=e[F>>2]|0,G=(N|0)>1,G)for(U=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=U+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,z=e[s0>>2]|0,o0=z&32767,q=(o0|0)==(z|0),q)if(h0=(I+836|0)+(r0<<2)|0,t0=e[h0>>2]|0,j=n5(w,z)|0,u0=(j|0)<0,c0=(j|0)>255,l0=c0?255:j,Z=u0?0:l0,m0=Z-k1|0,g0=t0-B1|0,E1=(m0|0)>-1,M1=0-m0|0,f0=E1?m0:M1,n0=(m0|0)/(g0|0)&-1,d0=m0>>31,p0=d0|1,C0=n5(n0,g0)|0,I1=(C0|0)>-1,b1=0-C0|0,S0=I1?C0:b1,b0=f0-S0|0,E0=(B|0)>(t0|0),_1=E0?t0:B,y0=(_1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,W0=+s[_0>>2],M0=W0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(_1|0),T0)for(K0=v0,d1=0,R1=k1;;)if(P0=d1+b0|0,q0=(P0|0)<(g0|0),k0=q0?0:p0,z0=q0?0:g0,u1=P0-z0|0,d=R1+n0|0,F1=d+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(K0<<2)|0,J0=+s[G0>>2],H0=J0*L0,s[G0>>2]=H0,O0=K0+1|0,c1=(O0|0)==(_1|0),c1){j0=t0,w1=t0,L1=Z;break}else K0=O0,d1=u1,R1=F1;else j0=t0,w1=t0,L1=Z;else j0=$1,w1=B1,L1=k1;if(V0=Q1+1|0,s1=(V0|0)<(N|0),s1)$1=j0,Q1=V0,B1=w1,k1=L1;else{a1=j0,v1=L1;break}}else a1=0,v1=R;if(Y=(a1|0)<(B|0),!Y)return g=1,g|0;for(e0=1768+(v1<<2)|0,K=+s[e0>>2],p1=a1;;)if(Y0=$+(p1<<2)|0,i1=+s[Y0>>2],x0=i1*K,s[Y0>>2]=x0,o1=p1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else p1=o1;return g|0}function gb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$-d|0,m|0}function ub(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function hb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0;u0=C,g=il(o|0)|0,d=il(a|0)|0,y=g+2|0,K=y+d|0,$=K,W=C,C=C+((1*$|0)+15&-16)|0,xC(W|0,o|0)|0,t0=il(W|0)|0,h0=W+t0|0,f[h0>>0]=61,f[h0+1>>0]=0,GQ(W|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,z=e[s0>>2]|0,o0=z<<2,q=o0+8|0,m=J7(r0,q)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=J7(E,S)|0,e[I>>2]=b,v=il(W|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=M9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,N=F+(w<<2)|0,G=e[N>>2]|0,xC(G|0,W|0)|0,U=e[s0>>2]|0,Y=U+1|0,e[s0>>2]=Y,e0=e[t>>2]|0,a0=e0+(Y<<2)|0,e[a0>>2]=0,C=u0}function db(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0;if(K=C,g=(t|0)==0,!g){if(d=e[t>>2]|0,y=(d|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,N=d,Y=0;F=N+(Y<<2)|0,G=e[F>>2]|0,U=(G|0)==0,U?E=x:(E2(G),a=e[M>>2]|0,E=a),m=Y+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,N=o,Y=m;$=e[t>>2]|0,Q=$}else Q=d;E2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||E2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function fb(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=le(1,3664)|0,a=t+28|0,e[a>>2]=o}function SC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,d=t+28|0,m=e[d>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(d1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?S=d1:(E2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)d1=S,$1=Q;if(T0=m+12|0,H0=e[T0>>2]|0,m1=(H0|0)>0,m1)for(u1=H0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?K=u1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,N=e[F>>2]|0,G=N+8|0,U=e[G>>2]|0,as[U&7](y),a=e[T0>>2]|0,K=a),Y=j0+1|0,e0=(Y|0)<(K|0),e0;)u1=K,j0=Y;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;z=(m+1056|0)+(E1<<2)|0,o0=e[z>>2]|0,q=(o0|0)==0,q?g0=A1:(h0=(m+800|0)+(E1<<2)|0,t0=e[h0>>2]|0,j=25640+(t0<<2)|0,u0=e[j>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[b>>2]|0,g0=$),Z=E1+1|0,m0=(Z|0)<(g0|0),m0;)A1=g0,E1=Z;if(W=m+20|0,r0=e[W>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=c1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,W0=e[_0>>2]|0,as[W0&7](Q0),g=e[W>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)c1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,d0=(n0|0)>0,p0=m+2848|0,d0)for(Q1=0;P0=(m+1824|0)+(Q1<<2)|0,q0=e[P0>>2]|0,k0=(q0|0)==0,k0||_C(q0),z0=e[p0>>2]|0,F0=(z0|0)==0,F0||(L0=z0+(Q1*56|0)|0,Jb(L0)),G0=Q1+1|0,K0=e[f0>>2]|0,J0=(G0|0)<(K0|0),J0;)Q1=G0;if(Z0=e[p0>>2]|0,O0=(Z0|0)==0,O0||E2(Z0),V0=m+28|0,s1=e[V0>>2]|0,Y0=(s1|0)>0,Y0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,kb(x0),o1=p1+1|0,h1=e[V0>>2]|0,g1=(o1|0)<(h1|0),g1;)p1=o1;E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function Ib(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0;if(j2=C,C=C+32|0,T1=j2,E=t+4|0,Q=e[E>>2]|0,c1=t+104|0,k1=e[c1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,d=-129,C=j2,d|0;if(u2=Q+4|0,r2=e[u2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(QC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,z=(F|0)<64,z)D5=-130,l5=27;else if(m0=B5+4|0,y0=e[m0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{q2(T1,1,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),q2(T1,0,32),s1=e[u2>>2]|0,q2(T1,s1,8),d1=Q+8|0,u1=e[d1>>2]|0,q2(T1,u1,32),A1=Q+12|0,a1=e[A1>>2]|0,q2(T1,a1,32),$1=Q+16|0,j0=e[$1>>2]|0,q2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,q2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=q8(p1)|0,q2(T1,B1,4),w1=e[m0>>2]|0,v1=w1+-1|0,L1=q8(v1)|0,q2(T1,L1,4),q2(T1,1,1),M1=k1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=b8(T1)|0,F1=M9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=b8(T1)|0,ce(F1|0,D1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=b8(T1)|0,J1=a+4|0,e[J1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),mb(T1,o),V1=k1+68|0,Y1=e[V1>>2]|0,X1=(Y1|0)==0,X1||E2(Y1),o2=b8(T1)|0,j1=M9(o2)|0,e[V1>>2]=j1,O1=e[U1>>2]|0,W1=b8(T1)|0,ce(j1|0,O1|0,W1|0)|0,I2=e[V1>>2]|0,e[$>>2]=I2,a2=b8(T1)|0,C2=$+4|0,e[C2>>2]=a2,A2=$+8|0,K1=$+24|0,e[A2>>2]=0,e[A2+4>>2]=0,e[A2+8>>2]=0,e[A2+12>>2]=0,d2=K1,l2=d2,e[l2>>2]=1,i2=d2+4|0,c2=i2,e[c2>>2]=0,mi(T1),$2=e[N1>>2]|0,e2=($2|0)==0;e:do if(!e2){if(q2(T1,5,8),q2(T1,118,8),q2(T1,111,8),q2(T1,114,8),q2(T1,98,8),q2(T1,105,8),q2(T1,115,8),s2=$2+24|0,m2=e[s2>>2]|0,t2=m2+-1|0,q2(T1,t2,8),k2=e[s2>>2]|0,D2=(k2|0)>0,D2)for(Y2=0;;){if(P2=($2+1824|0)+(Y2<<2)|0,p2=e[P2>>2]|0,K2=JS(p2,T1)|0,O2=(K2|0)==0,Q2=Y2+1|0,!O2)break e;if(S2=e[s2>>2]|0,G2=(Q2|0)<(S2|0),G2)Y2=Q2;else break}if(q2(T1,0,6),q2(T1,0,16),z2=$2+16|0,U2=e[z2>>2]|0,H2=U2+-1|0,q2(T1,H2,6),W2=e[z2>>2]|0,A5=(W2|0)>0,A5)for(p5=0;;){if(V2=($2+800|0)+(p5<<2)|0,e5=e[V2>>2]|0,q2(T1,e5,16),F5=e[V2>>2]|0,t5=25640+(F5<<2)|0,_5=e[t5>>2]|0,Z2=e[_5>>2]|0,I5=(Z2|0)==0,I5)break e;if(b5=($2+1056|0)+(p5<<2)|0,V5=e[b5>>2]|0,FC[Z2&3](V5,T1),g5=p5+1|0,b2=e[z2>>2]|0,o5=(g5|0)<(b2|0),o5)p5=g5;else break}if(R2=$2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,q2(T1,y2,6),Q5=e[R2>>2]|0,T5=(Q5|0)>0,T5)for($5=0;m5=($2+1312|0)+($5<<2)|0,x5=e[m5>>2]|0,q2(T1,x5,16),q5=e[m5>>2]|0,L5=25648+(q5<<2)|0,S=e[L5>>2]|0,b=e[S>>2]|0,v=($2+1568|0)+($5<<2)|0,w=e[v>>2]|0,FC[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=$2+12|0,L=e[M>>2]|0,R=L+-1|0,q2(T1,R,6),N=e[M>>2]|0,G=(N|0)>0,G)for(u5=0;U=($2+288|0)+(u5<<2)|0,Y=e[U>>2]|0,q2(T1,Y,16),e0=e[U>>2]|0,K=25664+(e0<<2)|0,a0=e[K>>2]|0,W=e[a0>>2]|0,r0=($2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,VQ[W&1](Q,s0,T1),o0=u5+1|0,q=e[M>>2]|0,h0=(o0|0)<(q|0),h0;)u5=o0;if(t0=$2+8|0,j=e[t0>>2]|0,u0=j+-1|0,q2(T1,u0,6),c0=e[t0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=($2+32|0)+(y5<<2)|0,Z=e[l0>>2]|0,g0=e[Z>>2]|0,q2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,d0=e[n0>>2]|0,q2(T1,d0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,q2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,q2(T1,E0,8),w0=y5+1|0,B0=e[t0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return q2(T1,1,1),W0=k1+72|0,M0=e[W0>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=b8(T1)|0,N0=M9(T0)|0,e[W0>>2]=N0,P0=e[U1>>2]|0,q0=b8(T1)|0,ce(N0|0,P0|0,q0|0)|0,z0=e[W0>>2]|0,e[g>>2]=z0,F0=b8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,K0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,J0=K0,H0=J0,e[H0>>2]=2,Z0=J0+4|0,O0=Z0,e[O0>>2]=0,yC(T1),d=0,C=j2,d|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,h5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,h5=D5),yC(T1),V0=e[I>>2]|0,Y0=(V0|0)==0,Y0||E2(V0),i1=k1+68|0,x0=e[i1>>2]|0,o1=(x0|0)==0,o1||E2(x0),h1=k1+72|0,g1=e[h1>>2]|0,m1=(g1|0)==0,m1||E2(g1),e[I>>2]=0,e[i1>>2]=0,e[h1>>2]=0,d=h5,C=j2,d|0}function mb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0;for($0=C,q2(t,3,8),q2(t,118,8),q2(t,111,8),q2(t,114,8),q2(t,98,8),q2(t,105,8),q2(t,115,8),q2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,W=M<<24>>24,q2(t,W,8),z=(m|0)==0,!z;)a=I,g=m;if(o0=o+8|0,q=e[o0>>2]|0,q2(t,q,32),h0=e[o0>>2]|0,t0=(h0|0)>0,!t0){q2(t,1,1);return}for(j=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)q2(t,0,32);else if(b=e[j>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,q2(t,w,32),D=e[j>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,N=e[F>>2]|0,$=N,d=x;G=d+-1|0,U=$+1|0,Y=f[$>>0]|0,e0=Y<<24>>24,q2(t,e0,8),K=(G|0)==0,!K;)$=U,d=G;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}q2(t,1,1)}function mQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0;if(Y1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,Z=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)G=0;else{for(q0=$;;){if(V0=(q0|0)<(a|0),V0)for(Q1=0,R1=q0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-q0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(q0<<3)|0,l1[M>>3]=I1,L=q0+-1|0,F=(q0|0)==0,F)break;q0=L}I=+l1[R>>3],G=I}if(N=G*1.0000000001,U=G*1e-9,Y=U+1e-10,e0=($|0)>0,e0)B1=N,F1=0;else return k1=N,j0=k1,C=Y1,+j0;for(;;){if(D1=F1+1|0,K=B1>3],q=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=q;;)if(u0=Z+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,f0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=f0;break}else P1=n0,q1=f0;if(d0=m/B1,p0=Z+(F1<<3)|0,l1[p0>>3]=d0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=Z+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=Z+(B0<<3)|0,W0=+l1[_0>>3],M0=W0*d0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*d0,N0=+l1[_0>>3],P0=N0+T0,l1[_0>>3]=P0,k0=G1+1|0,z0=(k0|0)<(C0|0),z0;)G1=k0;H1=b0?C0:1,H0=d0,Z1=H1}else H0=d0,Z1=0}else t0=q/B1,j=Z+(F1<<3)|0,l1[j>>3]=t0,H0=t0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=Z+(Z1<<3)|0,K0=+l1[G0>>3],J0=K0*H0,Z0=J0+K0,l1[G0>>3]=Z0),O0=H0*H0,s1=1-O0,Y0=s1*B1,i1=(D1|0)<($|0),i1)B1=Y0,F1=D1;else{v1=Y0;break}}if((V1|0)==8&&(a0=Z+(U1<<3)|0,W=$-U1|0,r0=W<<3,g4(a0|0,0,r0|0)|0,v1=w1),e0)p1=.99,x1=0;else return k1=v1,j0=k1,C=Y1,+j0;for(;x0=Z+(x1<<3)|0,o1=+l1[x0>>3],h1=o1*p1,l1[x0>>3]=h1,g1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=g1,x1=m1;if(e0)J1=0;else return k1=v1,j0=k1,C=Y1,+j0;for(;;)if(d1=Z+(J1<<3)|0,u1=+l1[d1>>3],c1=u1,a1=o+(J1<<2)|0,s[a1>>2]=c1,$1=J1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else J1=$1;return j0=k1,C=Y1,+j0}function pQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0;if(j=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,F=(o|0)==0,N=(a|0)>0,F?N&&(U=a<<2,g4(L|0,0,U|0)|0):N&&(G=a<<2,ce(L|0,o|0,G|0)|0),Y=(g|0)>0,!Y){C=j;return}if(e0=(a|0)>0,e0)r0=0,s0=a;else{K=g<<2,g4(L|0,0,K|0)|0,g4($|0,0,K|0)|0,C=j;return}for(;;){for(o0=r0,q=a,h0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=q+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=h0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,q=D,h0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,z=s0+1|0,W=(S|0)==(g|0),W)break;r0=S,s0=z}C=j}function pb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,d=(g|0)>1,d?(q2(a,1,1),y=e[o>>2]|0,K=y+-1|0,q2(a,K,4)):q2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(q2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,q2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=q8(v)|0,q2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=q8(L)|0,q2(a,x,R),F=E0+1|0,N=e[u0>>2]|0,G=(F|0)<(N|0),G;)E0=F}else q2(a,0,1);if(q2(a,0,2),U=e[o>>2]|0,Y=(U|0)>1,Y){if(e0=t+4|0,a0=e[e0>>2]|0,W=(a0|0)>0,W){for(r0=o+4|0,y0=0;h0=r0+(y0<<2)|0,t0=e[h0>>2]|0,q2(a,t0,4),j=y0+1|0,c0=e[e0>>2]|0,$0=(j|0)<(c0|0),$0;)y0=j;$=e[o>>2]|0,s0=$,B0=13}}else s0=U,B0=13;if(!((B0|0)==13&&(z=(s0|0)>0,!z)))for(o0=o+1028|0,q=o+1092|0,w0=0;q2(a,0,8),l0=o0+(w0<<2)|0,Z=e[l0>>2]|0,q2(a,Z,8),m0=q+(w0<<2)|0,g0=e[m0>>2]|0,q2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,d0=(f0|0)<(n0|0),d0;)w0=f0}function Eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0;a1=C,g=le(1,3208)|0,d=t+28|0,y=e[d>>2]|0,g4(g|0,0,3208)|0,K=t+4|0,u0=e[K>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=i4(o,1)|0,J0=(v0|0)<0,J0)c1=24;else{if(Y0=(v0|0)==0,Y0)e[g>>2]=1;else if(i1=i4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=i4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=i4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[K>>2]|0,N=$,x0=0;;){if(F=N+-1|0,G=q8(F)|0,U=i4(o,G)|0,Y=D+(x0<<2)|0,e[Y>>2]=U,e0=e[K>>2]|0,a0=e0+-1|0,W=q8(a0)|0,r0=i4(o,W)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,z=r0|U,o0=(z|0)<0,q=(U|0)==(r0|0),g1=q|o0,g1||(h0=e[K>>2]|0,t0=(U|0)<(h0|0),j=(r0|0)<(h0|0),m1=t0&j,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)N=h0,x0=L;else break}}if(c0=i4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,Z=(l0|0)>1,Z){if(m0=e[K>>2]|0,g0=(m0|0)>0,g0)for(f0=g+4|0,o1=0;;){if(B0=i4(o,4)|0,_0=f0+(o1<<2)|0,e[_0>>2]=B0,W0=e[g>>2]|0,M0=(B0|0)>=(W0|0),T0=(B0|0)<0,d1=T0|M0,y0=o1+1|0,d1)break e;if(E0=e[K>>2]|0,w0=(y0|0)<(E0|0),w0)o1=y0;else{n0=W0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(d0=(n0|0)>0,!d0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,h1=0;;){if(i4(o,8)|0,k0=i4(o,8)|0,z0=p0+(h1<<2)|0,e[z0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,u1=G0|L0,u1||(K0=i4(o,8)|0,H0=Q0+(h1<<2)|0,e[H0>>2]=K0,Z0=e[b0>>2]|0,O0=(K0|0)>=(Z0|0),V0=(K0|0)<0,A1=V0|O0,P0=h1+1|0,A1))break e;if(N0=e[g>>2]|0,q0=(P0|0)<(N0|0),q0)h1=P0;else{a=g;break}}return a|0}}}while(!1);return(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function Cb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Bb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,V8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,Y8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,vr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,kr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,Sr=0,un=0,Ts=0,nr=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,br=0,Io=0,p7=0,fn=0,Dr=0,or=0,_r=0,K7=0,xr=0,mo=0,W7=0,b7=0,D7=0,i7=0,_7=0,Lr=0,sr=0,ar=0,Mr=0,E7=0,Os=0,fi=0,nl=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,z3=e[i2>>2]|0,Te=z3+28|0,Ze=e[Te>>2]|0,Bs=M+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,hn=e[Ms>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=z3+4|0,b0=e[l0>>2]|0,P0=b0<<2,$=P0,O0=C,C=C+((1*$|0)+15&-16)|0,u1=K8(t,P0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=K8(t,P1)|0,c2=e[l0>>2]|0,G2=c2<<2,V2=K8(t,G2)|0,b2=hn+4|0,L5=+s[b2>>2],h2=e[l0>>2]|0,F2=h2<<2,g=F2,N5=C,C=C+((1*g|0)+15&-16)|0,G3=hn+8|0,G5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,W3=(Ze+544|0)+(f6<<2)|0,A6=e[W3>>2]|0,U6=m7+56|0,C9=e[U6>>2]|0,ye=(f6|0)!=0,ue=ye?2:0,D=ue+G5|0,he=C9+(D*52|0)|0,ze=t+40|0,e[ze>>2]=f6,h4=(h2|0)>0,h4)for(fe=+(r0|0),Z3=4/fe,m8=(s[w2>>2]=Z3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),be=ct*7177114298428933e-22,j4=be+-764.6162109375,c8=j4,l4=c8+.345,$i=l4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,z8=$i+-764.6162109375,nn=r0+-1|0,us=(nn|0)>1,eo=$i+-382.30810546875,xr=L5,W7=0;;){if(Qs=e[t>>2]|0,ln=Qs+(W7<<2)|0,I7=e[ln>>2]|0,ro=K8(t,Lt)|0,ys=j1+(W7<<2)|0,e[ys>>2]=ro,ws=K8(t,Lt)|0,no=u1+(W7<<2)|0,e[no>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,iD(I7,li,Ze,oo,so,vs),cn=e[j5>>2]|0,ks=(m7+12|0)+(cn<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[no>>2]|0,EQ(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,Zb(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=z8+$o,Fs=Rs,gn=Fs+.345,Sr=gn,s[I7>>2]=Sr,un=N5+(W7<<2)|0,s[un>>2]=Sr,us)for(Y=Sr,Lr=1;;)if(Ts=I7+(Lr<<2)|0,nr=+s[Ts>>2],Ns=nr*nr,lo=Lr+1|0,co=I7+(lo<<2)|0,dn=+s[co>>2],Gs=dn*dn,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,br=Ps,R=br+.345,F=R,N=lo>>1,G=I7+(N<<2)|0,s[G>>2]=F,U=F>Y,U?(s[un>>2]=F,kr=F):kr=Y,e0=Lr+2|0,K=(e0|0)<(nn|0),K)Y=kr,Lr=e0;else{W=kr;break}else W=Sr;if(a0=W>0,a0?(s[un>>2]=0,z=0):z=W,s0=z>xr,mo=s0?z:xr,o0=W7+1|0,q=e[l0>>2]|0,h0=(o0|0)<(q|0),h0)xr=mo,W7=o0;else{Q=Lt,S=_t,K7=mo;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,K7=L5;t0=K8(t,Q)|0,j=K8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,Z=m7+48|0,$0)D7=0;else{for(b7=0;;){o6=(A6+4|0)+(b7<<2)|0,C6=e[o6>>2]|0,K3=u1+(b7<<2)|0,F3=e[K3>>2]|0,e6=e[t>>2]|0,R6=e6+(b7<<2)|0,l6=e[R6>>2]|0,o3=l6+(S<<2)|0,e[ze>>2]=f6,J6=K8(t,60)|0,A3=V2+(b7<<2)|0,e[A3>>2]=J6,fi=J6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));if(yQ(he,o3,t0),c6=N5+(b7<<2)|0,B6=+s[c6>>2],wQ(he,l6,j,K7,B6),tl(he,t0,j,1,l6,F3,o3),T3=(A6+1028|0)+(C6<<2)|0,H6=e[T3>>2]|0,D6=(Ze+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[Z>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,r9=el(t,P3,o3,l6)|0,V6=e[A3>>2]|0,o9=V6+28|0,e[o9>>2]=r9,g9=Nu(t)|0,Y6=(g9|0)==0,Y6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(tl(he,t0,j,2,l6,F3,o3),O3=e[T3>>2]|0,O6=e[Z>>2]|0,s9=O6+(O3<<2)|0,h9=e[s9>>2]|0,n9=el(t,h9,o3,l6)|0,B9=e[A3>>2]|0,Q9=B9+56|0,e[Q9>>2]=n9,tl(he,t0,j,0,l6,F3,o3),d9=e[T3>>2]|0,f9=e[Z>>2]|0,V9=f9+(d9<<2)|0,y6=e[V9>>2]|0,q6=el(t,y6,o3,l6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,Y9=e[T3>>2]|0,y9=e[Z>>2]|0,ge=y9+(Y9<<2)|0,pe=e[ge>>2]|0,z9=e[A3>>2]|0,re=e[z9>>2]|0,R9=z9+28|0,w9=e[R9>>2]|0,K6=Gt(t,pe,re,w9,9362)|0,A9=e[A3>>2]|0,we=A9+4|0,e[we>>2]=K6,Me=e[T3>>2]|0,D9=e[Z>>2]|0,Re=D9+(Me<<2)|0,Fe=e[Re>>2]|0,Ge=e[A3>>2]|0,qe=e[Ge>>2]|0,r4=Ge+28|0,ve=e[r4>>2]|0,He=Gt(t,Fe,qe,ve,18724)|0,J9=e[A3>>2]|0,Ve=J9+8|0,e[Ve>>2]=He,Ue=e[T3>>2]|0,Ee=e[Z>>2]|0,w4=Ee+(Ue<<2)|0,Z9=e[w4>>2]|0,v9=e[A3>>2]|0,v4=e[v9>>2]|0,V4=v9+28|0,nt=e[V4>>2]|0,Ye=Gt(t,Z9,v4,nt,28086)|0,Y4=e[A3>>2]|0,n4=Y4+12|0,e[n4>>2]=Ye,R4=e[T3>>2]|0,ot=e[Z>>2]|0,ne=ot+(R4<<2)|0,u4=e[ne>>2]|0,Ce=e[A3>>2]|0,T6=e[Ce>>2]|0,Je=Ce+28|0,O9=e[Je>>2]|0,de=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,d4=oe+16|0,e[d4>>2]=de,f4=e[T3>>2]|0,ke=e[Z>>2]|0,o4=ke+(f4<<2)|0,Pe=e[o4>>2]|0,I4=e[A3>>2]|0,k9=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,k4=Gt(t,Pe,k9,z4,46811)|0,Se=e[A3>>2]|0,Ie=Se+20|0,e[Ie>>2]=k4,z6=e[T3>>2]|0,F4=e[Z>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,me=e[A3>>2]|0,xe=e[me>>2]|0,mt=me+28|0,_9=e[mt>>2]|0,S9=Gt(t,st,xe,_9,56173)|0,Oe=e[A3>>2]|0,s4=Oe+24|0,e[s4>>2]=S9,d8=e[T3>>2]|0,N4=e[Z>>2]|0,f8=N4+(d8<<2)|0,D8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,D8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,_8=e[T3>>2]|0,Ht=e[Z>>2]|0,Vt=Ht+(_8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Jt=xt+56|0,r8=e[Jt>>2]|0,n8=Gt(t,Yt,zt,r8,18724)|0,Et=e[A3>>2]|0,J4=Et+36|0,e[J4>>2]=n8,G4=e[T3>>2]|0,at=e[Z>>2]|0,x9=at+(G4<<2)|0,p8=e[x9>>2]|0,S4=e[A3>>2]|0,E8=S4+28|0,x8=e[E8>>2]|0,o8=S4+56|0,L8=e[o8>>2]|0,a4=Gt(t,p8,x8,L8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=a4,At=e[T3>>2]|0,Ke=e[Z>>2]|0,U4=Ke+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,Qt=e[A3>>2]|0,p4=Qt+44|0,e[p4>>2]=Bt,b4=e[T3>>2]|0,K4=e[Z>>2]|0,W4=K4+(b4<<2)|0,ae=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,D4=P4+56|0,yt=e[D4>>2]|0,a8=Gt(t,ae,gt,yt,46811)|0,We=e[A3>>2]|0,E3=We+48|0,e[E3>>2]=a8,Z4=e[T3>>2]|0,wt=e[Z>>2]|0,A4=wt+(Z4<<2)|0,j9=e[A4>>2]|0,$4=e[A3>>2]|0,F9=$4+28|0,Wt=e[F9>>2]|0,C8=$4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=b7+1|0,ut=e[l0>>2]|0,ht=(jt|0)<(ut|0),ht)b7=jt;else{B=Z,Tt=ut;break e}}return C=In,a|0}for(;;){N6=(A6+4|0)+(D7<<2)|0,C0=e[N6>>2]|0,j6=u1+(D7<<2)|0,d0=e[j6>>2]|0,v6=e[t>>2]|0,R3=v6+(D7<<2)|0,n0=e[R3>>2]|0,m0=n0+(S<<2)|0,e[ze>>2]=f6,n6=K8(t,60)|0,v0=V2+(D7<<2)|0,e[v0>>2]=n6,fi=n6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));for(sr=0;i6=d0+(sr<<2)|0,M3=e[i6>>2]|0,h3=M3&2147483647,J3=+(h3>>>0),d6=J3*7177114298428933e-22,m3=d6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,y=sr+S|0,S6=n0+(y<<2)|0,s[S6>>2]=M6,r6=sr+1|0,b6=(r6|0)<(S|0),b6;)sr=r6;if(yQ(he,m0,t0),g0=N5+(D7<<2)|0,f0=+s[g0>>2],wQ(he,n0,j,K7,f0),tl(he,t0,j,1,n0,d0,m0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(Ze+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[Z>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,W0=el(t,_0,m0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=W0,N0=Nu(t)|0,q0=(N0|0)==0,q0||(k0=e[v0>>2]|0,z0=k0+28|0,F0=e[z0>>2]|0,L0=(F0|0)==0,L0||(tl(he,t0,j,2,n0,d0,m0),G0=e[p0>>2]|0,K0=e[Z>>2]|0,J0=K0+(G0<<2)|0,H0=e[J0>>2]|0,Z0=el(t,H0,m0,n0)|0,V0=e[v0>>2]|0,s1=V0+56|0,e[s1>>2]=Z0,tl(he,t0,j,0,n0,d0,m0),Y0=e[p0>>2]|0,i1=e[Z>>2]|0,x0=i1+(Y0<<2)|0,o1=e[x0>>2]|0,h1=el(t,o1,m0,n0)|0,g1=e[v0>>2]|0,e[g1>>2]=h1,m1=e[p0>>2]|0,d1=e[Z>>2]|0,A1=d1+(m1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,j0=a1+28|0,E1=e[j0>>2]|0,I1=Gt(t,c1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[Z>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,Z1=e[p0>>2]|0,G1=e[Z>>2]|0,x1=G1+(Z1<<2)|0,J1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,V1=q1+28|0,Y1=e[V1>>2]|0,X1=Gt(t,J1,H1,Y1,28086)|0,o2=e[v0>>2]|0,O1=o2+12|0,e[O1>>2]=X1,u2=e[p0>>2]|0,W1=e[Z>>2]|0,I2=W1+(u2<<2)|0,a2=e[I2>>2]|0,C2=e[v0>>2]|0,A2=e[C2>>2]|0,K1=C2+28|0,d2=e[K1>>2]|0,l2=Gt(t,a2,A2,d2,37449)|0,r2=e[v0>>2]|0,$2=r2+16|0,e[$2>>2]=l2,e2=e[p0>>2]|0,s2=e[Z>>2]|0,m2=s2+(e2<<2)|0,t2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,P2=e[v0>>2]|0,p2=P2+20|0,e[p2>>2]=L2,K2=e[p0>>2]|0,O2=e[Z>>2]|0,z2=O2+(K2<<2)|0,U2=e[z2>>2]|0,H2=e[v0>>2]|0,W2=e[H2>>2]|0,A5=H2+28|0,N1=e[A5>>2]|0,e5=Gt(t,U2,W2,N1,56173)|0,F5=e[v0>>2]|0,t5=F5+24|0,e[t5>>2]=e5,_5=e[p0>>2]|0,Z2=e[Z>>2]|0,I5=Z2+(_5<<2)|0,b5=e[I5>>2]|0,V5=e[v0>>2]|0,g5=V5+28|0,B5=e[g5>>2]|0,o5=V5+56|0,R2=e[o5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,T5=e[p0>>2]|0,m5=e[Z>>2]|0,x5=m5+(T5<<2)|0,q5=e[x5>>2]|0,Y2=e[v0>>2]|0,p5=Y2+28|0,$5=e[p5>>2]|0,u5=Y2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,h5=D5+36|0,e[h5>>2]=T1,l5=e[p0>>2]|0,j2=e[Z>>2]|0,w5=j2+(l5<<2)|0,i5=e[w5>>2]|0,s5=e[v0>>2]|0,d5=s5+28|0,J2=e[d5>>2]|0,f5=s5+56|0,r5=e[f5>>2]|0,M5=Gt(t,i5,J2,r5,28086)|0,X2=e[v0>>2]|0,c5=X2+40|0,e[c5>>2]=M5,v5=e[p0>>2]|0,z5=e[Z>>2]|0,i3=z5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,d3=I3+28|0,W5=e[d3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,W5,a3,37449)|0,Z5=e[v0>>2]|0,x3=Z5+44|0,e[x3>>2]=B3,f3=e[p0>>2]|0,w3=e[Z>>2]|0,X3=w3+(f3<<2)|0,H3=e[X3>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,s6=X5+56|0,V3=e[s6>>2]|0,c3=Gt(t,H3,t3,V3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,J5=e[Z>>2]|0,H5=J5+(Q3<<2)|0,Y5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,U3=Gt(t,Y5,$6,l3,56173)|0,E6=e[v0>>2]|0,b3=E6+52|0,e[b3>>2]=U3)),L3=D7+1|0,D3=e[l0>>2]|0,a6=(L3|0)<(D3|0),a6)D7=L3;else{B=Z,Tt=D3;break e}}return C=In,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=K7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,m=Ft,b9=C,C=C+((1*m|0)+15&-16)|0,g8=Nu(t)|0,et=(g8|0)!=0,H8=et?0:7,W8=m7+44|0,M8=t+24|0,u8=t+32|0,R8=Ze+2868|0,V8=m7+52|0,E7=H8;;){if(Z8=(hn+12|0)+(E7<<2)|0,dt=e[Z8>>2]|0,q2(dt,0,1),Nt=e[W8>>2]|0,q2(dt,f6,Nt),F8=e[j5>>2]|0,Xt=(F8|0)==0,Xt||(O4=e[M8>>2]|0,q2(dt,O4,1),C4=e[u8>>2]|0,q2(dt,C4,1)),Ae=e[l0>>2]|0,T8=(Ae|0)>0,T8)for(i7=0;;)if(qi=(A6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Vi=j1+(i7<<2)|0,Ei=e[Vi>>2]|0,j8=(A6+1028|0)+(Hi<<2)|0,Ci=e[j8>>2]|0,X8=e[B>>2]|0,Bi=X8+(Ci<<2)|0,ei=e[Bi>>2]|0,Qi=V2+(i7<<2)|0,g7=e[Qi>>2]|0,Yi=g7+(E7<<2)|0,yi=e[Yi>>2]|0,wi=nb(dt,t,ei,yi,Ei)|0,u7=O0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,h7=(vi|0)<(ci|0),h7)i7=vi;else{I=ci;break}else I=Ae;if(zi=e[j5>>2]|0,Ji=((Ze+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ji>>2]|0,Db(E7,R8,he,A6,u1,j1,O0,Wi,I),gi=e[A6>>2]|0,ki=(gi|0)>0,ki)for(_7=0;;){if(Zi=(A6+1092|0)+(_7<<2)|0,ti=e[Zi>>2]|0,ui=e[l0>>2]|0,Y8=(ui|0)>0,Y8)for($n=ui,p7=0,ar=0;;)if(ii=(A6+4|0)+(ar<<2)|0,d7=e[ii>>2]|0,ji=(d7|0)==(_7|0),ji?(Si=b9+(p7<<2)|0,Xi=O0+(ar<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,Di=j1+(ar<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ri=X4+(p7<<2)|0,e[ri>>2]=e7,E=e[l0>>2]|0,hi=E,fn=_i):(hi=$n,fn=p7),xi=ar+1|0,t7=(xi|0)<(hi|0),t7)$n=hi,p7=fn,ar=xi;else{Io=fn;break}else Io=0;if(Li=(Ze+1312|0)+(ti<<2)|0,_4=e[Li>>2]|0,Mi=25648+(_4<<2)|0,N8=e[Mi>>2]|0,di=N8+20|0,$9=e[di>>2]|0,B8=e[V8>>2]|0,vt=B8+(ti<<2)|0,Q8=e[vt>>2]|0,G8=TC[$9&7](t,Q8,X4,b9,Io)|0,vr=e[l0>>2]|0,As=(vr|0)>0,As)for(or=0,Mr=0;;)if(zn=(A6+4|0)+(Mr<<2)|0,$s=e[zn>>2]|0,Jn=($s|0)==(_7|0),Jn?(ls=j1+(Mr<<2)|0,cs=e[ls>>2]|0,Kn=or+1|0,gs=X4+(or<<2)|0,e[gs>>2]=cs,_r=Kn):_r=or,on=Mr+1|0,hs=(on|0)<(vr|0),hs)or=_r,Mr=on;else{Dr=_r;break}else Dr=0;if(ds=e[Li>>2]|0,Wn=25648+(ds<<2)|0,fs=e[Wn>>2]|0,Zn=fs+24|0,jn=e[Zn>>2]|0,Is=e[V8>>2]|0,sn=Is+(ti<<2)|0,Xn=e[sn>>2]|0,YQ[jn&3](dt,t,Xn,X4,b9,Dr,G8,_7)|0,an=_7+1|0,to=e[A6>>2]|0,ms=(an|0)<(to|0),ms)_7=an;else break}if(ps=E7+1|0,Es=Nu(t)|0,An=(Es|0)!=0,io=An?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=In,a|0}function Qb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,Y1=F1+28|0,K1=e[Y1>>2]|0,k2=v+104|0,U2=e[k2>>2]|0,I5=t+28|0,T5=e[I5>>2]|0,w=K1+(T5<<2)|0,Y=e[w>>2]|0,t0=t+36|0,e[t0>>2]=Y,d0=F1+4|0,W0=e[d0>>2]|0,G0=W0<<2,g=G0,o1=C,C=C+((1*g|0)+15&-16)|0,d=G0,j0=C,C=C+((1*d|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[d0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=U2+48|0,L1=Y<<1,M1=L1&2147483646,j2=0;;)if(P1=w1+(j2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,J1=(K1+800|0)+(x1<<2)|0,q1=e[J1>>2]|0,H1=25640+(q1<<2)|0,V1=e[H1>>2]|0,X1=V1+20|0,o2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,u2=e[O1>>2]|0,W1=pi[o2&15](t,u2)|0,I2=I1+(j2<<2)|0,e[I2>>2]=W1,a2=E1+(j2<<2)|0,X2=(W1|0)!=0,a=X2&1,e[a2>>2]=a,C2=e[t>>2]|0,A2=C2+(j2<<2)|0,d2=e[A2>>2]|0,g4(d2|0,0,M1|0)|0,l2=j2+1|0,i2=e[d0>>2]|0,c2=(l2|0)<(i2|0),c2)j2=l2;else{a1=i2;break}else a1=p1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,h2=0;t2=U1+(h2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,G2=(Q2|0)==0,L2=D1+(h2<<2)|0,P2=e[L2>>2]|0,G2?(p2=E1+(P2<<2)|0,K2=e[p2>>2]|0,O2=(K2|0)==0,O2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,z2=E1+(P2<<2)|0,e[z2>>2]=1),H2=h2+1|0,W2=(H2|0)<(_1|0),W2;)h2=H2;if(r2=e[o>>2]|0,$2=(r2|0)>0,$2){for(e2=o+1092|0,s2=U2+52|0,m2=o+4|0,A5=a1,w5=0;;){if(V2=(A5|0)>0,V2)for($1=A5,h5=0,f5=0;;)if(N1=m2+(f5<<2)|0,e5=e[N1>>2]|0,F5=(e5|0)==(w5|0),F5?(t5=E1+(f5<<2)|0,_5=e[t5>>2]|0,Z2=j0+(h5<<2)|0,M5=(_5|0)!=0,$=M5&1,e[Z2>>2]=$,b5=e[t>>2]|0,V5=b5+(f5<<2)|0,g5=e[V5>>2]|0,b2=h5+1|0,B5=o1+(h5<<2)|0,e[B5>>2]=g5,B=e[d0>>2]|0,M2=B,l5=b2):(M2=$1,l5=h5),o5=f5+1|0,R2=(o5|0)<(M2|0),R2)$1=M2,h5=l5,f5=o5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,x5=e[m5>>2]|0,q5=25648+(x5<<2)|0,L5=e[q5>>2]|0,Y2=L5+28|0,p5=e[Y2>>2]|0,$5=e[s2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,TC[p5&7](t,y5,o1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[d0>>2]|0,A5=Q,w5=T1}S=e[b1>>2]|0,x=S}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,N=(Y|0)/2&-1,G=(Y|0)>1,s5=x;;){if(i5=s5+-1|0,s0=L+(i5<<2)|0,z=e[s0>>2]|0,o0=R+(z<<2)|0,q=e[o0>>2]|0,h0=F+(i5<<2)|0,j=e[h0>>2]|0,u0=R+(j<<2)|0,c0=e[u0>>2]|0,G)for(r5=0;;){$0=q+(r5<<2)|0,l0=+s[$0>>2],Z=c0+(r5<<2)|0,m0=+s[Z>>2],g0=l0>0,f0=m0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-m0,s[Z>>2]=n0;break}else{s[Z>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=m0+l0,s[Z>>2]=C0;break}else{s[Z>>2]=l0,S0=l0-m0,s[$0>>2]=S0;break}while(!1);if(Q0=r5+1|0,b0=(Q0|0)<(N|0),b0)r5=Q0;else break}if(U=(s5|0)>1,U)s5=i5;else break}if(e0=e[d0>>2]|0,K=(e0|0)>0,!K)return C=F2,0;for(a0=o+4|0,W=o+1028|0,r0=U2+48|0,d5=0;;)if(y0=e[t>>2]|0,w0=y0+(d5<<2)|0,B0=e[w0>>2]|0,_0=a0+(d5<<2)|0,M0=e[_0>>2]|0,v0=W+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,P0=e[N0>>2]|0,q0=25640+(P0<<2)|0,k0=e[q0>>2]|0,z0=k0+24|0,F0=e[z0>>2]|0,L0=e[r0>>2]|0,K0=L0+(T0<<2)|0,J0=e[K0>>2]|0,H0=I1+(d5<<2)|0,Z0=e[H0>>2]|0,RC[F0&3](t,J0,Z0,B0)|0,O0=d5+1|0,V0=e[d0>>2]|0,s1=(O0|0)<(V0|0),s1)d5=O0;else{E=V0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(J2=0;Y0=e[t>>2]|0,i1=Y0+(J2<<2)|0,x0=e[i1>>2]|0,h1=e[I5>>2]|0,g1=(U2+12|0)+(h1<<2)|0,m1=e[g1>>2]|0,d1=e[m1>>2]|0,yb(d1,x0,x0),u1=J2+1|0,A1=e[d0>>2]|0,c1=(u1|0)<(A1|0),c1;)J2=u1;return C=F2,0}function bC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=M9($)|0,Y=a+o|0,t0=Y<<2,d0=M9(t0)|0,W0=o>>1,G0=+(o|0),o1=G0,E1=+tn(+o1),g=E1*1.4426950408889634,d=+z7(g),m=~~d,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,N=+(F|0),G=b*N,U=+rA(+G),e0=U,K=w1<<1,a0=d0+(K<<2)|0,s[a0>>2]=e0,W=+Vn(+G),r0=W,s0=-r0,z=K|1,o0=d0+(z<<2)|0,s[o0>>2]=s0,q=+(z|0),h0=y*q,j=+rA(+h0),u0=j,c0=K+W0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Vn(+h0),Z=l0,m0=c0+1|0,g0=d0+(m0<<2)|0,s[g0>>2]=Z,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+rA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=d0+(B0<<2)|0,s[_0>>2]=y0,M0=+Vn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,P0=d0+(N0<<2)|0,s[P0>>2]=T0,q0=v1+1|0,k0=(q0|0)<(x|0),k0;)v1=q0;if(z0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=J0,Q1=0,L1=0;;)if(H0=Z0&k1,O0=(H0|0)==0,V0=1<>Y0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=Y0;if(h1=B1^-1,g1=L0&h1,m1=g1+-1|0,d1=k1<<1,u1=w+(d1<<2)|0,e[u1>>2]=m1,A1=d1|1,c1=w+(A1<<2)|0,e[c1>>2]=B1,a1=k1+1|0,$1=(a1|0)<(x|0),$1)k1=a1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function DC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+12|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function yb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,K2=o+($<<2)|0,g=I+j1|0,t5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,d5=u5+(j1<<2)|0,u3=d5,H5=K2,L3=t5;E5=L3+-16|0,w3=H5+8|0,E=+s[w3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,P0=+s[H5>>2],O0=u3+8|0,u1=+s[O0>>2],w1=u1*P0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],c2=+s[L>>2],k2=c2*O1,D2=+s[w3>>2],S2=+s[O0>>2],Q2=S2*D2,G2=k2-Q2,L2=L3+-12|0,s[L2>>2]=G2,P2=H5+24|0,p2=+s[P2>>2],O2=u3+4|0,z2=+s[O2>>2],U2=p2*z2,H2=-U2,W2=H5+16|0,A5=+s[W2>>2],V2=+s[u3>>2],N1=V2*A5,e5=H2-N1,F5=L3+-8|0,s[F5>>2]=e5,_5=+s[W2>>2],Z2=+s[O2>>2],I5=Z2*_5,b5=+s[P2>>2],V5=+s[u3>>2],g5=V5*b5,b2=I5-g5,B5=L3+-4|0,s[B5>>2]=b2,o5=H5+-32|0,R2=u3+16|0,y2=o5>>>0>>0,!y2;)u3=R2,H5=o5,L3=E5;for(Q5=a+(I<<2)|0,d=I+-8|0,T5=o+(d<<2)|0,Q3=d5,Y5=T5,D3=t5;m5=Q3+-16|0,x5=Y5+16|0,q5=+s[x5>>2],L5=Q3+-4|0,Y2=+s[L5>>2],p5=Y2*q5,$5=Y5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],h5=D5*y5,l5=h5+p5,s[D3>>2]=l5,j2=+s[x5>>2],h2=+s[T1>>2],w5=h2*j2,i5=+s[$5>>2],s5=+s[L5>>2],J2=s5*i5,f5=w5-J2,r5=D3+4|0,s[r5>>2]=f5,M5=+s[Y5>>2],X2=Q3+-12|0,c5=+s[X2>>2],F2=c5*M5,v5=Y5+8|0,z5=+s[v5>>2],i3=+s[m5>>2],I3=i3*z5,d3=I3+F2,W5=D3+8|0,s[W5>>2]=d3,r3=+s[Y5>>2],a3=+s[m5>>2],B3=a3*r3,N5=+s[v5>>2],Z5=+s[X2>>2],x3=Z5*N5,f3=B3-x3,X3=D3+12|0,s[X3>>2]=f3,H3=Y5+-32|0,X5=D3+16|0,_3=H3>>>0>>0,!_3;)Q3=m5,Y5=H3,D3=X5;for($6=t+4|0,n3=e[$6>>2]|0,CQ(n3,u5,Q5,I),l3=e[t>>2]|0,U3=e[M2>>2]|0,E6=t+12|0,b3=e[E6>>2]|0,BQ(l3,U3,b3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,J5=s6,S5=a,a6=t5,j5=t5;G3=a6+-16|0,V3=+s[S5>>2],c3=J5+4|0,g3=+s[c3>>2],Q=g3*V3,B=S5+4|0,S=+s[B>>2],b=+s[J5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[J5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],N=F*R,G=M+N,U=-G,s[j5>>2]=U,Y=S5+8|0,e0=+s[Y>>2],K=J5+12|0,a0=+s[K>>2],W=a0*e0,s0=S5+12|0,z=+s[s0>>2],o0=J5+8|0,q=+s[o0>>2],h0=q*z,t0=W-h0,j=a6+-8|0,s[j>>2]=t0,u0=+s[Y>>2],c0=+s[o0>>2],$0=c0*u0,Z=+s[s0>>2],m0=+s[K>>2],g0=m0*Z,f0=$0+g0,n0=-f0,d0=j5+4|0,s[d0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=J5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=J5+16|0,_0=+s[B0>>2],W0=_0*w0,M0=E0-W0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],q0=N0*T0,k0=+s[y0>>2],z0=+s[S0>>2],F0=z0*k0,L0=q0+F0,G0=-L0,K0=j5+8|0,s[K0>>2]=G0,J0=S5+24|0,H0=+s[J0>>2],Z0=J5+28|0,V0=+s[Z0>>2],s1=V0*H0,Y0=S5+28|0,i1=+s[Y0>>2],x0=J5+24|0,o1=+s[x0>>2],h1=o1*i1,g1=s1-h1,s[G3>>2]=g1,m1=+s[J0>>2],d1=+s[x0>>2],A1=d1*m1,c1=+s[Y0>>2],a1=+s[Z0>>2],$1=a1*c1,j0=A1+$1,E1=-j0,I1=j5+12|0,s[I1>>2]=E1,Q1=j5+16|0,p1=S5+32|0,B1=J5+32|0,v1=p1>>>0>>0,v1;)J5=B1,S5=p1,a6=G3,j5=Q1;for(k1=a+(j1<<2)|0,Y3=t5,i6=k1,M3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=i6+-4|0,s[R1>>2]=_1,F1=-_1,s[M3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=D1,G1=-D1,x1=M3+4|0,s[x1>>2]=G1,J1=Y3+-12|0,q1=+s[J1>>2],H1=i6+-12|0,s[H1>>2]=q1,V1=-q1,Y1=M3+8|0,s[Y1>>2]=V1,X1=+s[M1>>2],s[L1>>2]=X1,o2=-X1,u2=M3+12|0,s[u2>>2]=o2,W1=M3+16|0,I2=W1>>>0>>0,I2)Y3=M1,i6=L1,M3=W1;else{G5=t5,z3=t5;break}for(;a2=z3+-16|0,C2=G5+12|0,A2=e[C2>>2]|0,e[a2>>2]=A2,K1=G5+8|0,d2=e[K1>>2]|0,l2=z3+-12|0,e[l2>>2]=d2,i2=G5+4|0,r2=e[i2>>2]|0,$2=z3+-8|0,e[$2>>2]=r2,e2=e[G5>>2]|0,s2=z3+-4|0,e[s2>>2]=e2,m2=G5+16|0,t2=a2>>>0>Q5>>>0,t2;)G5=m2,z3=a2}function EQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0;if(z5=C,v=e[t>>2]|0,w=v>>1,s1=v>>2,c1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,u2=G1+(w<<2)|0,g=w+s1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,e0=(c1|0)>0,e0){for(d=g+1|0,j=o+(d<<2)|0,p0=c1+-1|0,M0=p0>>>1,K0=M0<<1,H0=w+-2|0,Z0=H0-K0|0,O0=g+-4|0,V0=M0<<2,Y0=O0-V0|0,o5=D,x5=0,d5=r2,M5=j;i1=d5+-16|0,x0=o5+-8|0,o1=d5+-8|0,h1=+s[o1>>2],g1=+s[M5>>2],m1=g1+h1,d1=+s[i1>>2],u1=M5+8|0,A1=+s[u1>>2],a1=A1+d1,$1=o5+-4|0,j0=+s[$1>>2],E1=a1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=x5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*a1,L1=+s[$1>>2],M1=L1*m1,b1=v1-M1,_1=x5|1,b=_1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=b1,F1=M5+16|0,U1=x5+2|0,D1=(U1|0)<(c1|0),D1;)o5=x0,x5=U1,d5=i1,M5=F1;P1=K0+2|0,h2=N1+(Z0<<2)|0,w5=o+(Y0<<2)|0,V2=Z0,B5=h2,m5=P1,s5=w5}else V2=w,B5=D,m5=0,s5=r2;if(Z1=o+4|0,x1=w-c1|0,J1=(m5|0)<(x1|0),J1){for(q1=w+-1|0,H1=q1-m5|0,V1=H1-c1|0,Y1=V1>>>1,X1=Y1<<1,o2=m5+X1|0,j1=Y1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,L5=m5,J2=s5,c5=Z1;I2=M2+-8|0,a2=J2+-16|0,C2=J2+-8|0,A2=+s[C2>>2],K1=+s[c5>>2],d2=A2-K1,l2=+s[a2>>2],i2=c5+8|0,c2=+s[i2>>2],$2=l2-c2,e2=M2+-4|0,s2=+s[e2>>2],m2=$2*s2,t2=+s[I2>>2],k2=t2*d2,D2=k2+m2,E=L5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[I2>>2],G2=Q2*$2,P2=+s[e2>>2],p2=P2*d2,K2=G2-p2,O2=L5|1,Q=O2+w|0,z2=G1+(Q<<2)|0,s[z2>>2]=K2,U2=c5+16|0,H2=L5+2|0,W2=(H2|0)<(x1|0),W2;)M2=I2,L5=H2,J2=a2,c5=U2;A5=o2+2|0,l5=o+(O1<<2)|0,B=V2+W1|0,j2=N1+(B<<2)|0,R2=j2,q5=A5,X2=l5}else R2=B5,q5=m5,X2=Z1;if(e5=(q5|0)<(w|0),e5)for(F5=o+(v<<2)|0,y2=R2,Y2=q5,f5=F5,F2=X2;t5=y2+-8|0,_5=f5+-16|0,Z2=f5+-8|0,I5=+s[Z2>>2],b5=-I5,V5=+s[F2>>2],g5=b5-V5,b2=+s[_5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],N=L*F,G=+s[t5>>2],U=G*g5,Y=U+N,m=Y2+w|0,K=G1+(m<<2)|0,s[K>>2]=Y,a0=+s[t5>>2],W=a0*L,r0=+s[R>>2],s0=r0*g5,z=W-s0,o0=Y2|1,I=o0+w|0,q=G1+(I<<2)|0,s[q>>2]=z,h0=F2+16|0,t0=Y2+2|0,u0=(t0|0)<(w|0),u0;)y2=t5,Y2=t0,f5=_5,F2=h0;if($5=t+4|0,u5=e[$5>>2]|0,CQ(u5,N1,u2,w),h5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,BQ(h5,y5,D5,G1),c0=(s1|0)>0,!c0){C=z5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,Z=l0+(w<<2)|0,m0=t+16|0,Q5=Z,p5=0,i5=G1,r5=$0;g0=r5+-4|0,f0=+s[i5>>2],n0=+s[Q5>>2],d0=n0*f0,C0=i5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+d0,w0=+s[m0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,W0=+s[i5>>2],v0=+s[Q0>>2],T0=v0*W0,N0=+s[C0>>2],P0=+s[Q5>>2],q0=P0*N0,k0=T0-q0,z0=+s[m0>>2],F0=k0*z0,s[g0>>2]=F0,L0=i5+8|0,G0=Q5+8|0,J0=p5+1|0,T5=(J0|0)==(s1|0),!T5;)Q5=G0,p5=J0,i5=L0,r5=g0;C=z5}function CQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,V8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,Y8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,vr=0;if(vr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,V5=a+(I<<2)|0,T3=$>>1,B=T3+-8|0,e8=a+(B<<2)|0,g=o,B8=V5,Q8=e8;dt=B8+24|0,Vi=+s[dt>>2],yi=Q8+24|0,ki=+s[yi>>2],bi=Vi-ki,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,d1=+s[Z0>>2],B1=N0-d1,D1=ki+Vi,s[dt>>2]=D1,o2=+s[Z0>>2],l2=o2+N0,s[Q0>>2]=l2,S2=g+4|0,W2=+s[S2>>2],g5=W2*B1,q5=+s[g>>2],j2=q5*bi,c5=j2+g5,s[yi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*bi,S6=s6-i6,s[Z0>>2]=S6,K3=B8+16|0,H6=+s[K3>>2],g9=Q8+16|0,n9=+s[g9>>2],y9=H6-n9,Me=B8+20|0,Ve=+s[Me>>2],Y4=Q8+20|0,de=+s[Y4>>2],I6=Ve-de,xe=n9+H6,s[K3>>2]=xe,I8=+s[Y4>>2],Yt=I8+Ve,s[Me>>2]=Yt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,D4=g+16|0,F9=+s[D4>>2],Ft=F9*y9,u8=Ft+Bt,s[g9>>2]=u8,Z8=+s[D4>>2],Nt=Z8*I6,F8=+s[at>>2],Xt=F8*y9,O4=Nt-Xt,s[Y4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],T8=Q8+8|0,$i=+s[T8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],j8=Q8+12|0,Ci=+s[j8>>2],X8=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ei=+s[j8>>2],Qi=ei+Ei,s[Hi>>2]=Qi,li=g+36|0,g7=+s[li>>2],Yi=g7*X8,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Yi,s[T8>>2]=ci,h7=+s[wi>>2],zi=h7*X8,Ji=+s[li>>2],Ki=Ji*qi,Wi=zi-Ki,s[j8>>2]=Wi,gi=+s[B8>>2],Zi=+s[Q8>>2],ti=gi-Zi,ui=B8+4|0,Y8=+s[ui>>2],ii=Q8+4|0,d7=+s[ii>>2],ji=Y8-d7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ii>>2],Xi=Si+Y8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ri=g+48|0,xi=+s[ri>>2],t7=xi*ti,hi=t7+_i,s[Q8>>2]=hi,z8=+s[ri>>2],Li=z8*ji,_4=+s[Di>>2],b0=_4*ti,E0=Li-b0,s[ii>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(W0=(C0|0)>1,W0)for(N8=1;;){if(M0=1<>N8,P0=4<>1,S=q0+-8|0,G=P0+1|0,h0=P0<<1,$0=h0|1,m0=P0*3|0,f0=m0+1|0,d0=P0<<2,di=0;;){for(z0=n5(di,T0)|0,F0=a+(z0<<2)|0,m=E+z0|0,L0=a+(m<<2)|0,u0=S+z0|0,G0=a+(u0<<2)|0,d=o,vt=L0,G8=G0;K0=vt+24|0,J0=+s[K0>>2],H0=G8+24|0,O0=+s[H0>>2],V0=J0-O0,s1=vt+28|0,Y0=+s[s1>>2],i1=G8+28|0,x0=+s[i1>>2],o1=Y0-x0,h1=O0+J0,s[K0>>2]=h1,g1=+s[i1>>2],m1=g1+Y0,s[s1>>2]=m1,u1=d+4|0,A1=+s[u1>>2],c1=A1*o1,a1=+s[d>>2],$1=a1*V0,j0=$1+c1,s[H0>>2]=j0,E1=+s[d>>2],I1=E1*o1,Q1=+s[u1>>2],p1=Q1*V0,w1=I1-p1,s[i1>>2]=w1,v1=d+(P0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=G8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=G8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=b1+L1,s[k1>>2]=G1,x1=+s[U1>>2],J1=x1+F1,s[R1>>2]=J1,q1=d+(G<<2)|0,H1=+s[q1>>2],V1=H1*Z1,Y1=+s[v1>>2],X1=Y1*_1,j1=X1+V1,s[M1>>2]=j1,O1=+s[v1>>2],u2=O1*Z1,W1=+s[q1>>2],I2=W1*_1,a2=u2-I2,s[U1>>2]=a2,C2=d+(h0<<2)|0,A2=vt+8|0,K1=+s[A2>>2],d2=G8+8|0,i2=+s[d2>>2],c2=K1-i2,r2=vt+12|0,$2=+s[r2>>2],e2=G8+12|0,s2=+s[e2>>2],m2=$2-s2,t2=i2+K1,s[A2>>2]=t2,k2=+s[e2>>2],D2=k2+$2,s[r2>>2]=D2,Q2=d+($0<<2)|0,G2=+s[Q2>>2],L2=G2*m2,P2=+s[C2>>2],p2=P2*c2,K2=p2+L2,s[d2>>2]=K2,O2=+s[C2>>2],z2=O2*m2,U2=+s[Q2>>2],H2=U2*c2,A5=z2-H2,s[e2>>2]=A5,V2=d+(m0<<2)|0,N1=+s[vt>>2],e5=+s[G8>>2],F5=N1-e5,t5=vt+4|0,_5=+s[t5>>2],Z2=G8+4|0,I5=+s[Z2>>2],b5=_5-I5,b2=e5+N1,s[vt>>2]=b2,B5=+s[Z2>>2],o5=B5+_5,s[t5>>2]=o5,R2=d+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[V2>>2],T5=Q5*F5,m5=T5+y2,s[G8>>2]=m5,x5=+s[V2>>2],L5=x5*b5,Y2=+s[R2>>2],p5=Y2*F5,$5=L5-p5,s[Z2>>2]=$5,u5=d+(d0<<2)|0,y5=vt+-32|0,T1=G8+-32|0,D5=T1>>>0>>0,!D5;)d=u5,vt=y5,G8=T1;if(h5=di+1|0,l5=(h5|0)<(M0|0),l5)di=h5;else break}if(h2=N8+1|0,Mi=(h2|0)==(C0|0),Mi)break;N8=h2}if(k0=($|0)>0,k0)$9=0;else return;for(;w5=a+($9<<2)|0,Q=$9|30,i5=a+(Q<<2)|0,s5=+s[i5>>2],N=$9|14,d5=a+(N<<2)|0,J2=+s[d5>>2],f5=s5-J2,q=$9|31,r5=a+(q<<2)|0,M5=+s[r5>>2],c0=$9|15,X2=a+(c0<<2)|0,F2=+s[X2>>2],v5=M5-F2,z5=J2+s5,s[i5>>2]=z5,i3=F2+M5,s[r5>>2]=i3,s[d5>>2]=f5,s[X2>>2]=v5,l0=$9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],Z=$9|12,d3=a+(Z<<2)|0,W5=+s[d3>>2],r3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,N5=+s[a3>>2],n0=$9|13,Z5=a+(n0<<2)|0,x3=+s[Z5>>2],f3=N5-x3,w3=W5+I3,s[E5>>2]=w3,X3=x3+N5,s[a3>>2]=X3,H3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=H3-X5,s[d3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,V3=G3+t3,s[Z5>>2]=V3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=$9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],J5=g3-Q3,v=$9|27,H5=a+(v<<2)|0,Y5=+s[H5>>2],w=$9|11,S5=a+(w<<2)|0,G5=+s[S5>>2],$6=Y5-G5,n3=Q3+g3,s[c3>>2]=n3,l3=G5+Y5,s[H5>>2]=l3,U3=J5-$6,E6=U3*.7071067690849304,s[u3>>2]=E6,b3=$6+J5,L3=b3*.7071067690849304,s[S5>>2]=L3,D=$9|24,D3=a+(D<<2)|0,a6=+s[D3>>2],y=$9|8,z3=a+(y<<2)|0,j5=+s[z3>>2],M3=a6-j5,x=$9|25,h3=a+(x<<2)|0,J3=+s[h3>>2],M=$9|9,d6=a+(M<<2)|0,m3=+s[d6>>2],x6=J3-m3,L6=j5+a6,s[D3>>2]=L6,M6=m3+J3,s[h3>>2]=M6,r6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=r6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,v6=N6+j6,L=$9|22,R3=a+(L<<2)|0,n6=+s[R3>>2],R=$9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],F3=n6-C6,F=$9|7,W3=a+(F<<2)|0,e6=+s[W3>>2],U=$9|23,R6=a+(U<<2)|0,l6=+s[R6>>2],o3=e6-l6,J6=C6+n6,s[R3>>2]=J6,A3=l6+e6,s[R6>>2]=A3,s[o6>>2]=o3,s[W3>>2]=F3,Y=$9|4,c6=a+(Y<<2)|0,B6=+s[c6>>2],e0=$9|20,A6=a+(e0<<2)|0,D6=+s[A6>>2],G6=B6-D6,K=$9|5,e9=a+(K<<2)|0,Q6=+s[e9>>2],a0=$9|21,X6=a+(a0<<2)|0,P3=+s[X6>>2],r9=Q6-P3,V6=D6+B6,s[A6>>2]=V6,o9=P3+Q6,s[X6>>2]=o9,U6=r9*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,t9=r9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,W=$9|2,O3=a+(W<<2)|0,O6=+s[O3>>2],r0=$9|18,s9=a+(r0<<2)|0,h9=+s[s9>>2],C9=O6-h9,s0=$9|3,B9=a+(s0<<2)|0,Q9=+s[B9>>2],z=$9|19,d9=a+(z<<2)|0,f9=+s[d9>>2],V9=Q9-f9,y6=h9+O6,s[s9>>2]=y6,q6=f9+Q9,s[d9>>2]=q6,a9=V9+C9,Y9=a9*.7071067690849304,ye=V9-C9,ge=ye*.7071067690849304,pe=+s[w5>>2],o0=$9|16,z9=a+(o0<<2)|0,re=+s[z9>>2],R9=pe-re,t0=$9|1,w9=a+(t0<<2)|0,K6=+s[w9>>2],j=$9|17,A9=a+(j<<2)|0,we=+s[A9>>2],ue=K6-we,D9=re+pe,s[z9>>2]=D9,Re=we+K6,s[A9>>2]=Re,Fe=ue*.3826834261417389,Ge=R9*.9238795042037964,qe=Fe+Ge,r4=ue*.9238795042037964,ve=R9*.3826834261417389,He=r4-ve,J9=He-v6,he=qe-b6,Ue=qe+b6,Ee=He+v6,w4=he+J9,Z9=J9-he,v9=+s[S5>>2],v4=ge-v9,V4=+s[u3>>2],nt=V4-Y9,Ye=V4+Y9,ze=v9+ge,n4=+s[d3>>2],R4=n4-F6,ot=+s[Z5>>2],ne=ot-P6,u4=n4+F6,Ce=ot+P6,T6=R4-ne,Je=ne+R4,O9=+s[d5>>2],Te=O9-o3,h4=+s[X2>>2],oe=h4-F3,d4=o3+O9,f4=F3+h4,ke=Te+v4,o4=Te-v4,Pe=T6+w4,I4=Pe*.7071067690849304,k9=T6-w4,z4=k9*.7071067690849304,fe=I4+ke,s[o6>>2]=fe,k4=ke-I4,s[c6>>2]=k4,Se=Je-Z9,Ie=Se*.7071067690849304,z6=oe-nt,F4=Ie+o4,s[w5>>2]=F4,T4=o4-Ie,s[O3>>2]=T4,st=Je+Z9,me=st*.7071067690849304,mt=oe+nt,Z3=z6+z4,s[B9>>2]=Z3,_9=z6-z4,s[w9>>2]=_9,S9=mt+me,s[W3>>2]=S9,Oe=mt-me,s[e9>>2]=Oe,s4=d4+Ye,d8=d4-Ye,N4=Ue+u4,f8=u4-Ue,D8=s4+N4,s[d5>>2]=D8,m8=s4-N4,s[d3>>2]=m8,Ut=Ce-Ee,Pt=f4-ze,Ot=d8+Ut,s[z3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Ce+Ee,i8=f4+ze,_8=Pt+f8,s[S5>>2]=_8,Ht=Pt-f8,s[d6>>2]=Ht,Vt=i8+t8,s[X2>>2]=Vt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[h3>>2],pt=Re-xt,zt=+s[D3>>2],Jt=D9-zt,r8=zt+D9,n8=xt+Re,Et=Jt+pt,J4=pt-Jt,G4=+s[d9>>2],Lt=+s[H5>>2],x9=G4-Lt,p8=+s[c3>>2],S4=+s[s9>>2],E8=p8-S4,x8=S4+p8,o8=Lt+G4,L8=+s[E5>>2],a4=+s[A6>>2],s8=L8-a4,Mt=+s[a3>>2],At=+s[X6>>2],Ke=Mt-At,U4=a4+L8,$t=At+Mt,Ct=s8-Ke,Rt=Ke+s8,m4=+s[i5>>2],se=+s[R3>>2],lt=m4-se,ct=+s[r5>>2],Qt=+s[R6>>2],p4=ct-Qt,b4=se+m4,K4=Qt+ct,W4=lt+x9,ae=lt-x9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,be=gt*.7071067690849304,yt=E4+W4,s[R3>>2]=yt,a8=W4-E4,s[A6>>2]=a8,We=Rt-J4,E3=We*.7071067690849304,Z4=p4-E8,wt=E3+ae,s[z9>>2]=wt,A4=ae-E3,s[s9>>2]=A4,j9=Rt+J4,$4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+be,s[d9>>2]=Wt,C8=Z4-be,s[A9>>2]=C8,A8=j4+$4,s[R6>>2]=A8,$8=j4-$4,s[X6>>2]=$8,Zt=b4+x8,l8=b4-x8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,s[i5>>2]=ht,Ze=Zt-jt,s[E5>>2]=Ze,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[D3>>2]=X4,b9=l8-c8,s[c3>>2]=b9,g8=$t+n8,et=K4+o8,H8=Tt+ut,s[H5>>2]=H8,W8=Tt-ut,s[h3>>2]=W8,M8=et+g8,s[r5>>2]=M8,R8=et-g8,s[a3>>2]=R8,l4=$9+32|0,V8=(l4|0)<($|0),V8;)$9=l4}function BQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,U=o+(t<<2)|0,a1=U,$1=a,j0=$,E1=v;h0=e[$1>>2]|0,g=h0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,d=L0+b|0,x0=$+(d<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=c1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[a1>>2],F=L*R,N=a1+4|0,G=+s[N>>2],Y=G*y,e0=Y+F,K=G*L,a0=R*y,W=K-a0,r0=E1+-16|0,s0=D+c1,z=s0*.5,o0=x-M,q=o0*.5,t0=e0+z,s[j0>>2]=t0,j=z-e0,u0=E1+-8|0,s[u0>>2]=j,c0=W+q,$0=j0+4|0,s[$0>>2]=c0,l0=W-q,Z=E1+-4|0,s[Z>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],W0=B0+w0,M0=a1+8|0,v0=+s[M0>>2],T0=W0*v0,N0=a1+12|0,P0=+s[N0>>2],q0=P0*y0,k0=q0+T0,z0=P0*W0,F0=v0*y0,G0=z0-F0,K0=E0+Q0,J0=K0*.5,H0=w0-B0,Z0=H0*.5,O0=k0+J0,V0=j0+8|0,s[V0>>2]=O0,s1=J0-k0,s[r0>>2]=s1,Y0=G0+Z0,i1=j0+12|0,s[i1>>2]=Y0,o1=G0-Z0,h1=E1+-12|0,s[h1>>2]=o1,g1=a1+16|0,m1=$1+16|0,d1=j0+16|0,u1=d1>>>0>>0,u1;)a1=g1,$1=m1,j0=d1,E1=r0}function wb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=le(1,36)|0,d=t+4|0,m=e[d>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function vb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function kb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Sb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0;a9=C,y6=t,Y9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,h3=+z7(l3),N6=h3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,r0=+(g|0),l0=r0*.25,b0=l0,P0=b0*.5,O0=+($|0),u1=P0/O0,w1=+tn(+u1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,c2=R6+1|0,G2=1<>2]=c5,v5=+($|0),z5=v5+.25,E5=z5*r0,I3=E5,d3=I3*.5,W5=d3/O0,r3=+tn(+W5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,N5=V2*B3,Z5=N5+.5,x3=~~Z5,w3=1-c5|0,X3=w3+x3|0,H3=t+40|0,e[H3>>2]=X3,X5=$<<2,_3=M9(X5)|0,t3=t+16|0,e[t3>>2]=_3,s6=M9(X5)|0,G3=t+20|0,e[G3>>2]=s6,V3=M9(X5)|0,c3=t+24|0,e[c3>>2]=V3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,J5=t+48|0,s[J5>>2]=1,H5=(g|0)<26e3;do if(H5)s[J5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){s[J5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[J5>>2]=1.274999976158142)}while(!1);Y3=O0*2,G5=+(g|0),$6=($|0)>0,b3=$6,t9=0,n9=0;e:for(;;){for(Q=b3^1,_6=t9;;){if(D3=_6+1|0,a6=+(D3|0),i6=a6*.08664337545633316,z3=i6+2.7488713472395148,j5=+Yn(+z3),M3=Y3*j5,J3=M3/G5,d6=+z7(J3),m3=~~d6,E=(m3|0)<=(n9|0),e9=E|Q,!e9){m=D3,I=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{h9=n9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],f6=r6-M6,b6=I-n9|0,j6=+(b6|0),v6=f6/j6,R3=n9-I|0,n6=n9-$|0,o6=R3>>>0>n6>>>0,V9=o6?R3:n6,n3=n9-V9|0,G6=M6,C9=n9;C6=G6+100,K3=_3+(C9<<2)|0,s[K3>>2]=C6,F3=G6+v6,W3=C9+1|0,V6=(W3|0)==(n3|0),!V6;)G6=F3,C9=W3;if(U3=(n3|0)<($|0),E6=(m|0)<87,E6)b3=U3,t9=m,n9=n3;else{h9=n3;break}}if(L3=(h9|0)<($|0),L3)for(B9=h9;H6=B9+-1|0,A6=_3+(H6<<2)|0,D6=e[A6>>2]|0,R=_3+(B9<<2)|0,e[R>>2]=D6,F=B9+1|0,r9=(F|0)==($|0),!r9;)B9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,J6=o+120|0,A3=e[J6>>2]|0,c6=o+124|0,B6=o+116|0,T3=o+112|0,U6=1,O3=0,Q9=-99;;){K=n5(o3,O3)|0,a0=+(K|0),W=a0*.0007399999885819852,s0=W,z=+is(+s0),o0=z*13.100000381469727,q=n5(K,K)|0,h0=+(q|0),t0=h0*18499999754340024e-24,j=t0,u0=+is(+j),c0=u0*2.240000009536743,$0=c0+o0,Z=a0*9999999747378752e-20,m0=Z,g0=$0+m0,f0=g0,n0=A3+Q9|0,d0=(n0|0)<(O3|0);e:do if(d0)for(p0=+s[T3>>2],C0=f0-p0,S0=C0,f9=Q9;;){if(Q0=n5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+is(+w0),_0=B0*13.100000381469727,W0=n5(Q0,Q0)|0,M0=+(W0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+is(+T0),q0=N0*2.240000009536743,k0=E0*9999999747378752e-20,z0=k0,F0=_0+z0,L0=F0+q0,G0=L0($|0);e:do if(K0)Y6=U6;else for(J0=e[c6>>2]|0,H0=J0+O3|0,F6=U6;;){if(Y0=(F6|0)<(H0|0),!Y0&&(i1=n5(F6,o3)|0,x0=+(i1|0),o1=x0*.0007399999885819852,h1=o1,g1=+is(+h1),m1=g1*13.100000381469727,d1=n5(i1,i1)|0,A1=+(d1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,D1=O3+1|0,P3=(D1|0)==($|0),P3)break;U6=Y6,O3=D1,Q9=d9}if(e6)for(N=G5*.5,G=e[L>>2]|0,U=G+1|0,Y=1<>2]=O1,W1=O6+1|0,X6=(W1|0)==($|0),X6){v=N;break}else O6=W1;else q6=19}else q6=19;if((q6|0)==19&&(y=G5*.5,v=y),I2=o+36|0,a2=v/O0,C2=a2,A2=o+24|0,K1=+s[A2>>2],d2=o+28|0,l2=+s[d2>>2],r2=_b(I2,C2,$,K1,l2)|0,$2=t+8|0,e[$2>>2]=r2,e2=M9(12)|0,s2=t+12|0,e[s2>>2]=e2,m2=M9(X5)|0,e[e2>>2]=m2,t2=M9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=M9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,s9=0;L2=+(s9|0),P2=L2+.5,p2=P2*G5,K2=p2/Y3,O2=+tn(+K2),z2=O2*2.885390043258667,U2=z2+-11.931568145751953,H2=U2,W2=H2<0,o9=W2?0:H2,d=o9>=16,g9=d?16:o9,A5=~~g9,N1=+(A5|0),e5=g9-N1,F5=e5,t5=1-F5,_5=A5+1|0,Z2=(Q2+132|0)+(A5<<2)|0,I5=+s[Z2>>2],b5=I5,V5=b5*t5,g5=(Q2+132|0)+(_5<<2)|0,B5=+s[g5>>2],o5=B5*e5,R2=o5,M2=R2+V5,y2=M2,Q5=b+(s9<<2)|0,s[Q5>>2]=y2,T5=(Q2+200|0)+(A5<<2)|0,m5=+s[T5>>2],x5=m5,q5=x5*t5,Y2=(Q2+200|0)+(_5<<2)|0,p5=+s[Y2>>2],$5=p5*e5,u5=$5,y5=u5+q5,T1=y5,D5=w+(s9<<2)|0,s[D5>>2]=T1,h5=(Q2+268|0)+(A5<<2)|0,l5=+s[h5>>2],j2=l5,w5=j2*t5,i5=(Q2+268|0)+(_5<<2)|0,s5=+s[i5>>2],d5=s5*e5,J2=d5,f5=J2+w5,r5=f5,M5=D+(s9<<2)|0,s[M5>>2]=r5,X2=s9+1|0,Q6=(X2|0)==($|0),!Q6;)s9=X2}function QQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0;if(O0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,Y=(w|0)==0,Y||E2(w),t0=t+20|0,d0=e[t0>>2]|0,W0=(d0|0)==0,W0||E2(d0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||E2(L0),g=t+8|0,d=e[g>>2]|0,m=(d|0)==0,!m){for(E=d,J0=0;I=E+(J0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,E2(B),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,E2(y),x=e[g>>2]|0,M=x+(J0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,E2(F),N=e[g>>2]|0,G=N+(J0<<2)|0,U=e[G>>2]|0,e0=U+12|0,K=e[e0>>2]|0,E2(K),a0=e[g>>2]|0,W=a0+(J0<<2)|0,r0=e[W>>2]|0,s0=r0+16|0,z=e[s0>>2]|0,E2(z),o0=e[g>>2]|0,q=o0+(J0<<2)|0,h0=e[q>>2]|0,j=h0+20|0,u0=e[j>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,Z=l0+24|0,m0=e[Z>>2]|0,E2(m0),g0=e[g>>2]|0,f0=g0+(J0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,Q0=S0+(J0<<2)|0,b0=e[Q0>>2]|0,E2(b0),E0=J0+1|0,K0=(E0|0)==17,!K0;)o=e[g>>2]|0,E=o,J0=E0;y0=e[g>>2]|0,E2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,E2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,E2(N0),P0=e[w0>>2]|0,q0=P0+8|0,k0=e[q0>>2]|0,E2(k0),z0=e[w0>>2]|0,E2(z0)),H0=t,V0=H0+52|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(V0|0))}}function yQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,d=I,M=C,C=C+((1*d|0)+15&-16)|0,W=t+24|0,u0=e[W>>2]|0,vQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],Z=a+(d0<<2)|0,m0=+s[Z>>2],E=l0-m0,Q=M+(d0<<2)|0,s[Q>>2]=E,B=d0+1|0,f0=(B|0)==(m|0),!f0;)d0=B;if(S=e[W>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,vQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],N=L-F,s[R>>2]=N,G=p0+1|0,n0=(G|0)==(m|0),!n0;)p0=G;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;U=a+(C0<<2)|0,Y=+s[U>>2],e0=Y,K=e0+.5,a0=~~K,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,z=M+(C0<<2)|0,o0=+s[z>>2],q=(y+336|0)+(g<<2)|0,h0=+s[q>>2],t0=h0+o0,s[U>>2]=t0,j=C0+1|0,g0=(j|0)==(m|0),!g0;)C0=j;C=Q0}function wQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,N=t+40|0,u1=e[N>>2]|0,w1=u1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,G=(u1|0)>0,G)for($5=0;q=P1+($5<<2)|0,s[q>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(u1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],h1=g50,g1){for(m1=t+16|0,d1=e[m1>>2]|0,h5=0;A1=d1+(h5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(h5<<2)|0,s[$1>>2]=a1,j0=h5+1|0,Y2=(j0|0)==(F|0),!Y2;)h5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,g1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,u5=0;;){_1=o+(u5<<2)|0,R1=+s[_1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,s5=R1;e:for(;;)for(y5=D5;;){if(D1=y5+1|0,Z1=(D1|0)<(F|0),!Z1){S=0,v=D1,T1=y5,d5=s5;break e}if(G1=k1+(D1<<2)|0,x1=e[G1>>2]|0,J1=(x1|0)==(U1|0),!J1){S=1,v=D1,T1=y5,d5=s5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],V1=H1>s5,V1){D5=D1,s5=H1;continue e}else y5=D1}if(Y1=d5+6,X1=a+(T1<<2)|0,o2=+s[X1>>2],O1=Y1>o2,O1&&(u2=e[L1>>2]|0,W1=U1>>u2,I2=(W1|0)>16,m=I2?16:W1,a2=(m|0)<0,d=a2?0:m,C2=I1+(d<<2)|0,A2=e[C2>>2]|0,K1=e[M1>>2]|0,d2=B1+d5,l2=d2,c2=l2+-30,r2=c2*.10000000149011612,$2=~~r2,e2=($2|0)<0,s2=e2?0:$2,m2=(s2|0)>7,t2=m2?7:s2,k2=A2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+s[S2>>2],L2=~~G2,P2=+s[D2>>2],p2=~~P2,K2=(p2|0)<(L2|0),K2))for(O2=k1+(T1<<2)|0,z2=e[O2>>2]|0,U2=e[b1>>2]|0,H2=z2-U2|0,W2=+(H2|0),V2=K1>>1,N1=+(V2|0),e5=P2+-16,F5=+(K1|0),t5=e5*F5,_5=t5-N1,Z2=_5+W2,I5=~~Z2,p5=p2,z5=I5;b5=(z5|0)>0,b5&&(R=p5+2|0,V5=D2+(R<<2)|0,b2=+s[V5>>2],B5=b2+d5,o5=P1+(z5<<2)|0,R2=+s[o5>>2],M2=R2>2]=B5)),y2=z5+K1|0,Q5=(y2|0)<(u1|0),T5=p5+1|0,m5=(T5|0)<(L2|0),c5=m5&Q5,c5;)p5=T5,z5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),x5=e[M>>2]|0,xb(P1,x5,u1),U=e[t>>2]|0,Y=(U|0)>1;e:do if(Y)for(e0=t+20|0,K=t+28|0,a0=e[e0>>2]|0,W=e[a0>>2]|0,r0=x5>>1,s0=W-r0|0,z=e[K>>2]|0,o0=s0-z|0,h0=e[j1>>2]|0,t0=h0+32|0,Z=1,n0=W,j2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(Z<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,d0=g0>>1,p0=d0-z|0,C0=+s[t0>>2],S0=$0>C0,J2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,r5=J2;;){for(b0=r5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(W0=w0=(U|0),P0=(n0|0)>(T0|0),M5=N0|P0;t:do if(M5)h2=j2;else for(w5=j2;;){if(q0=a+(w5<<2)|0,k0=+s[q0>>2],z0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(U|0),!G0){h2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,K0=(L|0)>(T0|0),K0){h2=L0;break}else w5=L0}while(!1);if(j=h2+1|0,u0=(j|0)<(U|0),!u0){l5=h2;break e}w=a0+(h2<<2)|0,x=e[w>>2]|0,Z=j,n0=x,j2=h2,F2=v5}else l5=0;while(!1);if(J0=e[N>>2]|0,H0=J0+-1|0,Z0=P1+(H0<<2)|0,O0=+s[Z0>>2],V0=(l5|0)<(U|0),V0)i5=l5;else{C=E5;return}for(;s1=a+(i5<<2)|0,Y0=+s[s1>>2],x0=Y0>2]=O0),o1=i5+1|0,L5=(o1|0)==(U|0),!L5;)i5=o1;C=E5}function tl(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,Z=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],N=F+M,G=+s[b>>2],U=N>G,_0=U?G:N,Y=a+(B0<<2)|0,e0=+s[Y>>2],K=e0+Z,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,z=+s[r0>>2],o0=_0-z,q=o0>-17.200000762939453,h0=o0+17.200000762939453,t0=h0,q?(j=D*t0,u0=1-j,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*t0,m0=1-l0,g0=m0,y0=g0),f0=d+(B0<<2)|0,n0=+s[f0>>2],d0=n0*y0,s[f0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function bb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0;return G=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),d=g+8|0,m=e[d>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function Db(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0;if(Ve=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?Z5=16:(d6=A5+508|0,v6=e[d6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,P0=e[b0>>2]|0,O0=1624+(P0<<3)|0,u1=+l1[O0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,V2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,L5=C,C=C+((1*M|0)+15&-16)|0,h2=$+1156|0,F2=(c0|0)>1e3,He=F2?1696:1624,qe=He+(P1<<3)|0,Ge=+l1[qe>>3],N5=n5(j1,Z5)|0,L=N5,x3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=x3,v=N5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=N5,w3=C,C=C+((1*w|0)+15&-16)|0,e[V2>>2]=w3,D=N5,H3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=H3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=i2+4|0,e[t3>>2]=_3,s6=f3+(Z5<<2)|0,G3=Q2+4|0,e[G3>>2]=s6,V3=w3+(Z5<<2)|0,c3=V2+4|0,e[c3>>2]=V3,g3=H3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,C9=(E|0)==2,!C9))for(S5=2;F=e[i2>>2]|0,U=e[Q2>>2]|0,Y=e[V2>>2]|0,e0=e[b2>>2]|0,Y5=n5(S5,Z5)|0,Y3=F+(Y5<<2)|0,G5=i2+(S5<<2)|0,e[G5>>2]=Y3,$6=U+(Y5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=Y+(Y5<<2)|0,U3=V2+(S5<<2)|0,e[U3>>2]=l3,b3=e0+(Y5<<2)|0,L3=b2+(S5<<2)|0,e[L3>>2]=b3,D3=S5+1|0,n9=(D3|0)==(E|0),!n9;)S5=D3;if(J5=e[h2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,z3=c0^-1,j5=Z5^-1,q6=0,y9=z3;;){if(J3=(y9|0)>(j5|0),r4=J3?y9:j5,m3=r4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),Q=L6?x6:Z5,ce(L5|0,m|0,j1|0)|0,g4(a6|0,0,N5|0)|0,i6)for(M6=(Q|0)>0,S6=l0-q6|0,A9=0;;){if(R3=d+(A9<<2)|0,n6=e[R3>>2]|0,o6=n6+(q6<<2)|0,C6=L5+(A9<<2)|0,K3=e[C6>>2]|0,F3=(K3|0)==0,F3){if(M6)for(R6=V2+(A9<<2)|0,l6=e[R6>>2]|0,J6=i2+(A9<<2)|0,A3=e[J6>>2]|0,c6=Q2+(A9<<2)|0,B6=e[c6>>2]|0,T3=b2+(A9<<2)|0,H6=e[T3>>2]|0,w9=0;G0=l6+(w9<<2)|0,s[G0>>2]=1000000013351432e-25,K0=A3+(w9<<2)|0,s[K0>>2]=0,J0=B6+(w9<<2)|0,s[J0>>2]=0,H0=H6+(w9<<2)|0,e[H0>>2]=0,q=w9+q6|0,Z0=n6+(q<<2)|0,e[Z0>>2]=0,V0=w9+1|0,O6=(V0|0)==(m3|0),!O6;)w9=V0}else{if(W3=V2+(A9<<2)|0,e6=e[W3>>2]|0,M6){for(re=0;h0=re+q6|0,A6=n6+(h0<<2)|0,D6=e[A6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=e6+(re<<2)|0,e[X6>>2]=e9,P3=re+1|0,_6=(P3|0)==(m3|0),!_6;)re=P3;if(r9=g+(A9<<2)|0,V6=e[r9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(z9=0;U6=(z9|0)>=(S6|0),u0=U6?Ge:u1,Y6=u0,t0=z9+q6|0,F6=V6+(t0<<2)|0,t9=+s[F6>>2],Q9=+ir(+t9),Z=e6+(z9<<2)|0,m0=+s[Z>>2],g0=Q9/m0,f0=g9+(z9<<2)|0,D9=!(g0>2]=B,n0=z9+1|0,P6=(n0|0)==(Q|0),!P6;)z9=n0;if(M6)for(d0=i2+(A9<<2)|0,p0=e[d0>>2]|0,C0=Q2+(A9<<2)|0,S0=e[C0>>2]|0,R9=0;;)if(Q0=R9+q6|0,E0=V6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(R9<<2)|0,s[B0>>2]=w0,_0=S0+(R9<<2)|0,s[_0>>2]=w0,W0=+s[E0>>2],M0=W0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(R9<<2)|0,q0=+s[N0>>2],k0=q0*q0,s[N0>>2]=k0,z0=R9+1|0,O3=(z0|0)==(m3|0),O3){N=C0,L0=p0;break}else R9=z0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,R=i2+(A9<<2)|0,K=e[R>>2]|0,z=Q2+(A9<<2)|0,N=z,L0=K),F0=e[N>>2]|0,Re=e[$0>>2]|0,+kQ(Re,l0,L0,F0,e6,0,q6,Q,o6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}if(r6=e[h2>>2]|0,f6=(r6|0)>0,f6)for(b6=(Q|0)>0,N6=I-q6|0,j6=l0-q6|0,B3=r6,ve=0;;){if(Y0=($+1160|0)+(ve<<2)|0,i1=e[Y0>>2]|0,x0=($+2184|0)+(ve<<2)|0,o1=e[x0>>2]|0,h1=d+(i1<<2)|0,g1=e[h1>>2]|0,m1=g1+(q6<<2)|0,d1=d+(o1<<2)|0,A1=e[d1>>2]|0,c1=i2+(i1<<2)|0,a1=e[c1>>2]|0,$1=i2+(o1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(o1<<2)|0,p1=e[Q1>>2]|0,B1=V2+(i1<<2)|0,v1=e[B1>>2]|0,k1=V2+(o1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=L5+(i1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,Z1=L5+(o1<<2)|0,D1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?j2=B3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){J1=(K6|0)<(N6|0);do if(J1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,V1=(H1|0)==0,Y1=R1+(K6<<2)|0,V1&&(X1=e[Y1>>2]|0,o2=(X1|0)==0,o2)){t5=(K6|0)<(j6|0);do if(t5)_5=j0+(K6<<2)|0,Z2=+s[_5>>2],I5=a1+(K6<<2)|0,b5=+s[I5>>2],V5=b5+Z2,s[I5>>2]=V5,f9=+ir(+V5),g5=I1+(K6<<2)|0,s[g5>>2]=f9,G=_5;else if(B5=a1+(K6<<2)|0,o5=+s[B5>>2],R2=j0+(K6<<2)|0,M2=+s[R2>>2],y2=M2+o5,Q5=y2<0,B9=+ir(+o5),d9=+ir(+M2),T5=d9+B9,m5=I1+(K6<<2)|0,s[m5>>2]=T5,Q5){x5=-T5,s[B5>>2]=x5,G=R2;break}else{s[B5>>2]=T5,G=R2;break}while(!1);q5=p1+(K6<<2)|0,s[q5>>2]=0,s[G>>2]=0,e[Y1>>2]=1,o0=K6+q6|0,Y2=A1+(o0<<2)|0,e[Y2>>2]=0;break}O1=a1+(K6<<2)|0,u2=+s[O1>>2],V9=+ir(+u2),W1=j0+(K6<<2)|0,I2=+s[W1>>2],y6=+ir(+I2),a2=y6+V9,s[O1>>2]=a2,C2=I1+(K6<<2)|0,A2=+s[C2>>2],K1=p1+(K6<<2)|0,d2=+s[K1>>2],l2=d2+A2,s[C2>>2]=l2,e[Y1>>2]=1,e[q1>>2]=1,j=K6+q6|0,c2=g1+(j<<2)|0,r2=e[c2>>2]|0,$2=A1+(j<<2)|0,e2=e[$2>>2]|0,ye=(r2|0)>-1,we=0-r2|0,s2=ye?r2:we,ge=(e2|0)>-1,ue=0-e2|0,m2=ge?e2:ue,t2=(s2|0)>(m2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,G2=k2?D2:S2,e[$2>>2]=G2,W=e[c2>>2]|0,O2=W,H2=G2):(L2=(e2|0)>0,P2=r2-e2|0,p2=e2-r2|0,K2=L2?P2:p2,e[$2>>2]=K2,e[c2>>2]=e2,a0=e[$2>>2]|0,O2=e2,H2=a0),pe=(O2|0)>-1,Me=0-O2|0,z2=pe?O2:Me,U2=z2<<1,W2=(H2|0)<(U2|0),W2||(N1=0-H2|0,e[$2>>2]=N1,e5=e[c2>>2]|0,F5=0-e5|0,e[c2>>2]=F5)}while(!1);if(p5=v1+(K6<<2)|0,$5=+s[p5>>2],u5=L1+(K6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=K6+1|0,h9=(D5|0)==(m3|0),h9)break;K6=D5}Fe=e[$0>>2]|0,+kQ(Fe,l0,a1,I1,v1,b1,q6,Q,m1),r0=e[h2>>2]|0,j2=r0}if(h5=ve+1|0,l5=(h5|0)<(j2|0),l5)B3=j2,ve=h5;else{a3=j2;break}}else a3=r6;if(w5=q6+Z5|0,i5=(c0|0)>(w5|0),Y9=y9+Z5|0,i5)q6=w5,y9=Y9;else{M3=a3;break}}else M3=J5;if(h3=(M3|0)>0,h3)r3=M3,a9=0;else{C=Ve;return}for(;s5=($+1160|0)+(a9<<2)|0,d5=e[s5>>2]|0,J2=m+(d5<<2)|0,f5=e[J2>>2]|0,r5=(f5|0)==0,M5=($+2184|0)+(a9<<2)|0,r5?(X2=e[M5>>2]|0,c5=m+(X2<<2)|0,v5=e[c5>>2]|0,z5=(v5|0)==0,z5?W5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[J2>>2]=1,i3=e[M5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[h2>>2]|0,W5=s0),I3=a9+1|0,d3=(I3|0)<(W5|0),d3;)r3=W5,a9=I3;C=Ve}function _b(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0;for(et=C,C=C+32480|0,Z3=et+32256|0,b9=et+1792|0,_9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=M9(68)|0,g4(b9|0,0,30464)|0,M3=$>0,ge=$<0,x9=0;;){for(h4=x9<<2,a4=0;o5=a4+h4|0,p5=(o5|0)<88,p5?(i5=1272+(o5<<2)|0,z5=+s[i5>>2],j9=z5):j9=-30,x3=o5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+s[U6>>2],t9=j9>Y6,t9?$4=Y6:$4=j9):(g9=j9>-30,g9?$4=-30:$4=j9),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],h9=$4>s9,h9?F9=s9:F9=$4):(O3=$4>-30,O3?F9=-30:F9=$4),n9=o5+3|0,C9=(n9|0)<88,C9?(d9=1272+(n9<<2)|0,f9=+s[d9>>2],V9=F9>f9,V9?j4=f9:j4=F9):(B9=F9>-30,B9?j4=-30:j4=F9),y6=Z3+(a4<<2)|0,s[y6>>2]=j4,q6=a4+1|0,Ot=(q6|0)==56,!Ot;)a4=q6;if(fe=(b9+(x9*1792|0)|0)+448|0,F=2792+(x9*1344|0)|0,ce(fe|0,F|0,224)|0,z=(b9+(x9*1792|0)|0)+672|0,m0=(2792+(x9*1344|0)|0)+224|0,ce(z|0,m0|0,224)|0,y0=(b9+(x9*1792|0)|0)+896|0,k0=(2792+(x9*1344|0)|0)+448|0,ce(y0|0,k0|0,224)|0,s1=(b9+(x9*1792|0)|0)+1120|0,c1=(2792+(x9*1344|0)|0)+672|0,ce(s1|0,c1|0,224)|0,k1=(b9+(x9*1792|0)|0)+1344|0,G1=(2792+(x9*1344|0)|0)+896|0,ce(k1|0,G1|0,224)|0,u2=(b9+(x9*1792|0)|0)+1568|0,$2=(2792+(x9*1344|0)|0)+1120|0,ce(u2|0,$2|0,224)|0,P2=b9+(x9*1792|0)|0,ce(P2|0,F|0,224)|0,e5=(b9+(x9*1792|0)|0)+224|0,ce(e5|0,F|0,224)|0,M3)for(At=0;;){if(ge)for(Bt=0;pe=16-Bt|0,x8=(pe|0)>-1,$8=0-pe|0,z9=x8?pe:$8,re=+(z9|0),R9=re*g,w9=R9+$,K6=w9<0,I=K6?0:w9,A9=I>0,d=A9?0:I,we=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[we>>2],ue=Me+d,s[we>>2]=ue,Re=Bt+1|0,Yt=(Re|0)==56,!Yt;)Bt=Re;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,N6=o8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Q9=F6<0,E=Q9?0:F6,a9=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[a9>>2],y9=Y9+E,s[a9>>2]=y9,ye=ct+1|0,Vt=(ye|0)==56,!Vt;)ct=ye;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ge)for(Qt=0;r4=16-Qt|0,L8=(r4|0)>-1,l8=0-r4|0,ve=L8?r4:l8,He=+(ve|0),J9=He*g,Ve=J9+$,he=Ve>0,m=he?0:Ve,Ee=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,w4=+s[Ee>>2],Z9=w4+m,s[Ee>>2]=Z9,v9=Qt+1|0,t8=(v9|0)==56,!t8;)Qt=v9;else for(lt=0;v4=16-lt|0,E8=(v4|0)>-1,A8=0-v4|0,V4=E8?v4:A8,nt=+(V4|0),Ye=nt*g,Y4=Ye+$,ze=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+Y4,s[ze>>2]=ot,ne=lt+1|0,qt=(ne|0)==56,!qt;)lt=ne;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(x9<<2)|0,Ge=+s[Fe>>2],qe=Ge,Ke=0;;){for(Ce=(Ke|0)<2,T6=+(Ke|0),v=T6*10,w=70-v,Je=Ce?50:w,O9=Je+qe,de=O9,Et=0;Te=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],d4=oe+de,s[Te>>2]=d4,f4=Et+1|0,Oe=(f4|0)==56,!Oe;)Et=f4;for(ke=_9+(Ke*224|0)|0,ce(ke|0,Z3|0,224)|0,o4=+(Ke|0),Pe=o4*10,I4=70-Pe,Lt=0;;)if(k9=(_9+(Ke*224|0)|0)+(Lt<<2)|0,I6=+s[k9>>2],z4=I4+I6,s[k9>>2]=z4,k4=Lt+1|0,f8=(k4|0)==56,f8){at=0;break}else Lt=k4;for(;Se=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(at<<2)|0,Ie=+s[Se>>2],z6=(_9+(Ke*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=Ie>F4,T4&&(s[z6>>2]=Ie),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(me=Ke+1|0,_8=(me|0)==8,_8){U4=1;break}else Ke=me}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(_9+(xe*224|0)|0)+(G4<<2)|0,N=+s[mt>>2],G=(_9+(U4*224|0)|0)+(G4<<2)|0,U=+s[G>>2],Y=N>2]=N),e0=G4+1|0,d8=(e0|0)==56,d8){J4=0;break}else G4=e0;for(;K=(_9+(U4*224|0)|0)+(J4<<2)|0,a0=+s[K>>2],W=((b9+(x9*1792|0)|0)+(U4*224|0)|0)+(J4<<2)|0,r0=+s[W>>2],s0=a0>2]=a0),o0=J4+1|0,s4=(o0|0)==56,!s4;)J4=o0;if(q=U4+1|0,Ht=(q|0)==8,Ht)break;U4=q}if(h0=x9+1|0,xt=(h0|0)==17,xt)break;x9=h0}for(D9=o,Ue=(a|0)>0,n4=a^-1,S4=0;;){for(t0=M9(32)|0,j=r2+(S4<<2)|0,e[j>>2]=t0,u0=+(S4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,Z=+Yn(+l0),g0=Z/D9,f0=+iA(+g0),n0=~~f0,d0=+(n0|0),p0=d0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+BC(+E0),B0=~~w0,_0=n0+1|0,W0=+(_0|0),M0=W0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,P0=N0+-11.931568145751953,q0=+iA(+P0),z0=~~q0,F0=(B0|0)>(S4|0),p8=F0?S4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(z0|0)>16,Q=G0?16:z0,K0=(wt|0)>(Q|0),J0=S4+1|0,H0=(J0|0)<17,Z0=c0+3.9657840728759766,A4=0;;){if(O0=M9(232)|0,V0=t0+(A4<<2)|0,e[V0>>2]=O0,Ue)for($t=0;Y0=R+($t<<2)|0,s[Y0>>2]=999,i1=$t+1|0,S9=(i1|0)==(a|0),!S9;)$t=i1;if(!K0)for(p4=wt;;){for(x0=+(p4|0),o1=x0*.5,Ct=0,b4=0;;){if(d1=+(Ct|0),u1=d1*.125,A1=u1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,j0=+Yn(+$1),E1=j0/D9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Yn(+p1),w1=B1/D9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(b4|0),We=_1?a8:b4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(We|0)<(Wt|0),D1=(We|0)<(a|0),jt=U1&D1,jt)for(P1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(b4|0)<(a|0),J1=x1?b4:a,q1=J1^-1,H1=(I1|0)>0,x=I1^-1,V1=H1?x:-1,Y1=(V1|0)<(q1|0),Ze=Y1?q1:V1,X1=Ze^-1,o2=(L1|0)>0,M=L1^-1,j1=o2?M:-1,O1=(j1|0)<(n4|0),c8=O1?n4:j1,W1=c8-Ze|0,I2=Ze+a|0,a2=I2^-1,C2=W1>>>0>a2>>>0,Tt=C2?W1:a2,A2=X1-Tt|0,ae=We;;)if(K1=R+(ae<<2)|0,d2=+s[K1>>2],l2=d2>Z1,l2&&(s[K1>>2]=Z1),i2=ae+1|0,pt=(i2|0)==(A2|0),pt){K4=A2;break}else ae=i2;else K4=We;if(c2=Ct+1|0,zt=(c2|0)==56,zt){W4=K4;break}else Ct=c2,b4=K4}if(h1=(W4|0)<(a|0),h1)for(g1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+220|0,m1=+s[g1>>2],P4=W4;e2=R+(P4<<2)|0,s2=+s[e2>>2],m2=s2>m1,m2&&(s[e2>>2]=m1),t2=P4+1|0,Jt=(t2|0)==(a|0),!Jt;)P4=t2;if(k2=p4+1|0,D2=(p4|0)<(Q|0),D2)p4=k2;else break}if(H0){for(Rt=0,E4=0;;){if(O2=+(Rt|0),z2=O2*.125,U2=z2+c0,H2=U2+3.9032840728759766,W2=H2*.6931470036506653,A5=+Yn(+W2),V2=A5/D9,N1=~~V2,F5=U2+4.028284072875977,t5=F5*.6931470036506653,_5=+Yn(+t5),Z2=_5/D9,I5=Z2+1,b5=~~I5,V5=(N1|0)<0,S=V5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(E4|0),Z4=b2?E3:E4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((b9+(J0*1792|0)|0)+(A4*224|0)|0)+(Rt<<2)|0,T5=+s[Q5>>2],m5=(E4|0)<(a|0),x5=m5?E4:a,q5=x5^-1,L5=(N1|0)>0,D=N1^-1,Y2=L5?D:-1,$5=(Y2|0)<(q5|0),ht=$5?q5:Y2,u5=ht^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(n4|0),Ft=D5?n4:T1,h5=Ft-ht|0,l5=ht+a|0,j2=l5^-1,h2=h5>>>0>j2>>>0,X4=h2?h5:j2,w5=u5-X4|0,be=Z4;;)if(s5=R+(be<<2)|0,d5=+s[s5>>2],J2=d5>T5,J2&&(s[s5>>2]=T5),f5=be+1|0,D8=(f5|0)==(w5|0),D8){gt=w5;break}else be=f5;else gt=Z4;if(r5=Rt+1|0,e8=(r5|0)==56,e8){D4=gt;break}else Rt=r5,E4=gt}if(L2=(D4|0)<(a|0),L2)for(p2=((b9+(J0*1792|0)|0)+(A4*224|0)|0)+220|0,K2=+s[p2>>2],yt=D4;M5=R+(yt<<2)|0,X2=+s[M5>>2],c5=X2>K2,c5&&(s[M5>>2]=K2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=t0+(A4<<2)|0,Q2=t0+(A4<<2)|0,G2=t0+(A4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,W5=Z0+d3,r3=W5*.6931470036506653,a3=+Yn(+r3),B3=a3/D9,N5=~~B3,Z5=(N5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,X3=w3+(f3<<2)|0,s[X3>>2]=-999;else if(H3=(N5|0)<(a|0),H3){s6=R+(N5<<2)|0,G3=e[s6>>2]|0,V3=m4+2|0,g3=e[Q2>>2]|0,u3=g3+(V3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=O0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)se=0;else if(J5=O0+12|0,H5=+s[J5>>2],Y5=H5>-200,Y5)se=1;else if(D3=O0+16|0,a6=+s[D3>>2],i6=a6>-200,i6)se=2;else if(z3=O0+20|0,j5=+s[z3>>2],J3=j5>-200,J3)se=3;else if(d6=O0+24|0,m3=+s[d6>>2],x6=m3>-200,x6)se=4;else if(L6=O0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(r6=O0+32|0,f6=+s[r6>>2],b6=f6>-200,b6)se=6;else if(j6=O0+36|0,v6=+s[j6>>2],R3=v6>-200,R3)se=7;else if(n6=O0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)se=8;else if(K3=O0+44|0,F3=+s[K3>>2],W3=F3>-200,W3)se=9;else if(e6=O0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)se=10;else if(J6=O0+52|0,A3=+s[J6>>2],c6=A3>-200,c6)se=11;else if(B6=O0+56|0,T3=+s[B6>>2],H6=T3>-200,H6)se=12;else if(A6=O0+60|0,D6=+s[A6>>2],e9=D6>-200,e9)se=13;else{if(Q6=O0+64|0,X6=+s[Q6>>2],P3=X6>-200,P3){se=14;break}if(r9=O0+68|0,V6=+s[r9>>2],o9=V6>-200,o9){se=15;break}se=16}while(!1);for(s[O0>>2]=se,Kt=55;;){if(S5=Kt+2|0,Y3=O0+(S5<<2)|0,G5=+s[Y3>>2],$6=G5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,U3=(l3|0)>17,U3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),b3=O0+4|0,s[b3>>2]=E6,L3=A4+1|0,Ut=(L3|0)==8,Ut)break;A4=L3}if(Pt=(J0|0)==17,Pt)break;S4=J0}return C=et,r2|0}function vQ(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0;if(Fe=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,A2=C,C=C+((1*I|0)+15&-16)|0,E=v,X2=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,M6=a6<1,ue=M6?1:a6,C6=ue*ue,D=C6*.5,e0=D*ue,s[w>>2]=D,s[A2>>2]=D,s[X2>>2]=0,s[a3>>2]=e0,s[t3>>2]=0,j=(t|0)>1,j)for(O3=1,y6=D,q6=D,a9=0,Y9=0,y9=e0,ye=1;h1=a+(O3<<2)|0,I1=+s[h1>>2],R1=I1+g,V1=R1<1,D9=V1?1:R1,K1=D9*D9,k2=K1+y6,U2=K1*ye,I5=U2+q6,T5=U2*ye,D5=T5+a9,J2=K1*D9,f5=J2+y9,r5=U2*D9,M5=r5+Y9,c5=w+(O3<<2)|0,s[c5>>2]=k2,F2=A2+(O3<<2)|0,s[F2>>2]=I5,v5=X2+(O3<<2)|0,s[v5>>2]=D5,z5=a3+(O3<<2)|0,s[z5>>2]=f5,i3=t3+(O3<<2)|0,s[i3>>2]=M5,E5=O3+1|0,I3=ye+1,P6=(E5|0)==(t|0),!P6;)O3=E5,y6=k2,q6=I5,a9=D5,Y9=M5,y9=f5,ye=I3;if(p0=e[o>>2]|0,M0=p0>>16,K0=(M0|0)>-1,K0)W5=p0,B6=0,D6=0,X6=1,O6=0,ge=0;else for(N5=p0,w3=M0,s9=0,pe=0;;)if(B3=N5&65535,Z5=w+(B3<<2)|0,x3=+s[Z5>>2],f3=0-w3|0,X3=w+(f3<<2)|0,H3=+s[X3>>2],X5=H3+x3,_3=A2+(B3<<2)|0,s6=+s[_3>>2],G3=A2+(f3<<2)|0,V3=+s[G3>>2],c3=s6-V3,g3=X2+(B3<<2)|0,u3=+s[g3>>2],Q3=X2+(f3<<2)|0,J5=+s[Q3>>2],H5=J5+u3,Y5=a3+(B3<<2)|0,Y3=+s[Y5>>2],G5=a3+(f3<<2)|0,$6=+s[G5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,U3=+s[l3>>2],E6=t3+(f3<<2)|0,b3=+s[E6>>2],L3=U3-b3,D3=n3*H5,i6=L3*c3,z3=D3-i6,j5=L3*X5,M3=n3*c3,h3=j5-M3,J3=H5*X5,d6=c3*c3,m3=J3-d6,x6=h3*pe,L6=x6+z3,S6=L6/m3,r6=S6<0,o9=r6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=pe+1,v6=o+(N6<<2)|0,R3=e[v6>>2]|0,n6=R3>>16,o6=(n6|0)>-1,o6){W5=R3,B6=z3,D6=h3,X6=m3,O6=N6,ge=j6;break}else N5=R3,w3=n6,s9=N6,pe=j6;if(d3=W5&65535,r3=(d3|0)<(t|0),r3)for(S=W5,e6=d3,n9=O6,re=ge;;)if(F3=S>>16,W3=w+(e6<<2)|0,R6=+s[W3>>2],l6=w+(F3<<2)|0,o3=+s[l6>>2],J6=R6-o3,A3=A2+(e6<<2)|0,c6=+s[A3>>2],y=A2+(F3<<2)|0,x=+s[y>>2],M=c6-x,L=X2+(e6<<2)|0,R=+s[L>>2],F=X2+(F3<<2)|0,N=+s[F>>2],G=R-N,U=a3+(e6<<2)|0,Y=+s[U>>2],K=a3+(F3<<2)|0,a0=+s[K>>2],W=Y-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],z=t3+(F3<<2)|0,o0=+s[z>>2],q=s0-o0,h0=W*G,t0=q*M,u0=h0-t0,c0=q*J6,$0=W*M,l0=c0-$0,Z=G*J6,m0=M*M,g0=Z-m0,f0=l0*re,n0=f0+u0,d0=n0/g0,C0=d0<0,g9=C0?0:d0,S0=g9-g,Q0=$+(n9<<2)|0,s[Q0>>2]=S0,b0=n9+1|0,E0=re+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,n9=b0,re=E0;else{T3=u0,G6=l0,P3=g0,h9=b0,z9=E0;break}else T3=B6,G6=D6,P3=X6,h9=O6,z9=ge;if(K3=(h9|0)<(t|0),K3)for(C9=h9,R9=z9;W0=R9*G6,v0=W0+T3,T0=v0/P3,N0=T0<0,U6=N0?0:T0,P0=U6-g,q0=$+(C9<<2)|0,s[q0>>2]=P0,k0=C9+1|0,z0=R9+1,_6=(k0|0)==(t|0),!_6;)C9=k0,R9=z0;if(F0=(d|0)<1,F0){C=Fe;return}if(L0=(d|0)/2&-1,G0=L0-d|0,J0=(G0|0)>-1,J0)H6=T3,e9=G6,r9=P3,B9=0,w9=0;else for(H0=d-L0|0,Y0=L0,o1=G0,Q9=0,K6=0;;)if(s1=w+(Y0<<2)|0,i1=+s[s1>>2],x0=0-o1|0,g1=w+(x0<<2)|0,m1=+s[g1>>2],d1=m1+i1,u1=A2+(Y0<<2)|0,A1=+s[u1>>2],c1=A2+(x0<<2)|0,a1=+s[c1>>2],$1=A1-a1,j0=X2+(Y0<<2)|0,E1=+s[j0>>2],Q1=X2+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(Y0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,b1=t3+(Y0<<2)|0,_1=+s[b1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*B1,Z1=D1*$1,G1=P1-Z1,x1=D1*d1,J1=M1*$1,q1=x1-J1,H1=B1*d1,Y1=$1*$1,X1=H1-Y1,o2=q1*K6,j1=o2+G1,O1=j1/X1,u2=O1-g,W1=$+(Q9<<2)|0,I2=+s[W1>>2],a2=u2>2]=u2),C2=Q9+1|0,d2=K6+1,l2=L0+C2|0,i2=l2-d|0,t9=(C2|0)==(H0|0),t9){H6=G1,e9=q1,r9=X1,B9=H0,w9=d2;break}else Y0=l2,o1=i2,Q9=C2,K6=d2;if(Z0=B9+L0|0,O0=(Z0|0)<(t|0),O0)for(V0=t-L0|0,b=Z0,f9=B9,we=w9;;)if(r2=b-d|0,$2=w+(b<<2)|0,e2=+s[$2>>2],s2=w+(r2<<2)|0,m2=+s[s2>>2],t2=e2-m2,D2=A2+(b<<2)|0,S2=+s[D2>>2],Q2=A2+(r2<<2)|0,G2=+s[Q2>>2],L2=S2-G2,P2=X2+(b<<2)|0,p2=+s[P2>>2],K2=X2+(r2<<2)|0,O2=+s[K2>>2],z2=p2-O2,H2=a3+(b<<2)|0,W2=+s[H2>>2],A5=a3+(r2<<2)|0,V2=+s[A5>>2],N1=W2-V2,e5=t3+(b<<2)|0,F5=+s[e5>>2],t5=t3+(r2<<2)|0,_5=+s[t5>>2],Z2=F5-_5,b5=N1*z2,V5=Z2*L2,g5=b5-V5,b2=Z2*t2,B5=N1*L2,o5=b2-B5,R2=z2*t2,M2=L2*L2,y2=R2-M2,Q5=o5*we,m5=Q5+g5,x5=m5/y2,q5=x5-g,L5=$+(f9<<2)|0,Y2=+s[L5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=we+1,y5=$5+L0|0,F6=($5|0)==(V0|0),F6){A6=g5,Q6=o5,V6=y2,d9=V0,A9=u5;break}else b=y5,f9=$5,we=u5;else A6=H6,Q6=e9,V6=r9,d9=B9,A9=w9;if(c2=(d9|0)<(t|0),c2)V9=d9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,h5=T1+A6,l5=h5/V6,j2=l5-g,h2=$+(V9<<2)|0,w5=+s[h2>>2],i5=j2>2]=j2),s5=V9+1|0,d5=Me+1,Y6=(s5|0)==(t|0),!Y6;)V9=s5,Me=d5;C=Fe}function xb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0;if(h1=C,d=a<<2,$=d,m=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,H0=0;else{C=h1;return}for(;;){_0=(H0|0)<2;do if(_0)v0=m+(H0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(H0<<2)|0,e[Q>>2]=E,Y0=H0;else{for(W0=t+(k0<<2)|0,M0=+s[W0>>2],Z0=H0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){V0=Z0,o1=12;break}if(N=Z0+-2|0,G=x+(N<<2)|0,U=+s[G>>2],Y=!(b<=U),Y){V0=Z0,o1=12;break}if(e0=m+(N<<2)|0,K=e[e0>>2]|0,W=K+o|0,r0=(k0|0)<(W|0),r0)Z0=B;else{V0=Z0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(O0<<2)|0,e[w>>2]=k0,D=x+(O0<<2)|0,s[D>>2]=M0,Y0=O0;break}else if((o1|0)==12){o1=0,s0=m+(V0<<2)|0,e[s0>>2]=k0,z=x+(V0<<2)|0,s[z>>2]=M0,Y0=V0;break}}while(!1);if(s1=Y0+1|0,o0=k0+1|0,q0=(o0|0)==(a|0),q0){i1=Y0,x0=s1;break}else k0=o0,H0=s1}if(c0=(i1|0)>-1,!c0){C=h1;return}for(S0=o+1|0,z0=0,G0=0;;){if(q=(z0|0)<(i1|0),q?(h0=z0+1|0,t0=x+(h0<<2)|0,j=+s[t0>>2],u0=x+(z0<<2)|0,$0=+s[u0>>2],l0=j>$0,l0?(Z=m+(h0<<2)|0,m0=e[Z>>2]|0,T0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(z0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),d0=(T0|0)>(a|0),F0=d0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(z0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,J0=G0;;)if(y0=t+(J0<<2)|0,e[y0>>2]=Q0,w0=J0+1|0,N0=(w0|0)==(E0|0),N0){K0=E0;break}else J0=w0;else K0=G0;if(B0=z0+1|0,P0=(B0|0)==(x0|0),P0)break;z0=B0,G0=K0}C=h1}function kQ(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0;if(u2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,Z=e[s0>>2]|0,E0=(Z|0)==0,E0?v1=I:(q0=t+504|0,V0=e[q0>>2]|0,A1=V0-m|0,v1=A1),F1=(v1|0)>(I|0),Y1=F1?I:v1,F=(Y1|0)>0,F)for(N=(d|0)==0,G=(v1|0)<(I|0),U=G?v1:I,q1=0;;){N?O1=9:(a0=d+(q1<<2)|0,W=e[a0>>2]|0,r0=(W|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,z=$+(q1<<2)|0,o0=+s[z>>2],q=g+(q1<<2)|0,h0=+s[q>>2],t0=o0/h0,j=a+(q1<<2)|0,u0=+s[j>>2],c0=u0<0,$0=t0,l0=+Hn(+$0),m0=+z7(l0),c0){g0=-m0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{d0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(U|0),x1){J1=U;break}else q1=C0}else J1=0;if(Y=(J1|0)<(I|0),!Y)return w=0,C=u2,+w;for(e0=(d|0)!=0,K=o-m|0,Q=0,U1=0,H1=J1;;){e0?(S0=d+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],W0=w0/_0,M0=!(W0<.25),v0=(H1|0)<(K|0),X1=e0&v0,o2=M0|X1,o2){k0=a+(H1<<2)|0,z0=+s[k0>>2],F0=z0<0,L0=W0,G0=+Hn(+L0),K0=+z7(G0),J0=-K0,x=F0?J0:K0,y=~~x,H0=E+(H1<<2)|0,e[H0>>2]=y,Z0=n5(y,y)|0,O0=+(Z0|0),s1=+s[B0>>2],Y0=O0*s1,s[y0>>2]=Y0,B=Q,D1=U1;break}else{T0=W0+Q,N0=U1+1|0,P0=R+(U1<<2)|0,e[P0>>2]=y0,B=T0,D1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=D1;break}else Q=B,U1=D1,H1=i1}if(x0=(P1|0)==0,x0||(Pu(R,P1,4,9),o1=(P1|0)>0,!o1))return w=S,C=u2,+w;for(h1=$,g1=t+512|0,m1=+l1[g1>>3],b=S,V1=0;;)if(d1=R+(V1<<2)|0,u1=e[d1>>2]|0,c1=u1,a1=c1-h1|0,$1=a1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],v=L1,M=k1,j1=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[u1>>2]=j1,R1=V1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,V1=R1;return C=u2,+w}function Lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],m=$d,Q=E&1,B=I-Q|0,B|0}function Mb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Rb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,K=0;N=e[F>>2]|0,G=N+(K<<2)|0,U=e[G>>2]|0,Y=(U|0)==0,Y?d=L:(E2(U),o=e[$>>2]|0,d=o),e0=K+1|0,g=(e0|0)<(d|0),g;)L=d,K=e0;if(m=e[F>>2]|0,E2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,E2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,E2(M),E2(t)}}function Fb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0;if(d0=C,g=e[t>>2]|0,q2(o,g,24),d=t+4|0,y=e[d>>2]|0,q2(o,y,24),K=t+8|0,q=e[K>>2]|0,h0=q+-1|0,q2(o,h0,24),t0=t+12|0,j=e[t0>>2]|0,u0=j+-1|0,q2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,q2(o,m,8),I=e[t0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,Z=0;;){if(b=Q+(Z<<2)|0,v=e[b>>2]|0,w=q8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(q2(o,x,3),q2(o,1,1),M=e[b>>2]|0,L=M>>3,q2(o,L,5)):q2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(N=a&1,G=N+f0|0,U=a>>>1,Y=(U|0)==0,Y){g0=G;break}else a=U,f0=G;if(e0=g0+$0|0,a0=Z+1|0,W=e[t0>>2]|0,r0=(a0|0)<(W|0),r0)$0=e0,Z=a0;else{$=e0;break}}if(B=($|0)>0,!!B)for(S=t+280|0,m0=0;s0=S+(m0<<2)|0,z=e[s0>>2]|0,q2(o,z,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Tb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0;a1=C,m=le(1,2840)|0,I=t+28|0,M=e[I>>2]|0,W=i4(o,24)|0,e[m>>2]=W,$0=i4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=i4(o,24)|0,Z0=N0+1|0,V0=m+8|0,e[V0>>2]=Z0,s1=i4(o,6)|0,E=s1+1|0,Q=m+12|0,e[Q>>2]=E,B=i4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)c1=26;else{if(v=(s1|0)>-1,v){for(w=m+24|0,i1=0,h1=0;;){if(x=i4(o,3)|0,L=i4(o,1)|0,R=(L|0)<0,R){c1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(N=i4(o,5)|0,G=(N|0)<0,G){c1=26;break e}U=N<<3,Y=U|x,x0=Y}if(e0=w+(h1<<2)|0,e[e0>>2]=x0,K=(x0|0)==0,K)u1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,z=(s0|0)==0,z){u1=r0;break}else $=s0,A1=r0;if(o0=u1+i1|0,q=h1+1|0,h0=e[Q>>2]|0,t0=(q|0)<(h0|0),t0)i1=o0,h1=q;else{d=o0;break}}if(D=(d|0)>0,D)for(y=m+280|0,g1=0;;){if(j=i4(o,8)|0,u0=(j|0)<0,u0)break e;if(c0=y+(g1<<2)|0,e[c0>>2]=j,l0=g1+1|0,Z=(l0|0)<(d|0),Z)g1=l0;else{O0=D,Y0=d;break}}else O0=0,Y0=d}else O0=0,Y0=0;if(m0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(m0|0)<(f0|0),n0){if(O0)for(d0=m+280|0,m1=0;;){if(S0=d0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,W0=(_0|0)==0,p0=m1+1|0,W0))break e;if(C0=(p0|0)<(Y0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(m0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,P0=e[T0>>2]|0,q0=e[v0>>2]|0,k0=(q0|0)<1,!k0){for(z0=e[Q>>2]|0,o1=q0,d1=1;;){if(G0=n5(z0,d1)|0,K0=(G0|0)>(P0|0),K0)break e;if(F0=o1+-1|0,L0=(o1|0)>1,L0)o1=F0,d1=G0;else{g=G0;break}}return J0=m+16|0,e[J0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(H0=(m|0)==0,H0)?(a=0,a|0):(E2(m),a=0,a|0)}function Nb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,d=le(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[d>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,H0=d+4|0,e[H0>>2]=T0,s1=c0+2848|0,Y0=e[s1>>2]|0,I=d+12|0,e[I>>2]=Y0,E=Y0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=d+16|0,e[b>>2]=S,v=e[S>>2]|0,w=le(T0,4)|0,D=d+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,u1=0,I1=0;;){if(R=M+(u1<<2)|0,F=e[R>>2]|0,N=q8(F)|0,G=(N|0)==0,G)h1=i1,Q1=I1;else if(U=(N|0)>(I1|0),$=U?N:I1,Y=le(N,4)|0,e0=w+(u1<<2)|0,e[e0>>2]=Y,K=(N|0)>0,K)for(W=e[R>>2]|0,r0=w+(u1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,z=W&s0,o0=(z|0)==0,o0?o1=x0:(q=e[s1>>2]|0,h0=x0+1|0,t0=L+(x0<<2)|0,j=e[t0>>2]|0,u0=q+(j*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=h0),Z=$1+1|0,m1=(Z|0)==(N|0),m1){h1=o1,Q1=$;break}else x0=o1,$1=Z;else h1=i1,Q1=$;if(m0=u1+1|0,g0=(m0|0)<(T0|0),g0)i1=h1,u1=m0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=d+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(d0=n5(p0,T0)|0,C0=A1+1|0,g1=(C0|0)==(v|0),g1){a=d0;break}else p0=d0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=d+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=M9(b0)|0,w0=d+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return d|0;if(_0=v<<2,!n0){for(c1=0;J0=M9(_0)|0,Z0=y0+(c1<<2)|0,e[Z0>>2]=J0,O0=c1+1|0,V0=(O0|0)<(E0|0),V0;)c1=O0;return d|0}for(W0=e[w0>>2]|0,a1=0;;){for(L0=M9(_0)|0,G0=y0+(a1<<2)|0,e[G0>>2]=L0,K0=W0+(a1<<2)|0,z0=e[K0>>2]|0,g=E0,j0=0,B1=a1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,P0=n5(N0,p1)|0,q0=B1-P0|0,k0=z0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,d1=(F0|0)==(v|0),!d1;)g=p1,j0=F0,B1=q0;if(M0=a1+1|0,v0=(M0|0)<(E0|0),v0)a1=M0;else break}return d|0}function Gb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||SQ(t,o,a,L,2),0}function Ub(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0;if(U=C,E=(d|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(d|0),M){N=F;break}else L=y,R=F;return x=(N|0)==0,x||bQ(t,a,$,N,m),0}function Pb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)o1=0,I1=0;else return d=0,d|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(o1<<2)|0,b0=e[l0>>2]|0,P0=I1+1|0,K0=a+(I1<<2)|0,e[K0>>2]=b0,Q1=P0),J0=o1+1|0,V0=(J0|0)==(g|0),V0){p1=Q1;break}else o1=J0,I1=Q1;if(H0=(p1|0)==0,H0)return d=0,d|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=K8(t,R)|0,N=+(S|0),G=100/N,U=G,Y=(p1|0)>0,Y)for(e0=M<<2,h1=0;z=K8(t,e0)|0,o0=F+(h1<<2)|0,e[o0>>2]=z,g4(z|0,0,e0|0)|0,q=h1+1|0,x0=(q|0)==(p1|0),!x0;)h1=q;if(K=(M|0)>0,K)for(a0=(S|0)>0,W=v+-1|0,s0=(v|0)>1,g1=0;;){if(h0=n5(g1,S)|0,t0=e[Q>>2]|0,j=t0+h0|0,Y)for(d1=0;;){if(a0)for(u0=a+(d1<<2)|0,c0=e[u0>>2]|0,O0=0,u1=0,$1=0;;)if($0=j+u1|0,Z=c0+($0<<2)|0,m0=e[Z>>2]|0,m1=(m0|0)>-1,j0=0-m0|0,g0=m1?m0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+O0|0,d0=u1+1|0,s1=(d0|0)==(S|0),s1){Z0=n0,a1=m;break}else O0=n0,u1=d0,$1=m;else Z0=0,a1=0;p0=+(Z0|0),C0=p0*U,S0=~~C0;e:do if(s0)for(c1=0;;){if(Q0=(Q+2328|0)+(c1<<2)|0,E0=e[Q0>>2]|0,y0=(a1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,W0=(S0|0)<(B0|0),E1=_0|W0,E1)){A1=c1;break e}if(M0=c1+1|0,v0=(M0|0)<(W|0),v0)c1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(d1<<2)|0,N0=e[T0>>2]|0,q0=N0+(g1<<2)|0,e[q0>>2]=A1,k0=d1+1|0,Y0=(k0|0)==(p1|0),Y0)break;d1=k0}if(z0=g1+1|0,i1=(z0|0)==(M|0),i1)break;g1=z0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,d=F,d|0}function Ob(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||SQ(t,o,a,L,3),0}function qb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,a1=0;else return d=0,d|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,d1=(R|0)!=0,s0=d1&1,A1=s0+a1|0,Z=G0+1|0,z0=(Z|0)==(g|0),z0){c1=A1;break}else G0=Z,a1=A1;if(u1=(c1|0)==0,u1)return d=0,d|0;if(E0=e[o>>2]|0,W0=E0+8|0,M0=e[W0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=K8(t,4)|0,y=w<<2,x=K8(t,y)|0,e[D>>2]=x,g4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,N=(M0|0)>0,G=T0+-1|0,U=(T0|0)>1,Y=e[D>>2]|0,e0=(g|0)>1,K0=0,Y0=F;;){if(N)for(K=e[a>>2]|0,P0=0,Z0=0,x0=Y0,h1=0;;){if(a0=K+(x0<<2)|0,W=e[a0>>2]|0,J0=(W|0)>-1,g1=0-W|0,r0=J0?W:g1,z=(r0|0)>(h1|0),I=z?r0:h1,e0)for(k0=P0,s1=1;;)if(o0=a+(s1<<2)|0,q=e[o0>>2]|0,h0=q+(x0<<2)|0,t0=e[h0>>2]|0,H0=(t0|0)>-1,m1=0-t0|0,j=H0?t0:m1,u0=(j|0)>(k0|0),m=u0?j:k0,c0=s1+1|0,F0=(c0|0)==(g|0),F0){q0=m;break}else k0=m,s1=c0;else q0=P0;if($0=x0+1|0,l0=Z0+g|0,m0=(l0|0)<(M0|0),m0)P0=q0,Z0=l0,x0=$0,h1=I;else{N0=q0,i1=$0,o1=I;break}}else N0=0,i1=Y0,o1=0;e:do if(U)for(V0=0;;){if(g0=(E0+2328|0)+(V0<<2)|0,f0=e[g0>>2]|0,n0=(o1|0)>(f0|0),!n0&&(d0=(E0+2584|0)+(V0<<2)|0,p0=e[d0>>2]|0,C0=(N0|0)>(p0|0),!C0)){O0=V0;break e}if(S0=V0+1|0,Q0=(S0|0)<(G|0),Q0)V0=S0;else{O0=S0;break}}else O0=0;while(!1);if(b0=Y+(K0<<2)|0,e[b0>>2]=O0,y0=K0+1|0,L0=(y0|0)==(w|0),L0)break;K0=y0,Y0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,d=D,d|0}function Hb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0;if(c0=C,C=C+16|0,j=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=d<<2,N=n5(F,R)|0,G=K8(o,N)|0,e[j>>2]=G,U=(d|0)>0,!U)return C=c0,0;for(Y=(Q|0)>1,W=0,t0=0;;){if(e0=$+(W<<2)|0,K=e[e0>>2]|0,B=g+(W<<2)|0,S=e[B>>2]|0,z=(S|0)!=0,b=z&1,q=b+t0|0,Y)for(r0=0,s0=W;v=K+(r0<<2)|0,w=e[v>>2]|0,D=G+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+d|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=W+1|0,a0=(L|0)==(d|0),a0){h0=q;break}else W=L,t0=q}return o0=(h0|0)==0,o0?(C=c0,0):(bQ(t,a,j,1,m),C=c0,0)}function Vb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,P0=t+36|0,O0=e[P0>>2]|0,u1=n5(O0,g)|0,A1=u1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),d=S?B:A1,b=e[I>>2]|0,v=d-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=K8(t,R)|0,N=(g|0)>0;e:do if(N)for(a1=0;;){if(G=$+(a1<<2)|0,U=e[G>>2]|0,Y=(U|0)==0,!Y){c1=a1;break e}if(e0=a1+1|0,K=(e0|0)<(g|0),K)a1=e0;else{c1=e0;break}}else c1=0;while(!1);if(a0=(c1|0)==(g|0),a0||(W=o+8|0,s0=e[W>>2]|0,z=(s0|0)>0,!z))return 0;o0=(D|0)>0,q=t+4|0,h0=I+16|0,t0=o+28|0,j=(b0|0)>0,u0=o+20|0,d1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,m0=nE(Z,q)|0,g0=(m0|0)==-1,g0){v1=23;break e}if(f0=e[h0>>2]|0,n0=(m0|0)<(f0|0),!n0){v1=23;break e}if(d0=e[t0>>2]|0,p0=d0+(m0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=j&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,W0=(I+24|0)+(_0<<2)|0,M0=e[W0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,q0=N0+(_0<<2)|0,k0=e[q0>>2]|0,z0=k0+(w1<<2)|0,F0=e[z0>>2]|0,L0=(F0|0)==0,!L0&&(G0=n5(E1,L)|0,K0=e[I>>2]|0,J0=K0+G0|0,H0=ZS(F0,a,J0,g,q,L)|0,Z0=(H0|0)==-1,Z0))){v1=23;break e}if(V0=I1+1|0,s1=E1+1|0,Y0=(V0|0)<(b0|0),i1=(s1|0)<(D|0),p1=Y0&i1,p1)E1=s1,I1=V0;else{j0=s1;break}}else j0=$1;if(x0=Q1+1|0,o1=(j0|0)<(D|0),o1)$1=j0,Q1=x0;else break}m=e[W>>2]|0,m1=m}else m1=d1;if(h1=w1+1|0,g1=(h1|0)<(m1|0),g1)d1=m1,w1=h1;else{v1=23;break}}return(v1|0)==23,0}function SQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,z=o+16|0,m0=e[z>>2]|0,y0=e[m0>>2]|0,k0=t+36|0,s1=e[k0>>2]|0,c1=s1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(c1|0),d=b?S:c1,v=e[Q>>2]|0,w=d-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,N=R+y|0,G=(N|0)/(y0|0)&-1,U=G<<2,U1=0;h0=K8(t,U)|0,t0=M+(U1<<2)|0,e[t0>>2]=h0,j=U1+1|0,M1=(j|0)==($|0),!M1;)U1=j;if(Y=o+8|0,e0=e[Y>>2]|0,K=(e0|0)>0,!K){C=X1;return}a0=(y|0)>0,W=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,q=o+20|0,E=L^1,V1=0;e:for(;;){if(a0)for(u0=1<>2]|0,Y0=nE(V0,W)|0,i1=(Y0|0)==-1,i1){Y1=25;break e}if(x0=e[r0>>2]|0,o1=(Y0|0)<(x0|0),!o1){Y1=25;break e}if(h1=e[s0>>2]|0,g1=h1+(Y0<<2)|0,m1=e[g1>>2]|0,d1=M+(D1<<2)|0,u1=e[d1>>2]|0,A1=u1+(x1<<2)|0,e[A1>>2]=m1,a1=(m1|0)==0,Z0=D1+1|0,a1){Y1=25;break e}if(O0=(Z0|0)<($|0),O0)D1=Z0;else break}c0=(b1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),J1=E1&I1,J1)R1=j0,Z1=$1;else{_1=j0;break t}for(;;){for(d0=n5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+d0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,W0=(_0|0)==0,!W0&&(M0=e[q>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(V1<<2)|0,P0=e[N0>>2]|0,q0=(P0|0)==0,!q0&&(z0=a+(P1<<2)|0,F0=e[z0>>2]|0,L0=F0+(n0<<2)|0,G0=RC[g&3](P0,L0,W,F)|0,K0=(G0|0)==-1,K0))){Y1=25;break e}if(J0=P1+1|0,H0=(J0|0)<($|0),H0)P1=J0;else break}if($0=G1+1|0,l0=F1+1|0,Z=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=Z&g0,q1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,p1=(_1|0)<(y|0),p1)b1=_1,x1=Q1;else break}if(B1=V1+1|0,w1=e[Y>>2]|0,v1=(B1|0)<(w1|0),v1)V1=B1;else{Y1=25;break}}if((Y1|0)==25){C=X1;return}}function bQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,G5=Q6+1024|0,J6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,l2=e[x>>2]|0,z2=y+12|0,Z2=e[z2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,d3=y+4|0,H3=e[d3>>2]|0,M=e[y>>2]|0,W=H3-M|0,$0=(W|0)/(l2|0)&-1,g4(J6|0,0,512)|0,g4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(d1=($0|0)>0,B1=($|0)>0,D1=(f5|0)>1,o2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(d1){for(G2=(c6|0)==0,L2=1<>2]|0,q5=x5+(j5<<2)|0,L5=e[q5>>2]|0,Y2=e[Q5>>2]|0,p5=Y2+4|0,$5=e[p5>>2]|0,u5=(L5|0)<($5|0),u5&&(y5=Gu(Y2,L5,t)|0,D5=e[o2>>2]|0,h5=D5+y5|0,e[o2>>2]=h5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(R3<<2)|0,I5=e[b2>>2]|0,B5=I5+(j5<<2)|0,o5=e[B5>>2]|0,C6=1,A6=o5;;)if(e5=n5(A6,Z2)|0,F5=C6+j5|0,t5=(F5|0)<($0|0),t5?(_5=I5+(F5<<2)|0,b5=e[_5>>2]|0,V5=b5+e5|0,D6=V5):D6=e5,g5=C6+1|0,L3=(g5|0)==(f5|0),L3){G6=D6;break}else C6=g5,A6=D6;if(K2=e[Q5>>2]|0,O2=K2+4|0,U2=e[O2>>2]|0,H2=(G6|0)<(U2|0),H2&&(W2=Gu(K2,G6,t)|0,A5=e[o2>>2]|0,V2=A5+W2|0,e[o2>>2]=V2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(R2=(j5|0)<($0|0),R6=i2&R2,R6){for(M2=j5-$0|0,y2=M2>>>0>>0,H6=y2?Q2:M2,T5=0-H6|0,d6=j5,K3=0;;){if(j2=n5(d6,l2)|0,h2=e[y>>2]|0,w5=h2+j2|0,B1)for(o6=0;;){if(i5=g+(o6<<2)|0,s5=e[i5>>2]|0,d5=s5+(d6<<2)|0,J2=e[d5>>2]|0,G2&&(r5=A3+(J2<<2)|0,M5=e[r5>>2]|0,X2=M5+l2|0,e[r5>>2]=X2),c5=(y+24|0)+(J2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,z5=(v5|0)==0,!z5&&(i3=e[D2>>2]|0,E5=i3+(J2<<2)|0,I3=e[E5>>2]|0,W5=I3+(c6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,N5=e[B3>>2]|0,Z5=e[r3>>2]|0,x3=(l2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=r3+48|0,X3=r3+52|0,X5=r3+44|0,_3=r3+12|0,t3=r3+4|0,L=Z5,S5=0,h3=0;;){s6=n5(h3,Z5)|0,b=s6+w5|0,G3=N5+(b<<2)|0,V3=e[w3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(U=g3+-1|0,m3=0,S6=0,W3=L;;)if(C0=W3+-1|0,D=b+C0|0,S0=N5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-V3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(W0=E0-u3|0,M0=W0<<1,T0=M0),v0=n5(S6,g3)|0,P0=(T0|0)<0,q0=(T0|0)>=(g3|0),k0=q0?U:T0,z0=P0?0:k0,F0=z0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,W3=C0}else{if(!R){r6=0;break}for(F=c3>>1,N=F-V3|0,G=g3+-1|0,M3=0,M6=0,F3=L;;)if(Y=F3+-1|0,w=b+Y|0,e0=N5+(w<<2)|0,K=e[e0>>2]|0,a0=N+K|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(z=u3-r0|0,o0=z<<1,q=o0+-1|0,u0=q):(h0=r0-u3|0,t0=h0<<1,u0=t0),j=n5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),Z=l0?G:u0,m0=c0?0:Z,g0=m0+j|0,f0=n5(r0,c3)|0,n0=f0+V3|0,d0=o3+(Y<<2)|0,e[d0>>2]=n0,p0=M3+1|0,z3=(p0|0)==(L|0),z3){r6=g0;break}else M3=p0,M6=g0,F3=Y}while(!1);K0=e[_3>>2]|0,J0=K0+8|0,H0=e[J0>>2]|0,O0=H0+r6|0,V0=f[O0>>0]|0,s1=V0<<24>>24<1;do if(s1){if(e[G5>>2]=0,e[G5+4>>2]=0,e[G5+8>>2]=0,e[G5+12>>2]=0,e[G5+16>>2]=0,e[G5+20>>2]=0,e[G5+24>>2]=0,e[G5+28>>2]=0,Y0=g3+-1|0,i1=n5(Y0,c3)|0,x0=i1+V3|0,o1=e[t3>>2]|0,h1=(o1|0)>0,h1)J5=-1,x6=0,f6=r6;else{N6=r6;break}for(;;){g1=H0+x6|0,m1=f[g1>>0]|0,u1=m1<<24>>24>0;do if(u1){if(R)for(j6=0,T3=0;;)if(A1=G5+(j6<<2)|0,c1=e[A1>>2]|0,v=b+j6|0,a1=N5+(v<<2)|0,$1=e[a1>>2]|0,j0=c1-$1|0,E1=n5(j0,j0)|0,I1=E1+T3|0,Q1=j6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else j6=Q1,T3=I1;else B6=0;if(p1=(J5|0)==-1,w1=(B6|0)<(J5|0),e6=p1|w1,!e6){H5=J5,b6=f6;break}e[o3>>2]=e[G5>>2]|0,e[o3+4>>2]=e[G5+4>>2]|0,e[o3+8>>2]=e[G5+8>>2]|0,e[o3+12>>2]=e[G5+12>>2]|0,e[o3+16>>2]=e[G5+16>>2]|0,e[o3+20>>2]=e[G5+20>>2]|0,e[o3+24>>2]=e[G5+24>>2]|0,e[o3+28>>2]=e[G5+28>>2]|0,H5=B6,b6=x6}else H5=J5,b6=f6;while(!1);if(v1=e[G5>>2]|0,k1=(v1|0)<(x0|0),k1)m=G5,I=v1;else for(M1=G5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,b1=G5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(x0|0),R1){m=b1,I=_1;break}else M1=b1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=x6+1|0,n3=(G1|0)==(o1|0),n3){N6=b6;break}else J5=H5,x6=G1,f6=b6}}else N6=r6;while(!1);if(x1=(N6|0)>-1,l6=R&x1,l6)for(d=G3,L6=0;J1=o3+(L6<<2)|0,q1=e[J1>>2]|0,H1=d+4|0,V1=e[d>>2]|0,Y1=V1-q1|0,e[d>>2]=Y1,X1=L6+1|0,l3=(X1|0)==(L|0),!l3;)d=H1,L6=X1;if(j1=Gu(r3,N6,t)|0,O1=j1+S5|0,u2=h3+1|0,U3=(u2|0)==(x3|0),U3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,h3=u2}B=e[i5>>2]|0,C2=B,Y5=E}else C2=s5,Y5=0;W1=e[S2>>2]|0,I2=W1+Y5|0,e[S2>>2]=I2,a2=C2+(d6<<2)|0,A2=e[a2>>2]|0,K1=J6+(A2<<2)|0,d2=e[K1>>2]|0,c2=d2+Y5|0,e[K1>>2]=c2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if($2=K3+1|0,e2=d6+1|0,b3=($2|0)==(T5|0),b3)break;d6=e2,K3=$2}P2=j5-H6|0,J3=P2}else J3=j5;if(p2=(J3|0)<($0|0),p2)j5=J3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(s2=c6+1|0,m2=(s2|0)<(t2|0),m2)k2=t2,c6=s2;else break}C=Q6}function q8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){m=g;break}else o=$,I=g;return m|0}function DQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0;d2=C,C=C+144|0,O1=d2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=M9(R)|0,g4(O1|0,0,132)|0,Z=(o|0)>0;do if(Z){E0=O1+4|0,q0=(a|0)==0,V0=q0&1,v1=0,D1=0;e:for(;;){A1=t+D1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,u2=w|y,!u2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(z=v,o0=M,J1=B;;){if(r0=z+1|0,e[o0>>2]=r0,q=J1+-1|0,h0=(J1|0)>1,!h0)break i;if(d=O1+(q<<2)|0,I=e[d>>2]|0,t0=O1+(q<<2)|0,j=I&1,u0=(j|0)==0,u0)z=I,o0=t0,J1=q;else{g=t0,x1=q,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,G=(x1|0)==1,G){U=e[E0>>2]|0,Y=U+1|0,e[E0>>2]=Y;break}else{e0=x1+-1|0,K=O1+(e0<<2)|0,a0=e[K>>2]|0,W=a0<<1,e[g>>2]=W;break}while(!1);if(Y1=B+1|0,N=(Y1|0)<33,N)for(R1=v,H1=B,X1=Y1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,d0=(q1|0)<33,d0)V1=X1,R1=$0,X1=q1,H1=V1;else{m=1;break}}else m=1}else m=V0;while(!1);if(k1=v1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,D1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return E2(s0),$=0,C=d2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,O0=e[Z0>>2]|0,s1=32-P1|0,Y0=-1>>>s1,i1=O0&Y0,x0=(i1|0)==0,J0=P1+1|0,!!x0;)if(H0=(J0|0)<33,H0)P1=J0,K1=27;else break e;return E2(s0),$=0,C=d2,$|0}while(!1);if(!Z)return $=s0,C=d2,$|0;if(E)b1=0,G1=0;else{for(M1=0,Z1=0;;){if(o1=t+Z1|0,h1=f[o1>>0]|0,g1=h1<<24>>24>0,g1)for(m1=s0+(M1<<2)|0,d1=e[m1>>2]|0,u1=h1<<24>>24,o2=0,C2=0;;)if(c1=C2<<1,a1=d1>>>o2,$1=a1&1,j0=$1|c1,E1=o2+1|0,I1=(E1|0)<(u1|0),I1)o2=E1,C2=j0;else{I2=j0;break}else I2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=I2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=d2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(K0=s0+(b1<<2)|0,P0=e[K0>>2]|0,G0=w0<<24>>24,j1=0,A2=0;;)if(T0=A2<<1,N0=P0>>>j1,k0=N0&1,z0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,A2=z0;else{a2=z0;break}else a2=0;if(_0=w0<<24>>24==0,_0?_1=b1:(W0=b1+1|0,M0=s0+(b1<<2)|0,e[M0>>2]=a2,_1=W0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=d2,$|0}function Yb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0;if(z=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,N=+Fu(+M,+F),d=+iA(+N),m=~~d,K=m;;){for(b=K+1|0,G=1,U=1,Y=0;;)if(B=n5(G,K)|0,S=n5(U,b)|0,v=Y+1|0,w=(v|0)<(D|0),w)G=B,U=S,Y=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),e0=I&E,e0){r0=K;break}Q=(o|0)>(g|0),W=Q?-1:1,a0=K+W|0,K=a0}return r0|0}function zb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0;if(z5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,r5=E>>>0<2,!r5)return d=0,d|0;if(Y0=t+16|0,a1=e[Y0>>2]|0,L1=a1&2097151,x1=+(L1|0),W1=a1>>>21,$2=W1&1023,P2=(a1|0)<0,e5=-x1,$=P2?e5:x1,S=$2+-788|0,N=+aE($,S),o0=N,g0=t+20|0,w0=e[g0>>2]|0,z0=w0&2097151,Z0=+(z0|0),O0=w0>>>21,V0=O0&1023,s1=(w0|0)<0,i1=-Z0,g=s1?i1:Z0,x0=V0+-788|0,o1=+aE(g,x0),h1=o1,g1=e[t>>2]|0,m1=n5(g1,o)|0,d1=le(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(g1|0)>0,!k1)for(;;);for(M1=+(v1|0),b1=M1,_1=+(g1|0),R1=1/_1,F1=R1,U1=+Fu(+b1,+F1),D1=+iA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,o5=1,R2=1,p5=0;;)if(O1=n5(o5,c5)|0,u2=n5(R2,I2)|0,a2=p5+1|0,m5=(a2|0)==(g1|0),m5){m=O1,I=u2;break}else o5=O1,R2=u2,p5=a2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),X2=j1?-1:1,M5=X2+c5|0,c5=M5}if(J1=(v1|0)>0,!J1)return d=d1,d|0;for(q1=(a|0)==0,H1=t+8|0,V1=t+32|0,Y1=h1,X1=o0,o2=t+28|0,M2=0,T1=0;;){if(q1)if(l2=e[V1>>2]|0,i2=e[o2>>2]|0,c2=(i2|0)==0,r2=n5(g1,M2)|0,c2)for(y5=1,j2=0;;)if(_5=(T1|0)/(y5|0)&-1,Z2=(_5|0)%(F2|0)&-1,I5=l2+(Z2<<2)|0,b5=e[I5>>2]|0,V5=+(b5|0),Y2=+ir(+V5),g5=Y2,b2=g5*Y1,B5=X1+b2,b=B5,v=r2+j2|0,w=d1+(v<<2)|0,s[w>>2]=b,D=n5(y5,F2)|0,y=j2+1|0,x=(y|0)<(g1|0),x)y5=D,j2=y;else{v5=21;break}else for($5=1,h5=0,i5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=l2+(L<<2)|0,F=e[R>>2]|0,G=+(F|0),q5=+ir(+G),U=q5,Y=U*Y1,e0=i5,K=e0+X1,a0=K+Y,W=a0,r0=r2+h5|0,s0=d1+(r0<<2)|0,s[s0>>2]=W,z=n5($5,F2)|0,q=h5+1|0,h0=(q|0)<(g1|0),h0)$5=z,h5=q,i5=W;else{v5=21;break}else if(C2=e[H1>>2]|0,A2=C2+T1|0,K1=f[A2>>0]|0,d2=K1<<24>>24==0,d2)y2=M2;else for(e2=e[V1>>2]|0,s2=e[o2>>2]|0,m2=(s2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=n5(k2,g1)|0,u5=1,l5=0,s5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,G2=e2+(Q2<<2)|0,L2=e[G2>>2]|0,p2=+(L2|0),L5=+ir(+p2),K2=L5,O2=K2*Y1,z2=s5,U2=z2+X1,H2=U2+O2,W2=H2,w5=m2?s5:W2,A5=D2+l5|0,V2=d1+(A5<<2)|0,s[V2>>2]=W2,N1=n5(u5,F2)|0,F5=l5+1|0,t5=(F5|0)<(g1|0),t5)u5=N1,l5=F5,s5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,t0=M2+1|0,y2=t0),j=T1+1|0,u0=(j|0)<(v1|0),u0)M2=y2,T1=j;else{d=d1;break}}return d|0}else if((B|0)==2){if(u1=t+4|0,A1=e[u1>>2]|0,c1=(A1|0)>0,!c1)return d=d1,d|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=h1,Q1=o0,p1=t+28|0,B1=(g1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,Z=l0<<24>>24==0,Z?T5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(m0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,d0=a+(Q5<<2)|0,p0=n5(g1,D5)|0,C0=n5(g1,Q5)|0,h2=0,J2=0;S0=p0+h2|0,Q0=m0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),x5=+ir(+E0),y0=x5,B0=y0*I1,_0=J2,W0=_0+Q1,M0=W0+B0,v0=M0,d5=n0?J2:v0,$1?(T0=e[d0>>2]|0,N0=n5(T0,g1)|0,P0=N0+h2|0,q0=d1+(P0<<2)|0,s[q0>>2]=v0):(k0=C0+h2|0,F0=d1+(k0<<2)|0,s[F0>>2]=v0),L0=h2+1|0,G0=(L0|0)<(g1|0),G0;)h2=L0,J2=d5;K0=Q5+1|0,T5=K0}if(J0=D5+1|0,H0=(J0|0)<(A1|0),H0)Q5=T5,D5=J0;else{d=d1;break}}return d|0}else return d=d1,d|0;return 0}function _C(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),E2(t))}function Jb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||E2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||E2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||E2($),d=t+32|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function _Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0;O0=C,H0=t,V0=H0+56|0;do e[H0>>2]=0,H0=H0+4|0;while((H0|0)<(V0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,W=t+4|0,e[W>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,W0=e[_0>>2]|0,M0=DQ(W0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Fu(+b,+D),x=+iA(+y),L=~~x,K0=L;;){for(Y=K0+1|0,T0=1,N0=1,q0=0;;)if(G=n5(T0,K0)|0,U=n5(N0,Y)|0,e0=q0+1|0,P0=(e0|0)==(Q|0),P0){g=G,d=U;break}else T0=G,N0=U,q0=e0;if(R=(g|0)<=(E|0),F=(d|0)>(E|0),k0=F&R,k0){J0=K0;break}N=(g|0)>(E|0),G0=N?-1:1,L0=G0+K0|0,K0=L0}return K=t+44|0,e[K>>2]=J0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,z=+(s0|0),o0=r0>>>21,q=o0&1023,h0=(r0|0)<0,t0=-z,a=h0?t0:z,j=q+-788|0,u0=+aE(a,j),c0=u0,z0=+TQ(c0),l0=~~z0,Z=t+48|0,e[Z>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,f0=g0&2097151,n0=+(f0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+aE($,b0),y0=E0,F0=+TQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function Kb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0;O3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(b=o+4|0,v=e[b>>2]|0,C2=(v|0)>0,C2)for(Y2=o+8|0,w5=e[Y2>>2]|0,K3=0,G6=0;;)if(v5=w5+K3|0,Z5=f[v5>>0]|0,V3=Z5<<24>>24>0,$6=V3&1,E=$6+G6|0,j5=K3+1|0,w=(j5|0)<(v|0),w)K3=j5,G6=E;else{d0=E;break}else d0=0;if(Y=t+4|0,e[Y>>2]=v,t0=t+8|0,e[t0>>2]=d0,W0=e[o>>2]|0,e[t>>2]=W0,G0=(d0|0)>0,!G0)return $=0,C=O3,$|0;if(o1=o+8|0,E1=e[o1>>2]|0,_1=DQ(E1,v,d0)|0,H1=d0<<2,d=H1,A2=C,C=C+((1*d|0)+15&-16)|0,t2=(_1|0)==0,t2){H2=t+16|0,W2=e[H2>>2]|0,A5=(W2|0)==0,A5||E2(W2),V2=t+20|0,N1=e[V2>>2]|0,e5=(N1|0)==0,e5||E2(N1),F5=t+24|0,t5=e[F5>>2]|0,_5=(t5|0)==0,_5||E2(t5),I5=t+28|0,b5=e[I5>>2]|0,V5=(b5|0)==0,V5||E2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=O3,$|0}else F3=0;for(;z2=_1+(F3<<2)|0,Z2=e[z2>>2]|0,Q5=Z2>>>16,T5=Z2<<16,m5=Q5|T5,x5=m5>>>8,q5=x5&16711935,L5=m5<<8,p5=L5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,h5=y5|D5,l5=h5>>>2,j2=l5&858993459,h2=h5<<2,i5=h2&-858993460,s5=j2|i5,d5=s5>>>1,J2=d5&1431655765,f5=s5<<1,r5=f5&-1431655766,M5=J2|r5,e[z2>>2]=M5,X2=A2+(F3<<2)|0,e[X2>>2]=z2,c5=F3+1|0,j6=(c5|0)==(d0|0),!j6;)F3=c5;for(Pu(A2,d0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,z5=M9(H1)|0,i3=t+20|0,e[i3>>2]=z5,E5=_1,W3=0;;)if(I3=A2+(W3<<2)|0,d3=e[I3>>2]|0,W5=d3,r3=W5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=W3,N5=W3+1|0,N6=(N5|0)==(d0|0),N6){e6=0;break}else W3=N5;for(;x3=_1+(e6<<2)|0,f3=e[x3>>2]|0,w3=F2+(e6<<2)|0,X3=e[w3>>2]|0,H3=z5+(X3<<2)|0,e[H3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(d0|0),!b6;)e6=X5;if(E2(_1),_3=zb(o,d0,F2)|0,t3=t+16|0,e[t3>>2]=_3,s6=M9(H1)|0,G3=t+24|0,e[G3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=Q+R6|0,Q3=f[u3>>0]|0,J5=Q3<<24>>24>0,J5?(H5=Q6+1|0,Y5=F2+(Q6<<2)|0,S5=e[Y5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,G5=R6+1|0,n3=(G5|0)<(c3|0),n3)R6=G5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=M9(e9)|0,U3=t+28|0,e[U3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[o1>>2]|0,o5=0,L3=B,l6=0,r9=0;;)if(b3=L3+l6|0,D3=f[b3>>0]|0,a6=D3<<24>>24>0,a6?(i6=r9+1|0,z3=F2+(r9<<2)|0,M3=e[z3>>2]|0,h3=e[U3>>2]|0,J3=h3+M3|0,f[J3>>0]=D3,d6=e[o1>>2]|0,m3=d6+l6|0,x6=f[m3>>0]|0,L6=x6<<24>>24,M6=e[E6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[E6>>2]=L6,R2=L6,M2=d6,V6=i6):(R2=M6,M2=d6,V6=i6)):(R2=o5,M2=L3,V6=r9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)o5=R2,L3=M2,l6=r6,r9=V6;else{I=R2,o9=V6;break}if(x=(o9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=le(2,4)|0,F=t+32|0,e[F>>2]=R,N=R+4|0,e[N>>2]=1,e[R>>2]=1,$=0,C=O3,$|0;P3=1}else P3=o9}else P3=0;if(G=e[t0>>2]|0,U=(G|0)==0,U)U6=-4;else{for(g=G,Y6=0;;)if(e0=g>>>1,K=Y6+1|0,a0=(e0|0)==0,a0){F6=Y6;break}else g=e0,Y6=K;g9=F6+-3|0,U6=g9}if(W=t+36|0,r0=(U6|0)<5,a=r0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[W>>2]=t9,z=1<>2]=o0,h0=(P3|0)>0,h0)for(l0=t9,o3=0;;){if(j=e[U3>>2]|0,u0=j+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,Z=(l0|0)<($0|0),Z)y2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,P0=v0<<2,q0=P0&-858993460,k0=N0|q0,z0=k0>>>1,F0=z0&1431655765,L0=k0<<1,K0=L0&-1431655766,J0=F0|K0,H0=l0-$0|0,Z0=(H0|0)==31,Z0)y2=l0;else for(O0=o3+1|0,s1=$0,A3=0;;)if(V0=A3<>2]=O0,x0=A3+1|0,h1=e[W>>2]|0,g1=f[u0>>0]|0,m1=g1<<24>>24,d1=h1-m1|0,u1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,b1=k1<<8,R1=b1&-16711936,F1=M1|R1,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=D1|Z1,x1=G1>>>2,J1=x1&858993459,q1=G1<<2,V1=q1&-858993460,Y1=J1|V1,X1=Y1>>>1,o2=X1&1431655765,j1=Y1<<1,O1=j1&-1431655766,u2=o2|O1,W1=o0+(u2<<2)|0,I2=e[W1>>2]|0,a2=(I2|0)==0,a2){for(B6=c6;;){if(K1=B6+1|0,d2=(K1|0)<(P3|0),!d2){T3=B6;break}if(l2=e[i3>>2]|0,i2=l2+(K1<<2)|0,c2=e[i2>>2]|0,r2=c2>>>0>B1>>>0,r2){T3=B6;break}else B6=K1}$2=(P3|0)>(v6|0);e:do if($2)for(e2=e[i3>>2]|0,n6=v6;;){if(s2=e2+(n6<<2)|0,m2=e[s2>>2]|0,k2=m2&j0,D2=B1>>>0>>0,D2){R3=n6;break e}if(S2=n6+1|0,Q2=(P3|0)>(S2|0),Q2)n6=S2;else{R3=S2;break}}else R3=v6;while(!1);G2=P3-R3|0,L2=T3>>>0>32767,P2=G2>>>0>32767,C6=P2?32767:G2,H6=T3<<15,A6=H6|-2147483648,p2=L2?-1073774592:A6,K2=p2|C6,e[W1>>2]=K2,o6=R3,D6=T3}else o6=v6,D6=c6;if(O2=J6+1|0,U2=(O2|0)<(z|0),!U2){$=0;break}S=e[W>>2]|0,p1=S,v6=o6,J6=O2,c6=D6}return C=O3,$|0}function Wb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$>>>0>d>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function Zb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0;if(W0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,z=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,Z=l0+4|0,m0=e[Z>>2]|0,g0=(m0|0)>0,!!g0)){for(f0=m0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=n5(D,w)|0,x=v+-1|0,M=n5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(K=(R|0)==0,a=E+L|0,a0=z+(a<<2)|0,K){RQ(D,w,o,z,a0),y0=0;break}else{RQ(D,w,z,o,a0),y0=R;break}else if((v|0)==4)if(N=L+D|0,G=(R|0)==0,$=E+L|0,U=z+($<<2)|0,g=E+N|0,Y=z+(g<<2)|0,d=E+D|0,m=d+N|0,e0=z+(m<<2)|0,G){MQ(D,w,o,z,U,Y,e0),y0=0;break}else{MQ(D,w,z,o,U,Y,e0),y0=R;break}else if(W=(D|0)==1,b0=W?E0:R,r0=(b0|0)==0,I=E+L|0,s0=z+(I<<2)|0,r0){FQ(D,v,w,y,o,o,o,z,z,s0),y0=1;break}else{FQ(D,v,w,y,z,z,z,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,d0=(o0|0)==(m0|0),d0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(q=(w0|0)!=1,h0=(Q|0)>0,B0=h0&q,B0)p0=0;else return;for(;t0=z+(p0<<2)|0,j=e[t0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=j,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function xQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=le(m,4)|0,M=t+4|0,e[M>>2]=I,W=le(32,4)|0,$0=t+8|0,e[$0>>2]=W,Q0=(o|0)==1,!Q0){W0=W+8|0,Y0=-1,g1=0,m1=o,u1=0;e:for(;;)for(M0=Y0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=u1+2|0,A1=Q),B=(A1|0)!=2,H0=g1,d1=m1;;){if(K0=H0+1|0,S=(d1|0)/(A1|0)&-1,b=n5(S,A1)|0,v=(d1|0)==(b|0),!v){Y0=M0,g1=H0,m1=d1,u1=A1;continue e}if(w=H0+2|0,D=W+(w<<2)|0,e[D>>2]=A1,y=(H0|0)==0,c1=B|y,!c1){if(x=(H0|0)<1,!x)for(F0=1;L=K0-F0|0,R=L+1|0,F=W+(R<<2)|0,N=e[F>>2]|0,G=L+2|0,U=W+(G<<2)|0,e[U>>2]=N,Y=F0+1|0,k0=(Y|0)==(K0|0),!k0;)F0=Y;e[W0>>2]=2}if(e0=(S|0)==1,e0){a=y,J0=K0,Z0=H0;break e}else H0=K0,d1=S}if(e[W>>2]=o,K=W+4|0,e[K>>2]=J0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,a1=s0&$,!!a1)for(z=o+1|0,O0=0,x0=0,o1=1;;){if(o0=x0+2|0,q=W+(o0<<2)|0,h0=e[q>>2]|0,t0=n5(h0,o1)|0,j=(o|0)/(t0|0)&-1,u0=(h0|0)>1,u0){for(c0=(j|0)>2,l0=h0+-1|0,s1=O0,i1=0,h1=0;;){if(Z=h1+o1|0,m0=+(Z|0),g0=m0*r0,c0)for(z0=0,L0=s1,G0=2;f0=z0+1,n0=g0*f0,N0=+rA(+n0),g=L0+o|0,d0=I+(g<<2)|0,s[d0>>2]=N0,$1=+Vn(+n0),p0=L0+2|0,d=z+L0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(j|0),b0;)z0=f0,L0=p0,G0=S0;if(E0=s1+j|0,y0=i1+1|0,P0=(y0|0)==(l0|0),P0)break;s1=E0,i1=y0,h1=Z}w0=n5(j,l0)|0,B0=w0+O0|0,V0=B0}else V0=O0;if(_0=x0+1|0,q0=(_0|0)==(Z0|0),q0)break;O0=V0,x0=_0,o1=t0}}}function LQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+8|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function MQ(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0;if(I3=C,I=n5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,Y1=t<<2,K1=Y1+-1|0,k2=t<<1,h2=0,s5=I,f5=F1,X2=0,c5=E;U2=a+(s5<<2)|0,I5=+s[U2>>2],T5=a+(f5<<2)|0,Q=+s[T5>>2],R=Q+I5,s0=a+(X2<<2)|0,Z=+s[s0>>2],E0=a+(c5<<2)|0,q0=+s[E0>>2],V0=q0+Z,A1=V0+R,E1=X2<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=V0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[T5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,Z1=s5+t|0,G1=f5+t|0,x1=X2+t|0,J1=c5+t|0,q1=h2+1|0,h5=(q1|0)==(o|0),!h5;)h2=q1,s5=Z1,f5=G1,X2=x1,c5=J1;if(H1=(t|0)<2,!H1){if(V1=(t|0)==2,!V1){if(Q1)for(X1=t<<1,w5=0,d5=0;;){for(n0=d5<<2,d0=n0+X1|0,j2=2,r5=d5,F2=n0,z5=d0;O1=r5+2|0,u2=F2+2|0,W1=z5+-2|0,I2=O1+I|0,a2=j2+-2|0,C2=g+(a2<<2)|0,A2=+s[C2>>2],d2=I2+-1|0,l2=a+(d2<<2)|0,i2=+s[l2>>2],c2=i2*A2,r2=j2+-1|0,$2=g+(r2<<2)|0,e2=+s[$2>>2],s2=a+(I2<<2)|0,m2=+s[s2>>2],t2=m2*e2,D2=t2+c2,S2=m2*A2,Q2=e2*i2,G2=S2-Q2,L2=I2+I|0,P2=d+(a2<<2)|0,p2=+s[P2>>2],K2=L2+-1|0,O2=a+(K2<<2)|0,z2=+s[O2>>2],H2=z2*p2,W2=d+(r2<<2)|0,A5=+s[W2>>2],V2=a+(L2<<2)|0,N1=+s[V2>>2],e5=N1*A5,F5=e5+H2,t5=N1*p2,_5=A5*z2,Z2=t5-_5,b5=L2+I|0,V5=m+(a2<<2)|0,g5=+s[V5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,o5=+s[B5>>2],R2=o5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],x5=m5*y2,q5=x5+R2,L5=m5*g5,Y2=y2*o5,p5=L5-Y2,$5=q5+D2,u5=q5-D2,y5=p5+G2,T1=G2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+Z2,v=S-Z2,w=r5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+F5,M=y-F5,L=$5+x,F=F2|1,N=$+(F<<2)|0,s[N>>2]=L,G=y5+b,U=$+(u2<<2)|0,s[U>>2]=G,Y=M-T1,e0=z5+-3|0,K=$+(e0<<2)|0,s[K>>2]=Y,a0=u5-v,W=$+(W1<<2)|0,s[W>>2]=a0,r0=T1+M,z=u2+X1|0,o0=z+-1|0,q=$+(o0<<2)|0,s[q>>2]=r0,h0=u5+v,t0=$+(z<<2)|0,s[t0>>2]=h0,j=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=j,l0=y5-b,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=j2+2|0,f0=(g0|0)<(t|0),f0;)j2=g0,r5=O1,F2=u2,z5=W1;if(o2=d5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,d5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,i5=0,J2=Q0,M5=w0,v5=t,i3=t;B0=a+(J2<<2)|0,_0=+s[B0>>2],W0=a+(M5<<2)|0,M0=+s[W0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,P0=N0*.7071067690849304,k0=i3+-1|0,z0=a+(k0<<2)|0,F0=+s[z0>>2],L0=P0+F0,G0=v5+-1|0,K0=$+(G0<<2)|0,s[K0>>2]=L0,J0=+s[z0>>2],H0=J0-P0,Z0=v5+y0|0,O0=Z0+-1|0,s1=$+(O0<<2)|0,s[s1>>2]=H0,Y0=J2+I|0,i1=a+(Y0<<2)|0,x0=+s[i1>>2],o1=T0-x0,h1=$+(v5<<2)|0,s[h1>>2]=o1,g1=+s[i1>>2],m1=g1+T0,d1=$+(Z0<<2)|0,s[d1>>2]=m1,u1=J2+t|0,c1=M5+t|0,a1=v5+b0|0,$1=i3+t|0,j0=i5+1|0,D5=(j0|0)==(o|0),!D5;)i5=j0,J2=u1,M5=c1,v5=a1,i3=$1}}function RQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,d=n5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=d;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,H0=+s[T0>>2],m1=H0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,a1=(D|0)==(o|0),!a1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=d;;){for(z0=B1<<1,F0=z0+m|0,j0=2,M1=k1,_1=F0,R1=B1,F1=z0;N=M1+2|0,G=_1+-2|0,U=R1+2|0,Y=F1+2|0,e0=j0+-2|0,K=g+(e0<<2)|0,W=+s[K>>2],r0=M1+1|0,s0=a+(r0<<2)|0,z=+s[s0>>2],o0=z*W,q=j0+-1|0,h0=g+(q<<2)|0,t0=+s[h0>>2],j=a+(N<<2)|0,u0=+s[j>>2],$0=u0*t0,l0=$0+o0,Z=u0*W,m0=t0*z,g0=Z-m0,f0=a+(U<<2)|0,n0=+s[f0>>2],d0=g0+n0,p0=$+(Y<<2)|0,s[p0>>2]=d0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(G<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,W0=$+(_0<<2)|0,s[W0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=_1+-3|0,P0=$+(N0<<2)|0,s[P0>>2]=v0,q0=j0+2|0,k0=(q0|0)<(t|0),k0;)j0=q0,M1=N,_1=G,R1=U,F1=Y;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(K0=t+-1|0,!!x)for(J0=d+K0|0,Q1=0,w1=t,L1=J0,b1=K0;Z0=a+(L1<<2)|0,O0=+s[Z0>>2],V0=-O0,s1=$+(w1<<2)|0,s[s1>>2]=V0,Y0=a+(b1<<2)|0,i1=e[Y0>>2]|0,x0=w1+-1|0,o1=$+(x0<<2)|0,e[o1>>2]=i1,h1=w1+m|0,g1=L1+t|0,d1=b1+t|0,u1=Q1+1|0,c1=(u1|0)==(o|0),!c1;)Q1=u1,w1=h1,L1=g1,b1=d1}}function FQ(t,o,a,$,g,d,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,V8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,Y8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+rA(+v),H8=+Vn(+v),C2=o+1|0,b3=C2>>1,J9=t+-1|0,Ye=J9>>1,O9=n5(a,t)|0,k9=n5(o,t)|0,me=(t|0)==1;e:do if(!me){if(D8=($|0)>0,D8)for(D4=0;d0=m+(D4<<2)|0,W0=e[d0>>2]|0,G0=E+(D4<<2)|0,e[G0>>2]=W0,o1=D4+1|0,Bt=(o1|0)==($|0),!Bt;)D4=o1;if(Y=(o|0)>1,Y)for(t0=(a|0)>0,wt=1,W8=0;;){if(E1=W8+O9|0,t0)for(l8=0,Ae=E1;_1=d+(Ae<<2)|0,H1=e[_1>>2]|0,A2=I+(Ae<<2)|0,e[A2>>2]=H1,t2=Ae+t|0,z2=l8+1|0,se=(z2|0)==(a|0),!se;)l8=z2,Ae=t2;if(Z2=wt+1|0,lt=(Z2|0)==(o|0),lt)break;wt=Z2,W8=E1}if(Q5=0-t|0,T1=(Ye|0)>(a|0),T1){if(Y)for(H3=(a|0)>0,J5=(t|0)>2,E3=Q5,j9=1,R8=0;;){if(L3=R8+O9|0,x6=E3+t|0,H3)for(n6=L3-t|0,A3=x6+-1|0,ut=0,T8=n6;;){if(P3=T8+t|0,J5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,y6=Bi+2|0,w9=E4+1|0,r4=Q+(w9<<2)|0,He=+s[r4>>2],Ve=Bi+1|0,he=d+(Ve<<2)|0,Ue=+s[he>>2],Ee=Ue*He,w4=Q+(O3<<2)|0,Z9=+s[w4>>2],v9=d+(y6<<2)|0,v4=+s[v9>>2],V4=v4*Z9,nt=V4+Ee,Y4=I+(Ve<<2)|0,s[Y4>>2]=nt,ze=+s[r4>>2],n4=+s[v9>>2],R4=n4*ze,ot=+s[w4>>2],ne=+s[he>>2],u4=ne*ot,Ce=R4-u4,T6=I+(y6<<2)|0,s[T6>>2]=Ce,Je=ct+2|0,de=(Je|0)<(t|0),de;)ct=Je,E4=O3,Bi=y6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,T8=P3}if(h4=j9+1|0,Ct=(h4|0)==(o|0),Ct)break;E3=x6,j9=h4,R8=L3}}else if(Y)for(f5=(t|0)>2,d3=(a|0)>0,Z4=Q5,$4=1,V8=0;;){if(oe=Z4+t|0,d4=V8+O9|0,f5)for(f4=oe+-1|0,Qt=2,gt=f4,$i=d4;;){if(ke=gt+2|0,o4=$i+2|0,d3)for(Pe=gt+1|0,I4=Q+(Pe<<2)|0,I6=Q+(ke<<2)|0,ht=0,ei=o4;z4=+s[I4>>2],fe=ei+-1|0,k4=d+(fe<<2)|0,Se=+s[k4>>2],Ie=Se*z4,z6=+s[I6>>2],F4=d+(ei<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+Ie,mt=I+(fe<<2)|0,s[mt>>2]=xe,Z3=+s[I4>>2],_9=+s[F4>>2],S9=_9*Z3,Oe=+s[I6>>2],s4=+s[k4>>2],d8=s4*Oe,N4=S9-d8,f8=I+(ei<<2)|0,s[f8>>2]=N4,e8=ei+t|0,I8=ht+1|0,Rt=(I8|0)==(a|0),!Rt;)ht=I8,ei=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=ke,$i=o4;else break}if(Pt=$4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,$4=Pt,V8=d4}if(Ot=n5(O9,o)|0,qt=(Ye|0)<(a|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,_8=(t|0)>2,j4=1,dt=0,Hi=Ot;;){if(y0=dt+O9|0,w0=Hi-O9|0,i8)for(Ze=0,li=y0,ci=w0;;){if(_8)for(b4=2,ti=li,Si=ci;B0=ti+2|0,_0=Si+2|0,M0=ti+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=Si+1|0,P0=I+(N0<<2)|0,q0=+s[P0>>2],k0=q0+T0,z0=d+(M0<<2)|0,s[z0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],K0=I+(_0<<2)|0,J0=+s[K0>>2],H0=L0-J0,Z0=d+(N0<<2)|0,s[Z0>>2]=H0,O0=+s[F0>>2],V0=+s[K0>>2],s1=V0+O0,Y0=d+(B0<<2)|0,s[Y0>>2]=s1,i1=+s[P0>>2],x0=+s[v0>>2],h1=i1-x0,g1=d+(_0<<2)|0,s[g1>>2]=h1,m1=b4+2|0,d1=(m1|0)<(t|0),d1;)b4=m1,ti=B0,Si=_0;if(u1=li+t|0,A1=ci+t|0,c1=Ze+1|0,Ke=(c1|0)==(a|0),Ke)break;Ze=c1,li=u1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(b3|0),U4)break e;j4=a1,dt=y0,Hi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,F9=1,Z8=0,qi=Ot;;){if(x=Z8+O9|0,M=qi-O9|0,D)for(p4=2,Qi=x,vi=M;;){if(L=Qi+2|0,R=vi+2|0,y)for(F=R-t|0,N=L-t|0,Ft=0,Zi=N,f7=F;G=Zi+t|0,U=f7+t|0,e0=G+-1|0,K=I+(e0<<2)|0,a0=+s[K>>2],W=U+-1|0,r0=I+(W<<2)|0,s0=+s[r0>>2],z=s0+a0,o0=d+(e0<<2)|0,s[o0>>2]=z,q=I+(G<<2)|0,h0=+s[q>>2],j=I+(U<<2)|0,u0=+s[j>>2],c0=h0-u0,$0=d+(W<<2)|0,s[$0>>2]=c0,l0=+s[q>>2],Z=+s[j>>2],m0=Z+l0,g0=d+(G<<2)|0,s[g0>>2]=m0,f0=+s[r0>>2],n0=+s[K>>2],p0=f0-n0,C0=d+(U<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Zi=G,f7=U;if(Q0=p4+2|0,b0=(Q0|0)<(t|0),b0)p4=Q0,Qi=L,vi=R;else break}if(E0=F9+1|0,At=(E0|0)==(b3|0),At)break;F9=E0,Z8=x,qi=M}}while(!1);if(w=($|0)>0,w)for(be=0;$1=E+(be<<2)|0,j0=e[$1>>2]|0,I1=m+(be<<2)|0,e[I1>>2]=j0,Q1=be+1|0,Kt=(Q1|0)==($|0),!Kt;)be=Q1;if(p1=n5($,o)|0,B1=(b3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Vi=p1;;){if(v1=Nt+O9|0,k1=Vi-O9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,g7=M1,h7=L1;b1=g7+t|0,R1=h7+t|0,F1=I+(b1<<2)|0,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],Z1=P1+U1,G1=d+(b1<<2)|0,s[G1>>2]=Z1,x1=+s[D1>>2],J1=+s[F1>>2],q1=x1-J1,V1=d+(R1<<2)|0,s[V1>>2]=q1,Y1=c8+1|0,a4=(Y1|0)==(a|0),!a4;)c8=Y1,g7=b1,h7=R1;if(X1=Wt+1|0,s8=(X1|0)==(b3|0),s8)break;Wt=X1,Nt=v1,Vi=k1}if(o2=o+-1|0,j1=n5(o2,$)|0,B1){for(O1=(b3|0)>2,Ht=0,Yt=1,et=1,F8=0,Ei=p1;;){if(u2=F8+$|0,W1=Ei-$|0,I2=Yt*pt,a2=Ht*H8,K1=I2-a2,d2=Ht*pt,l2=Yt*H8,i2=l2+d2,w)for(yt=0,zi=u2,ui=W1,Xi=j1,ri=$;c2=m+(yt<<2)|0,r2=+s[c2>>2],$2=ri+1|0,e2=m+(ri<<2)|0,s2=+s[e2>>2],m2=s2*K1,k2=m2+r2,D2=zi+1|0,S2=E+(zi<<2)|0,s[S2>>2]=k2,Q2=Xi+1|0,G2=m+(Xi<<2)|0,L2=+s[G2>>2],P2=L2*i2,p2=ui+1|0,K2=E+(ui<<2)|0,s[K2>>2]=P2,O2=yt+1|0,E8=(O2|0)==($|0),!E8;)yt=O2,zi=D2,ui=p2,Xi=Q2,ri=$2;if(O1)for(Vt=i2,_t=K1,C8=2,Ji=$,Y8=j1;;){if(U2=Ji+$|0,H2=Y8-$|0,W2=_t*K1,A5=Vt*i2,V2=W2-A5,N1=Vt*K1,e5=_t*i2,F5=e5+N1,w)for(a8=0,bi=u2,xi=W1,Li=U2,N8=H2;t5=Li+1|0,_5=m+(Li<<2)|0,I5=+s[_5>>2],b5=I5*V2,V5=bi+1|0,g5=E+(bi<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,o5=N8+1|0,R2=m+(N8<<2)|0,M2=+s[R2>>2],y2=M2*F5,T5=xi+1|0,m5=E+(xi<<2)|0,x5=+s[m5>>2],q5=x5+y2,s[m5>>2]=q5,L5=a8+1|0,x8=(L5|0)==($|0),!x8;)a8=L5,bi=V5,xi=T5,Li=t5,N8=o5;if(Y2=C8+1|0,o8=(Y2|0)==(b3|0),o8)break;Vt=F5,_t=V2,C8=Y2,Ji=U2,Y8=H2}if(p5=et+1|0,L8=(p5|0)==(b3|0),L8)break;Ht=i2,Yt=K1,et=p5,F8=u2,Ei=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(We=0,j8=$5;u5=j8+1|0,y5=m+(j8<<2)|0,D5=+s[y5>>2],h5=E+(We<<2)|0,l5=+s[h5>>2],j2=l5+D5,s[h5>>2]=j2,h2=We+1|0,p8=(h2|0)==($|0),!p8;)We=h2,j8=u5;if(w5=A8+1|0,S4=(w5|0)==(b3|0),S4)break;A8=w5,Xt=$5}}}if(i5=(t|0)<(a|0),i5){if(J2=(t|0)>0,J2)for(r5=(a|0)>0,W4=0;;){if(r5)for(X4=0,C4=W4,X8=W4;W5=I+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(X8<<2)|0,e[a3>>2]=r3,B3=C4+t|0,N5=X8+k9|0,Z5=X4+1|0,G4=(Z5|0)==(a|0),!G4;)X4=Z5,C4=B3,X8=N5;if(x3=W4+1|0,at=(x3|0)==(t|0),at)break;W4=x3}}else if(s5=(a|0)>0,s5)for(d5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(d5)for(K4=0,Yi=O4,Ki=Ci;M5=Yi+1|0,X2=I+(Yi<<2)|0,c5=e[X2>>2]|0,F2=Ki+1|0,v5=g+(Ki<<2)|0,e[v5>>2]=c5,z5=K4+1|0,Lt=(z5|0)==(t|0),!Lt;)K4=z5,Yi=M5,Ki=F2;if(i3=O4+t|0,E5=Ci+k9|0,I3=Tt+1|0,x9=(I3|0)==(a|0),x9)break;Tt=I3,O4=i3,Ci=E5}if(f3=t<<1,w3=n5(O9,o)|0,B1)for(X3=(a|0)>0,$8=1,M8=0,yi=0,Wi=w3;;){if(X5=M8+f3|0,_3=yi+O9|0,t3=Wi-O9|0,X3)for(b9=0,ii=X5,Di=_3,t7=t3;s6=I+(Di<<2)|0,G3=e[s6>>2]|0,V3=ii+-1|0,c3=g+(V3<<2)|0,e[c3>>2]=G3,g3=I+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ii<<2)|0,e[Q3>>2]=u3,H5=ii+k9|0,Y5=Di+t|0,S5=t7+t|0,Y3=b9+1|0,Et=(Y3|0)==(a|0),!Et;)b9=Y3,ii=H5,Di=Y5,t7=S5;if(G5=$8+1|0,J4=(G5|0)==(b3|0),J4)break;$8=G5,M8=X5,yi=_3,Wi=t3}if(!me){if($6=(Ye|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,wi=0,gi=0,d7=w3;;){if(E6=u8+f3|0,D3=wi+f3|0,a6=gi+O9|0,i6=d7-O9|0,!xt)for(g8=0,e7=E6,hi=D3,_4=a6,di=i6;;){for(ae=2;d6=t-ae|0,m3=ae+_4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],r6=ae+di|0,f6=r6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+hi|0,R3=v6+-1|0,o6=g+(R3<<2)|0,s[o6>>2]=j6,C6=+s[M6>>2],K3=+s[b6>>2],F3=C6-K3,W3=d6+e7|0,e6=W3+-1|0,R6=g+(e6<<2)|0,s[R6>>2]=F3,l6=I+(m3<<2)|0,o3=+s[l6>>2],J6=I+(r6<<2)|0,c6=+s[J6>>2],B6=c6+o3,T3=g+(v6<<2)|0,s[T3>>2]=B6,H6=+s[J6>>2],A6=+s[l6>>2],D6=H6-A6,G6=g+(W3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(z3=e7+k9|0,j5=hi+k9|0,M3=_4+t|0,h3=di+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,e7=z3,hi=j5,_4=M3,di=h3}if(X6=Zt+1|0,n8=(X6|0)==(b3|0),n8)break;Zt=X6,u8=E6,wi=D3,gi=a6,d7=i6}return}if(B1)for(l3=(t|0)>2,U3=(a|0)>0,A4=1,l4=n3,u7=0,ki=0,ji=w3;;){if(r9=l4+f3|0,V6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=r9+t|0,U3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ge=P4+V6|0,qe=U6-P4|0,jt=0,_i=qe,z8=Ge,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,h9=+s[s9>>2],n9=h9+P6,C9=z8+-1|0,B9=g+(C9<<2)|0,s[B9>>2]=n9,Q9=+s[_6>>2],d9=+s[s9>>2],f9=Q9-d9,V9=_i+-1|0,q6=g+(V9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,Y9=+s[a9>>2],y9=I+($9<<2)|0,ye=+s[y9>>2],ge=ye+Y9,pe=g+(z8<<2)|0,s[pe>>2]=ge,z9=+s[y9>>2],re=+s[a9>>2],R9=z9-re,K6=g+(_i<<2)|0,s[K6>>2]=R9,A9=_i+k9|0,we=z8+k9|0,Me=Mi+t|0,ue=$9+t|0,D9=jt+1|0,zt=(D9|0)==(a|0),!zt;)jt=D9,_i=A9,z8=we,Mi=Me,$9=ue;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(ve=A4+1|0,Jt=(ve|0)==(b3|0),Jt)break;A4=ve,l4=r9,u7=V6,ki=o9,ji=g9}}}function jb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,V8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,Y8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,vr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,kr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,Sr=0,un=0,Ts=0,nr=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,br=0,Io=0,p7=0,fn=0,Dr=0,or=0,_r=0,K7=0,xr=0,mo=0,W7=0,b7=0,D7=0,i7=0,_7=0,Lr=0,sr=0,ar=0,Mr=0,E7=0,Os=0,fi=0,nl=0,In=0,mn=0,Ou=0,ol=0,qs=0,qu=0,sA=0,sl=0,Hu=0,Vu=0,Yu=0,aA=0,al=0,Al=0,AA=0,pn=0,$l=0,zu=0,Hs=0,Ar=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,ll=0,Rr=0,nh=0,oh=0,cl=0,sh=0,$A=0,Vs=0,lA=0,ah=0,Ah=0,cA=0,gl=0,ul=0,hl=0,gA=0,dl=0,Ys=0,$h=0,lh=0,fl=0,ch=0,gh=0,Il=0,uh=0,hh=0,ml=0,pl=0,El=0,Cl=0,Bl=0,En=0,dh=0,Ql=0,fh=0,yl=0,wl=0,Ih=0,mh=0,ph=0,uA=0,vl=0,kl=0,po=0,Sl=0,hA=0,Eh=0,bl=0,Ch=0,Dl=0,Bh=0,Qh=0,_l=0,xl=0,yh=0,zs=0,wh=0,dA=0,Ll=0,Ml=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Js=0,Rl=0,Fl=0,Tl=0,Ks=0,xh=0,Nl=0,Lh=0,Gl=0,Mh=0,Rh=0,Ul=0,fA=0,Fh=0,Th=0,Ws=0,Nh=0,Zs=0,Gh=0,IA=0,Uh=0,Ph=0,Oh=0,Pl=0,qh=0,Hh=0,Vh=0,Yh=0,Ol=0,ql=0,$r=0,Hl=0,js=0,mA=0,pA=0,Cn=0,Vl=0,Bn=0,zh=0,Yl=0,Jh=0,Kh=0,Wh=0,Zh=0,Xs=0,EA=0,Fr=0,jh=0,Xh=0,zl=0,CA=0,Jl=0,Kl=0,ed=0,Wl=0,td=0,BA=0,id=0,rd=0,K9=0,nd=0,Zl=0,od=0,sd=0,QA=0,ad=0,yA=0,jl=0,Ad=0,$d=0,Xl=0,ec=0,ld=0,wA=0,vA=0,tc=0,ic=0,cd=0,rc=0,kA=0,gd=0,nc=0,ud=0,hd=0,dd=0,fd=0,oc=0,sc=0,SA=0,ea=0,ac=0,Id=0,Ac=0,$c=0,md=0,pd=0,Ed=0,lc=0,Cd=0,Bd=0,Qd=0,yd=0,wd=0,vd=0,cc=0,kd=0,gc=0,Sd=0,Qn=0,bd=0,uc=0,Dd=0,Eo=0,hc=0,bA=0,_d=0,ta=0,DA=0,xd=0,_A=0,dc=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,fc=0,Nd=0,Gd=0,Ud=0,ia=0,Co=0,xA=0,Pd=0,LA=0,Od=0,qd=0,Hd=0,Ic=0,Vd=0,Yd=0,zd=0,Jd=0,Kd=0,ra=0,Wd=0,Zd=0,mc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,pc=0,B7=0,Ec=0,MA=0,rf=0,r7=0,Bo=0,nf=0,of=0,sf=0,af=0,Af=0,Cc=0,$f=0,lf=0,Bc=0,cf=0,gf=0,Qo=0,RA=0,uf=0,Qc=0,hf=0,df=0,na=0,ff=0,If=0,yc=0,wc=0,mf=0,pf=0,yn=0,Ef=0,Cf=0,wn=0,Bf=0,vc=0,Qf=0,yf=0,yo=0,kc=0,wf=0,Sc=0,vf=0,lr=0,FA=0,kf=0,bc=0,Dc=0,Sf=0,bf=0,_c=0,Df=0,_f=0,xf=0,xc=0,Lf=0,wo=0,Mf=0,vn=0,Rf=0,Ff=0,TA=0,Tf=0,NA=0,GA=0,Nf=0,Lc=0,Mc=0,Gf=0,Rc=0,Fc=0,Tc=0,Uf=0,Nc=0,Gc=0,Pf=0,Of=0,Uc=0,Pc=0,qf=0,Oc=0,qc=0,Hf=0,Vf=0,Hc=0,UA=0,Vc=0,Yc=0,zc=0,Jc=0,Yf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Kc=0,PA=0,eI=0,tI=0,iI=0,Wc=0,Zc=0,rI=0,jc=0,OA=0,oa=0,Xc=0,nI=0,oI=0,sI=0,aI=0,eg=0,sa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,dI=0,tg=0,fI=0,II=0,mI=0,pI=0,aa=0,ig=0,EI=0,CI=0,kn=0,rg=0,ng=0,qA=0,BI=0,og=0,QI=0,sg=0,ag=0,yI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,HA=0,bI=0,DI=0,_I=0,xI=0,Ag=0,LI=0,$g=0,MI=0,RI=0,lg=0,Tr=0,cg=0,gg=0,FI=0,ug=0,$a=0,TI=0,NI=0,GI=0,la=0,hg=0,UI=0,PI=0,dg=0,OI=0,qI=0,VA=0,ca=0,HI=0,VI=0,YI=0,fg=0,Ig=0,mg=0,zI=0,JI=0,vo=0,KI=0,pg=0,WI=0,YA=0,Eg=0,ZI=0,jI=0,XI=0,em=0,Cg=0,tm=0,im=0,Bg=0,ga=0,rm=0,nm=0,om=0,ko=0,Qg=0,yg=0,sm=0,wg=0,vg=0,x7=0,kg=0,cr=0,am=0,Am=0,$m=0,lm=0,zA=0,ua=0,Sg=0,bg=0,cm=0,ha=0,So=0,gm=0,da=0,JA=0,um=0,KA=0,hm=0,dm=0,Dg=0,fa=0,_g=0,fm=0,Im=0,mm=0,pm=0,xg=0,Em=0,ni=0,De=0,n7=0,Cm=0,Lg=0,Mg=0,WA=0,Bm=0,Nr=0,bo=0,Qm=0,ym=0,Rg=0,ZA=0,wm=0,Fg=0,Tg=0,Ng=0,jA=0,XA=0,Gg=0,Do=0,e$=0,Ug=0,vm=0,Sn=0,km=0,Pg=0,Ia=0,Sm=0,Og=0,L7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,M7=0,Rm=0,Fm=0,Tm=0,qg=0,Q7=0,ma=0,t$=0,Hg=0,Vg=0,Nm=0,Yg=0,zg=0,Gm=0,Um=0,Jg=0,Kg=0,Pm=0,Om=0,Wg=0,qm=0,_o=0,pa=0,Ea=0,Hm=0,i$=0,Vm=0,Ym=0,Zg=0,xo=0,zm=0,Jm=0,r$=0,n$=0,Ca=0,o$=0,s$=0,gr=0,Gr=0,Ur=0,a$=0,A$=0,Lo=0,ur=0,bn=0,Km=0,hr=0,Dn=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,jg=0,Xg=0,ya=0,$$=0,Ni=0,wa=0,Pr=0,l$=0,Zm=0,c$=0,jm=0,g$=0,eu=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,_n=0,tt=0,Le=0,tu=0,ip=0,u$=0,iu=0,rp=0,np=0,ba=0,op=0,sp=0,ap=0,Ap=0,ru=0,$p=0,lp=0,cp=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,nu=0,ou=0,_a=0,To=0,No=0,Go=0,gp=0,Uo=0,dr=0,su=0,Or=0,s7=0,d$=0,f$=0,Z7=0,I$=0,m$=0,p$=0,qr=0,u6=0,xa=0,Hr=0,au=0,x4=0,E$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Vr=0,je=0,C$=0,NC=0,up=0,lE=0,cE=0,GC=0,hp=0,zQ=0,JQ=0,KQ=0,WQ=0,ZQ=0,jQ=0,XQ=0,ey=0,ty=0,iy=0,ry=0,ny=0,UC=0,PC=0,oy=0,sy=0,ay=0,Au=0,gE=0,y7=0,$u=0,lu=0,cu=0,gu=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,Qp=0,yp=0,uE=0,La=0,fr=0,B$=0,uu=0,Q$=0,OC=0,Ma=0,wp=0,y$=0,hE=0,dE=0,vp=0,fE=0,IE=0,mE=0,pE=0,EE=0,CE=0,BE=0,qC=0,HC=0,VC=0,YC=0,zC=0,Ra=0,Fa=0,Ta=0,Na=0,Ay=0,Ir=0,$e=0,kD=0,Ga=0,QE=0;if(kD=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,mo=e[ui>>2]|0,Rl=(mo|0)==0,o=Rl&1,Eo=n0+3496|0,Rc=+l1[Eo>>3],fg=Rc>-80,fg?l1[Eo>>3]=-80:(Um=Rc<-200,Um&&(l1[Eo>>3]=-200)),d0=n0+3512|0,Z2=+l1[d0>>3],A3=Z2>0,A3?l1[d0>>3]=0:(ve=Z2<-99999,ve&&(l1[d0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,Pe=(T6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=T6+24|0,L8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,A4=~~i8,jt=L8+(A4<<2)|0,H8=e[jt>>2]|0,Xt=P4+(A4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=H8,vi=n0+4|0,e[vi>>2]=Ci,Y8=(H8|0)==(Ci|0),ri=T6+144|0,B8=e[ri>>2]|0,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,nr=i8,Fr=n0,uE=0;;){if(_s=~~nr,fo=e[Is>>2]|0,W7=e[Cs>>2]|0,fi=e[oo>>2]|0,Vu=fi+(uE<<2)|0,Ju=e[Vu>>2]|0,Rr=le(1,1120)|0,gl=Ju+(_s<<2)|0,Il=e[gl>>2]|0,fh=W7+(Il*1120|0)|0,ce(Rr|0,fh|0,1120)|0,hA=e[Rr>>2]|0,wh=(hA|0)>0,wh){for(Fl=Rr+4|0,gE=0,BE=-1;;)if(kA=Fl+(gE<<2)|0,ac=e[kA>>2]|0,yd=(ac|0)>(BE|0),a0=yd?ac:BE,hc=gE+1|0,ry=(hc|0)==(hA|0),ry){W=a0;break}else gE=hc,BE=a0;if(Fh=(W|0)<0,!Fh){for(qh=Rr+256|0,Cn=Fr+24|0,id=Rr+192|0,Ad=Rr+320|0,Q$=0,mE=-1;;){if(Dc=qh+(Q$<<2)|0,vn=e[Dc>>2]|0,Fc=(vn|0)>(mE|0),e0=Fc?vn:mE,qc=e[Cn>>2]|0,Jf=qc+vn|0,e[Dc>>2]=Jf,Wc=id+(Q$<<2)|0,eg=e[Wc>>2]|0,fI=(eg|0)==31,fI)pE=e0;else for(D9=eg,fE=0,CE=e0;;)if(qA=(Ad+(Q$<<5)|0)+(fE<<2)|0,Aa=e[qA>>2]|0,lg=(Aa|0)>(CE|0),K=lg?Aa:CE,hg=(Aa|0)>-1,hg?(Ig=e[Cn>>2]|0,jI=Ig+Aa|0,e[qA>>2]=jI,s0=e[Wc>>2]|0,JA=s0):JA=D9,ko=fE+1|0,$m=1<>2]|0,rf=e[Zd>>2]|0,Bc=e[Cn>>2]|0,If=Bc+1|0,e[Cn>>2]=If,Qf=(Fr+1824|0)+(Bc<<2)|0,e[Qf>>2]=rf,XQ=(EE|0)==0,!XQ))for(OC=0;XA=OC+1|0,t0=e[gl>>2]|0,Og=fo+(t0<<2)|0,Tm=e[Og>>2]|0,Jg=Tm+(XA<<2)|0,Vm=e[Jg>>2]|0,gr=e[Cn>>2]|0,Wm=gr+1|0,e[Cn>>2]=Wm,wa=(Fr+1824|0)+(gr<<2)|0,e[wa>>2]=Vm,jQ=(XA|0)==(EE|0),!jQ;)OC=XA}}if(ka=Fr+16|0,np=e[ka>>2]|0,Da=(Fr+800|0)+(np<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,I$=(Fr+1056|0)+(No<<2)|0,e[I$>>2]=Rr,p0=e[ka>>2]|0,M0=p0+1|0,e[ka>>2]=M0,K0=uE+1|0,h1=e[ri>>2]|0,I1=(K0|0)<(h1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,nr=r0,Fr=l0,uE=K0}m0=e[f0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,V1=+l1[R1>>3],A2=T6+124|0,t2=e[A2>>2]|0,z2=T6+128|0,I5=e[z2>>2]|0,T5=~~V1,D5=+(T5|0),r5=V1-D5,W5=X5+2868|0,H5=I5+(T5<<3)|0,L3=+l1[H5>>3],x6=~~L3,n6=t2+(x6*492|0)|0,ce(W5|0,n6|0,492)|0,c6=+l1[H5>>3],r9=1-r5,O6=c6*r9,q6=T5+1|0,K6=I5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*r5,Ge=Fe+O6,qe=~~Ge,r4=+(qe|0),He=Ge-r4,J9=He==0,Ve=(qe|0)>0,qC=Ve&J9,I=qC?1:He,he=qC<<31>>31,R=he+qe|0,Ue=1-I,Ee=R+1|0,w4=(t2+(R*492|0)|0)+4|0,Z9=+s[w4>>2],v9=Z9,v4=Ue*v9,nt=(t2+(Ee*492|0)|0)+4|0,Ye=+s[nt>>2],Y4=Ye,ze=I*Y4,n4=v4+ze,R4=n4,ot=X5+2872|0,s[ot>>2]=R4,ne=(t2+(R*492|0)|0)+32|0,u4=+s[ne>>2],Ce=u4,Je=Ue*Ce,O9=(t2+(Ee*492|0)|0)+32|0,de=+s[O9>>2],Te=de,h4=I*Te,oe=Je+h4,d4=oe,f4=X5+2900|0,s[f4>>2]=d4,ke=(t2+(R*492|0)|0)+8|0,o4=+s[ke>>2],I4=o4,k9=Ue*I4,I6=(t2+(Ee*492|0)|0)+8|0,z4=+s[I6>>2],fe=z4,k4=I*fe,Se=k9+k4,Ie=Se,z6=X5+2876|0,s[z6>>2]=Ie,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],me=st,xe=Ue*me,mt=(t2+(Ee*492|0)|0)+36|0,Z3=+s[mt>>2],_9=Z3,S9=_9*I,Oe=S9+xe,s4=Oe,d8=X5+2904|0,s[d8>>2]=s4,f8=(t2+(R*492|0)|0)+12|0,D8=+s[f8>>2],e8=D8,I8=e8*Ue,m8=(t2+(Ee*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,_8=X5+2880|0,s[_8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Vt=+s[Ht>>2],Yt=Vt,_t=Yt*Ue,xt=(t2+(Ee*492|0)|0)+40|0,pt=+s[xt>>2],zt=pt,Jt=zt*I,r8=Jt+_t,J4=r8,G4=X5+2908|0,s[G4>>2]=J4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],x9=Lt,p8=x9*Ue,S4=(t2+(Ee*492|0)|0)+16|0,E8=+s[S4>>2],x8=E8,o8=x8*I,a4=o8+p8,s8=a4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],Ke=At,U4=Ke*Ue,$t=(t2+(Ee*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,p4=+l1[Qt>>3],b4=p4,K4=X5+2936|0,s[K4>>2]=b4,W4=T6+132|0,ae=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],D4=gt,be=~~D4,yt=+(be|0),a8=D4-yt,We=a8,E3=e[f0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=E3+4|0,j9=e[E3>>2]|0,$4=E3+3240|0,e[$4>>2]=j9,F9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=F9,Wt=E3+3244|0,e[Wt>>2]=j9,C8=E3+3304|0,e[C8>>2]=F9,A8=E3+3248|0,e[A8>>2]=j9,$8=E3+3308|0,e[$8>>2]=F9,Zt=E3+3252|0,e[Zt>>2]=j9,l8=E3+3312|0,e[l8>>2]=F9,ut=E3+3256|0,e[ut>>2]=j9,ht=E3+3316|0,e[ht>>2]=F9,Ft=E3+3260|0,e[Ft>>2]=j9,Ze=E3+3320|0,e[Ze>>2]=F9,c8=E3+3264|0,e[c8>>2]=j9,Tt=E3+3324|0,e[Tt>>2]=F9,X4=E3+3268|0,e[X4>>2]=j9,b9=E3+3328|0,e[b9>>2]=F9,g8=E3+3272|0,e[g8>>2]=j9,et=E3+3332|0,e[et>>2]=F9,W8=E3+3276|0,e[W8>>2]=j9,M8=E3+3336|0,e[M8>>2]=F9,u8=E3+3280|0,e[u8>>2]=j9,R8=E3+3340|0,e[R8>>2]=F9,l4=E3+3284|0,e[l4>>2]=j9,V8=E3+3344|0,e[V8>>2]=F9,Z8=E3+3288|0,e[Z8>>2]=j9,dt=E3+3348|0,e[dt>>2]=F9,Nt=E3+3292|0,e[Nt>>2]=j9,F8=E3+3352|0,e[F8>>2]=F9,O4=E3+3296|0,e[O4>>2]=j9,C4=E3+3356|0,e[C4>>2]=F9;else{Ae=E3+3120|0,T8=ae+(be*240|0)|0,Ir=Ae,Ga=T8,QE=Ir+60|0;do e[Ir>>2]=e[Ga>>2]|0,Ir=Ir+4|0,Ga=Ga+4|0;while((Ir|0)<(QE|0));$i=E3+3180|0,qi=(ae+(be*240|0)|0)+60|0,Ir=$i,Ga=qi,QE=Ir+60|0;do e[Ir>>2]=e[Ga>>2]|0,Ir=Ir+4|0,Ga=Ga+4|0;while((Ir|0)<(QE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(j8=1-We,X8=be+1|0,Bi=t+8|0,ei=E3+4|0,o0=e[Bi>>2]|0,Qi=+(o0|0),fr=0;;){if(li=((ae+(be*240|0)|0)+120|0)+(fr<<2)|0,g7=+s[li>>2],Yi=g7,yi=Yi*j8,wi=((ae+(X8*240|0)|0)+120|0)+(fr<<2)|0,u7=+s[wi>>2],ci=u7,h7=ci*We,zi=h7+yi,Ji=zi,Ki=Ji,Wi=Ki*1e3,gi=Wi/Qi,ki=e[E3>>2]|0,Zi=+(ki|0),ti=Zi*gi,ii=~~ti,d7=(E3+3e3|0)+(fr<<2)|0,e[d7>>2]=ii,ji=e[ei>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(E3+3060|0)+(fr<<2)|0,e[bi>>2]=Xi,Di=~~Ji,e7=(E3+2940|0)+(fr<<2)|0,e[e7>>2]=Di,_i=((ae+(be*240|0)|0)+180|0)+(fr<<2)|0,xi=+s[_i>>2],t7=xi,hi=t7*j8,z8=((ae+(X8*240|0)|0)+180|0)+(fr<<2)|0,Li=+s[z8>>2],_4=Li,Mi=_4*We,N8=Mi+hi,di=N8,$9=di,vt=$9*1e3,Q8=vt/Qi,G8=e[E3>>2]|0,nn=+(G8|0),vr=nn*Q8,As=~~vr,zn=(E3+3240|0)+(fr<<2)|0,e[zn>>2]=As,$s=e[ei>>2]|0,Jn=+($s|0),ls=Jn*Q8,Kn=~~ls,gs=(E3+3300|0)+(fr<<2)|0,e[gs>>2]=Kn,on=fr+1|0,ty=(on|0)==15,ty)break e;fr=on}for(us=(ae+(be*240|0)|0)+148|0,hs=+s[us>>2],ds=hs,Wn=1-We,fs=ds*Wn,Zn=be+1|0,jn=(ae+(Zn*240|0)|0)+148|0,sn=+s[jn>>2],Xn=sn,an=Xn*We,eo=an+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,An=E3+4|0,io=~~to,h0=e[Es>>2]|0,kr=+(h0|0),$n=ps/kr,uu=0;Bs=e[E3>>2]|0,Qs=+(Bs|0),ln=Qs*$n,I7=~~ln,ro=(E3+3e3|0)+(uu<<2)|0,e[ro>>2]=I7,ys=e[An>>2]|0,ws=+(ys|0),no=ws*$n,so=~~no,vs=(E3+3060|0)+(uu<<2)|0,e[vs>>2]=so,m7=(E3+2940|0)+(uu<<2)|0,e[m7>>2]=io,cn=uu+1|0,ny=(cn|0)==15,!ny;)uu=cn;for(ks=(ae+(be*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wn,Ds=(ae+(Zn*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*We,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gn=Fs/kr,wp=0;Sr=e[E3>>2]|0,un=+(Sr|0),Ts=un*gn,Ns=~~Ts,lo=(E3+3240|0)+(wp<<2)|0,e[lo>>2]=Ns,hn=e[An>>2]|0,co=+(hn|0),dn=co*gn,Gs=~~dn,go=(E3+3300|0)+(wp<<2)|0,e[go>>2]=Gs,uo=wp+1|0,ey=(uo|0)==15,!ey;)wp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,br=T6+100|0,Io=e[br>>2]|0,p7=T6+108|0,fn=e[p7>>2]|0,Dr=e[f0>>2]|0,or=Dr+2852|0,_r=e[or>>2]|0,K7=~~Us,xr=Dr+28|0,b7=e[xr>>2]|0,D7=(b7|0)>0,D7||(e[xr>>2]=1),i7=(_r|0)==0,i7?(_7=le(1,520)|0,e[or>>2]=_7,Ra=_7):Ra=_r,ce(Ra|0,25784,520)|0,e[Ra>>2]=0,Lr=Dr+3460|0,sr=e[Lr>>2]|0,ar=(sr|0)==0,ar||(Mr=Ra+500|0,e[Mr>>2]=1,E7=Ps+(K7<<2)|0,Os=e[E7>>2]|0,nl=Ra+504|0,e[nl>>2]=Os,In=Io+(K7<<2)|0,mn=e[In>>2]|0,Ou=Ra+508|0,e[Ou>>2]=mn,ol=fn+(K7<<3)|0,qs=+l1[ol>>3],qu=Ra+512|0,l1[qu>>3]=qs),sA=+l1[N4>>3],sl=e[ho>>2]|0,Hu=e[br>>2]|0,Yu=e[p7>>2]|0,aA=e[f0>>2]|0,al=aA+2856|0,Al=e[al>>2]|0,AA=~~sA,pn=aA+28|0,$l=e[pn>>2]|0,zu=($l|0)>1,zu||(e[pn>>2]=2),Hs=(Al|0)==0,Hs?(Ar=le(1,520)|0,e[al>>2]=Ar,Fa=Ar):Fa=Al,ce(Fa|0,25784,520)|0,e[Fa>>2]=0,Ku=aA+3460|0,Wu=e[Ku>>2]|0,Zu=(Wu|0)==0,Zu||(ju=Fa+500|0,e[ju>>2]=1,Xu=sl+(AA<<2)|0,eh=e[Xu>>2]|0,th=Fa+504|0,e[th>>2]=eh,ih=Hu+(AA<<2)|0,rh=e[ih>>2]|0,ll=Fa+508|0,e[ll>>2]=rh,nh=Yu+(AA<<3)|0,oh=+l1[nh>>3],cl=Fa+512|0,l1[cl>>3]=oh),Y8||(sh=+l1[N4>>3],$A=T6+96|0,Vs=e[$A>>2]|0,lA=T6+104|0,ah=e[lA>>2]|0,Ah=e[p7>>2]|0,cA=e[f0>>2]|0,ul=cA+2860|0,hl=e[ul>>2]|0,gA=~~sh,dl=cA+28|0,Ys=e[dl>>2]|0,$h=(Ys|0)>2,$h||(e[dl>>2]=3),lh=(hl|0)==0,lh?(fl=le(1,520)|0,e[ul>>2]=fl,Ta=fl):Ta=hl,ce(Ta|0,25784,520)|0,e[Ta>>2]=1,ch=cA+3460|0,gh=e[ch>>2]|0,uh=(gh|0)==0,uh||(hh=Ta+500|0,e[hh>>2]=1,ml=Vs+(gA<<2)|0,pl=e[ml>>2]|0,El=Ta+504|0,e[El>>2]=pl,Cl=ah+(gA<<2)|0,Bl=e[Cl>>2]|0,En=Ta+508|0,e[En>>2]=Bl,dh=Ah+(gA<<3)|0,Ql=+l1[dh>>3],yl=Ta+512|0,l1[yl>>3]=Ql),wl=+l1[N4>>3],Ih=e[$A>>2]|0,mh=e[lA>>2]|0,ph=e[p7>>2]|0,uA=e[f0>>2]|0,vl=uA+2864|0,kl=e[vl>>2]|0,po=~~wl,Sl=uA+28|0,Eh=e[Sl>>2]|0,bl=(Eh|0)>3,bl||(e[Sl>>2]=4),Ch=(kl|0)==0,Ch?(Dl=le(1,520)|0,e[vl>>2]=Dl,Na=Dl):Na=kl,ce(Na|0,25784,520)|0,e[Na>>2]=1,Bh=uA+3460|0,Qh=e[Bh>>2]|0,_l=(Qh|0)==0,_l||(xl=Na+500|0,e[xl>>2]=1,yh=Ih+(po<<2)|0,zs=e[yh>>2]|0,dA=Na+504|0,e[dA>>2]=zs,Ll=mh+(po<<2)|0,Ml=e[Ll>>2]|0,vh=Na+508|0,e[vh>>2]=Ml,kh=ph+(po<<3)|0,Sh=+l1[kh>>3],bh=Na+512|0,l1[bh>>3]=Sh)),Dh=(n0+3528|0)+(o<<5)|0,_h=+l1[Dh>>3],Js=T6+32|0,Tl=e[Js>>2]|0,Ks=T6+36|0,xh=e[Ks>>2]|0,Nl=T6+44|0,Lh=e[Nl>>2]|0,oE(t,_h,0,Tl,xh,Lh),Gl=n0+3560|0,Mh=+l1[Gl>>3],Rh=e[Js>>2]|0,Ul=e[Ks>>2]|0,fA=T6+52|0,Th=e[fA>>2]|0,oE(t,Mh,1,Rh,Ul,Th),Y8||(Ws=n0+3592|0,Nh=+l1[Ws>>3],Zs=e[Js>>2]|0,Gh=e[Ks>>2]|0,IA=e[fA>>2]|0,oE(t,Nh,2,Zs,Gh,IA),Uh=n0+3624|0,Ph=+l1[Uh>>3],Oh=e[Js>>2]|0,Pl=e[Ks>>2]|0,Hh=T6+48|0,Vh=e[Hh>>2]|0,oE(t,Ph,3,Oh,Pl,Vh)),Yh=((n0+3528|0)+(o<<5)|0)+24|0,Ol=+l1[Yh>>3],ql=T6+80|0,$r=e[ql>>2]|0,Hl=T6+84|0,js=e[Hl>>2]|0,mA=~~Ol,pA=+(mA|0),Vl=Ol-pA,Bn=e[f0>>2]|0,zh=Bn+2852|0,Yl=e[zh>>2]|0,Jh=js+(mA<<3)|0,Kh=+l1[Jh>>3],Wh=1-Vl,Zh=Kh*Wh,Xs=mA+1|0,EA=js+(Xs<<3)|0,jh=+l1[EA>>3],Xh=jh*Vl,zl=Xh+Zh,CA=~~zl,Jl=+(CA|0),Kl=zl-Jl,ed=Kl==0,Wl=(CA|0)>0,HC=Wl&ed,$=HC?1:Kl,td=HC<<31>>31,F=td+CA|0,BA=1-$,rd=F+1|0,$u=0;K9=($r+(F*160|0)|0)+($u<<2)|0,nd=e[K9>>2]|0,Zl=+(nd|0),od=Zl*BA,sd=($r+(rd*160|0)|0)+($u<<2)|0,QA=e[sd>>2]|0,ad=+(QA|0),yA=ad*$,jl=yA+od,$d=jl,Xl=(Yl+336|0)+($u<<2)|0,s[Xl>>2]=$d,ec=$u+1|0,JQ=(ec|0)==40,!JQ;)$u=ec;for(ld=n0+3584|0,wA=+l1[ld>>3],vA=~~wA,tc=+(vA|0),ic=wA-tc,cd=Bn+2856|0,rc=e[cd>>2]|0,gd=js+(vA<<3)|0,nc=+l1[gd>>3],ud=1-ic,hd=nc*ud,dd=vA+1|0,fd=js+(dd<<3)|0,oc=+l1[fd>>3],sc=oc*ic,SA=sc+hd,ea=~~SA,Id=+(ea|0),Ac=SA-Id,$c=Ac==0,md=(ea|0)>0,VC=md&$c,g=VC?1:Ac,pd=VC<<31>>31,N=pd+ea|0,Ed=1-g,lc=N+1|0,lu=0;Cd=($r+(N*160|0)|0)+(lu<<2)|0,Bd=e[Cd>>2]|0,Qd=+(Bd|0),wd=Qd*Ed,vd=($r+(lc*160|0)|0)+(lu<<2)|0,cc=e[vd>>2]|0,kd=+(cc|0),gc=kd*g,Sd=gc+wd,Qn=Sd,bd=(rc+336|0)+(lu<<2)|0,s[bd>>2]=Qn,uc=lu+1|0,KQ=(uc|0)==40,!KQ;)lu=uc;if(!Y8){for(Dd=n0+3616|0,bA=+l1[Dd>>3],_d=T6+88|0,ta=e[_d>>2]|0,DA=~~bA,xd=+(DA|0),_A=bA-xd,dc=Bn+2860|0,Ld=e[dc>>2]|0,Md=ta+(DA<<3)|0,Rd=+l1[Md>>3],Td=1-_A,fc=Rd*Td,Nd=DA+1|0,Gd=ta+(Nd<<3)|0,Ud=+l1[Gd>>3],ia=Ud*_A,Co=ia+fc,xA=~~Co,Pd=+(xA|0),LA=Co-Pd,qd=LA==0,Hd=(xA|0)>0,YC=Hd&qd,d=YC?1:LA,Ic=YC<<31>>31,G=Ic+xA|0,Vd=1-d,Yd=G+1|0,cu=0;zd=($r+(G*160|0)|0)+(cu<<2)|0,Jd=e[zd>>2]|0,Kd=+(Jd|0),ra=Kd*Vd,Wd=($r+(Yd*160|0)|0)+(cu<<2)|0,mc=e[Wd>>2]|0,jd=+(mc|0),Xd=jd*d,ef=Xd+ra,tf=ef,C7=(Ld+336|0)+(cu<<2)|0,s[C7>>2]=tf,pc=cu+1|0,WQ=(pc|0)==40,!WQ;)cu=pc;for(B7=n0+3648|0,Ec=+l1[B7>>3],MA=~~Ec,r7=+(MA|0),Bo=Ec-r7,nf=Bn+2864|0,of=e[nf>>2]|0,sf=ta+(MA<<3)|0,af=+l1[sf>>3],Af=1-Bo,Cc=af*Af,$f=MA+1|0,lf=ta+($f<<3)|0,cf=+l1[lf>>3],gf=cf*Bo,Qo=gf+Cc,RA=~~Qo,uf=+(RA|0),Qc=Qo-uf,hf=Qc==0,df=(RA|0)>0,zC=df&hf,m=zC?1:Qc,na=zC<<31>>31,U=na+RA|0,ff=1-m,yc=U+1|0,gu=0;wc=($r+(U*160|0)|0)+(gu<<2)|0,mf=e[wc>>2]|0,pf=+(mf|0),yn=pf*ff,Ef=($r+(yc*160|0)|0)+(gu<<2)|0,Cf=e[Ef>>2]|0,wn=+(Cf|0),Bf=wn*m,vc=Bf+yn,yf=vc,yo=(of+336|0)+(gu<<2)|0,s[yo>>2]=yf,kc=gu+1|0,ZQ=(kc|0)==40,!ZQ;)gu=kc}for(wf=((n0+3528|0)+(o<<5)|0)+8|0,Sc=+l1[wf>>3],vf=T6+40|0,lr=e[vf>>2]|0,FA=~~Sc,kf=+(FA|0),bc=Sc-kf,Sf=lr+(FA<<2)|0,bf=e[Sf>>2]|0,_c=+(bf|0),Df=1-bc,_f=_c*Df,xf=FA+1|0,xc=lr+(xf<<2)|0,Lf=e[xc>>2]|0,wo=+(Lf|0),Mf=wo*bc,Rf=Mf+_f,Ff=Rf,TA=Yl+32|0,s[TA>>2]=Ff,Tf=n0+3568|0,NA=+l1[Tf>>3],GA=~~NA,Nf=+(GA|0),Lc=NA-Nf,Mc=lr+(GA<<2)|0,Gf=e[Mc>>2]|0,Tc=+(Gf|0),Uf=1-Lc,Nc=Tc*Uf,Gc=GA+1|0,Pf=lr+(Gc<<2)|0,Of=e[Pf>>2]|0,Uc=+(Of|0),Pc=Uc*Lc,qf=Pc+Nc,Oc=qf,Hf=rc+32|0,s[Hf>>2]=Oc,Y8||(Vf=n0+3600|0,Hc=+l1[Vf>>3],UA=~~Hc,Vc=+(UA|0),Yc=Hc-Vc,zc=Bn+2860|0,Jc=e[zc>>2]|0,Yf=lr+(UA<<2)|0,zf=e[Yf>>2]|0,Kf=+(zf|0),Wf=1-Yc,Zf=Kf*Wf,jf=UA+1|0,Xf=lr+(jf<<2)|0,Kc=e[Xf>>2]|0,PA=+(Kc|0),eI=PA*Yc,tI=eI+Zf,iI=tI,Zc=Jc+32|0,s[Zc>>2]=iI,rI=n0+3632|0,jc=+l1[rI>>3],OA=~~jc,oa=+(OA|0),Xc=jc-oa,nI=Bn+2864|0,oI=e[nI>>2]|0,sI=lr+(OA<<2)|0,aI=e[sI>>2]|0,sa=+(aI|0),AI=1-Xc,$I=sa*AI,lI=OA+1|0,cI=lr+(lI<<2)|0,gI=e[cI>>2]|0,uI=+(gI|0),hI=uI*Xc,dI=hI+$I,tg=dI,II=oI+32|0,s[II>>2]=tg),mI=((n0+3528|0)+(o<<5)|0)+16|0,pI=+l1[mI>>3],aa=T6+76|0,ig=e[aa>>2]|0,EI=T6+60|0,CI=e[EI>>2]|0,kn=T6+56|0,rg=e[kn>>2]|0,Rl?og=0:(ng=n0+3408|0,BI=+l1[ng>>3],og=BI),sE(t,pI,0,ig,CI,rg,og),QI=n0+3576|0,sg=+l1[QI>>3],ag=e[aa>>2]|0,yI=T6+64|0,wI=e[yI>>2]|0,vI=e[kn>>2]|0,sE(t,sg,1,ag,wI,vI,0),Y8?(vo=e[f0>>2]|0,KI=vo+2852|0,pg=e[KI>>2]|0,WI=vo+3496|0,YA=+l1[WI>>3],Eg=YA,ZI=pg+4|0,s[ZI>>2]=Eg,XI=vo+3504|0,em=+l1[XI>>3],Cg=em,tm=pg+8|0,s[tm>>2]=Cg,im=vo+2856|0,Bg=e[im>>2]|0,ga=Bg+4|0,s[ga>>2]=Eg,rm=Bg+8|0,s[rm>>2]=Cg,cr=vo):(kI=n0+3608|0,SI=+l1[kI>>3],HA=e[aa>>2]|0,bI=T6+68|0,DI=e[bI>>2]|0,_I=e[kn>>2]|0,sE(t,SI,2,HA,DI,_I,0),xI=n0+3640|0,Ag=+l1[xI>>3],LI=e[aa>>2]|0,$g=T6+72|0,MI=e[$g>>2]|0,RI=e[kn>>2]|0,sE(t,Ag,3,LI,MI,RI,0),Tr=e[f0>>2]|0,cg=Tr+2852|0,gg=e[cg>>2]|0,FI=Tr+3496|0,ug=+l1[FI>>3],$a=ug,TI=gg+4|0,s[TI>>2]=$a,NI=Tr+3504|0,GI=+l1[NI>>3],la=GI,UI=gg+8|0,s[UI>>2]=la,PI=Tr+2856|0,dg=e[PI>>2]|0,OI=dg+4|0,s[OI>>2]=$a,qI=dg+8|0,s[qI>>2]=la,VA=Tr+2860|0,ca=e[VA>>2]|0,HI=ca+4|0,s[HI>>2]=$a,VI=ca+8|0,s[VI>>2]=la,YI=Tr+2864|0,mg=e[YI>>2]|0,zI=mg+4|0,s[zI>>2]=$a,JI=mg+8|0,s[JI>>2]=la,cr=Tr),nm=+l1[N4>>3],om=T6+152|0,Qg=e[om>>2]|0,yg=~~nm,sm=Qg+(yg<<3)|0,wg=e[sm>>2]|0,vg=(Qg+(yg<<3)|0)+4|0,x7=e[vg>>2]|0,kg=e[cr>>2]|0,am=cr+4|0,Am=e[am>>2]|0,lm=(kg|0)==(Am|0),a=lm?1:2,zA=cr+8|0,ua=cr+12|0,Sg=t+8|0,bg=t+4|0,y7=0;;){if(cm=le(1,3208)|0,ha=(cr+544|0)+(y7<<2)|0,e[ha>>2]=cm,So=le(1,16)|0,gm=(cr+32|0)+(y7<<2)|0,e[gm>>2]=So,da=26304+(y7<<4)|0,e[So>>2]=e[da>>2]|0,e[So+4>>2]=e[da+4>>2]|0,e[So+8>>2]=e[da+8>>2]|0,e[So+12>>2]=e[da+12>>2]|0,um=e[zA>>2]|0,KA=(y7|0)<(um|0),KA||(hm=y7+1|0,e[zA>>2]=hm),dm=(cr+288|0)+(y7<<2)|0,e[dm>>2]=0,Dg=e[ha>>2]|0,fa=wg+(y7*3208|0)|0,ce(Dg|0,fa|0,3208)|0,_g=e[ua>>2]|0,fm=(y7|0)<(_g|0),fm||(Im=y7+1|0,e[ua>>2]=Im),mm=e[fa>>2]|0,xg=(mm|0)>0,xg)for(dE=0;;){Em=((wg+(y7*3208|0)|0)+1092|0)+(dE<<2)|0,ni=e[Em>>2]|0,De=e[f0>>2]|0,n7=M9(2840)|0,Cm=(De+1568|0)+(ni<<2)|0,e[Cm>>2]=n7,Lg=(x7+(ni<<5)|0)+12|0,Mg=e[Lg>>2]|0,ce(n7|0,Mg|0,2840)|0,WA=De+20|0,Bm=e[WA>>2]|0,bo=(Bm|0)>(ni|0),bo||(Qm=ni+1|0,e[WA>>2]=Qm),ym=(x7+(ni<<5)|0)+8|0,Rg=e[ym>>2]|0,ZA=n7+8|0,e[ZA>>2]=Rg,wm=x7+(ni<<5)|0,Fg=e[wm>>2]|0,Tg=(De+1312|0)+(ni<<2)|0,e[Tg>>2]=Fg,Ng=De+3420|0,jA=e[Ng>>2]|0,Gg=(jA|0)==0,Do=n7+12|0,e$=e[Do>>2]|0,Ug=(e$|0)>0;do if(Gg){if(Ug)for(Pg=(x7+(ni<<5)|0)+24|0,Ia=e[Pg>>2]|0,Sm=n7+24|0,Ma=0;;)if(hr=Sm+(Ma<<2)|0,Dn=Ia+(Ma<<4)|0,Ri=e[Dn>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[hr>>2]|0,Ba=Ti|1,e[hr>>2]=Ba),Qa=(Ia+(Ma<<4)|0)+4|0,jg=e[Qa>>2]|0,Xg=(jg|0)==0,Xg||(b2=e[hr>>2]|0,B5=b2|2,e[hr>>2]=B5),o5=(Ia+(Ma<<4)|0)+8|0,R2=e[o5>>2]|0,M2=(R2|0)==0,M2||(y2=e[hr>>2]|0,Q5=y2|4,e[hr>>2]=Q5),m5=(Ia+(Ma<<4)|0)+12|0,x5=e[m5>>2]|0,q5=(x5|0)==0,q5||(L5=e[hr>>2]|0,Y2=L5|8,e[hr>>2]=Y2),p5=Ma+1|0,$5=e[Do>>2]|0,u5=(p5|0)<($5|0),u5)Ma=p5;else{Sa=$5;break}else Sa=e$;ya=(x7+(ni<<5)|0)+16|0,$$=e[ya>>2]|0,Ni=De+24|0,Pr=e[Ni>>2]|0,l$=(Pr|0)>0,Zm=$$;e:do if(l$)for(yp=0;;){if(c$=(De+1824|0)+(yp<<2)|0,jm=e[c$>>2]|0,g$=(jm|0)==($$|0),g$){L=yp;break e}if(eu=yp+1|0,va=(eu|0)<(Pr|0),va)yp=eu;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,Xm=Pr+1|0,e[Ni>>2]=Xm,L=Pr),ep=n7+20|0,e[ep>>2]=L,tp=(De+1824|0)+(L<<2)|0,e[tp>>2]=Zm,_n=(Sa|0)>0,!_n)break;for(tt=(x7+(ni<<5)|0)+24|0,Le=n7+280|0,Vr=0,y$=0;;){if(tu=e[tt>>2]|0,ip=tu+(y$<<4)|0,u$=e[ip>>2]|0,iu=(u$|0)==0,rp=u$,iu)Mo=tu,up=Vr;else{ba=e[Ni>>2]|0,op=(ba|0)>0;e:do if(op)for(pp=0;;){if(sp=(De+1824|0)+(pp<<2)|0,ap=e[sp>>2]|0,Ap=(ap|0)==(u$|0),Ap){M=pp;break e}if(ru=pp+1|0,$p=(ru|0)<(ba|0),$p)pp=ru;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,lp=ba+1|0,e[Ni>>2]=lp,M=ba),cp=Vr+1|0,o7=Le+(Vr<<2)|0,e[o7>>2]=M,xn=(De+1824|0)+(M<<2)|0,e[xn>>2]=rp,c0=e[tt>>2]|0,Mo=c0,up=cp}if(h$=(Mo+(y$<<4)|0)+4|0,Ro=e[h$>>2]|0,oi=(Ro|0)==0,Fo=Ro,oi)C2=Mo,je=up;else{J1=e[Ni>>2]|0,q1=(J1|0)>0;e:do if(q1)for(fp=0;;){if(H1=(De+1824|0)+(fp<<2)|0,Y1=e[H1>>2]|0,X1=(Y1|0)==(Ro|0),X1){D=fp;break e}if(o2=fp+1|0,j1=(o2|0)<(J1|0),j1)fp=o2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=J1+1|0,e[Ni>>2]=O1,D=J1),u2=up+1|0,W1=Le+(up<<2)|0,e[W1>>2]=D,I2=(De+1824|0)+(D<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,je=u2}if(a2=(C2+(y$<<4)|0)+8|0,K1=e[a2>>2]|0,d2=(K1|0)==0,l2=K1,d2)L2=C2,C$=je;else{i2=e[Ni>>2]|0,c2=(i2|0)>0;e:do if(c2)for(Ip=0;;){if(r2=(De+1824|0)+(Ip<<2)|0,$2=e[r2>>2]|0,e2=($2|0)==(K1|0),e2){y=Ip;break e}if(s2=Ip+1|0,m2=(s2|0)<(i2|0),m2)Ip=s2;else{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=i2+1|0,e[Ni>>2]=k2,y=i2),D2=je+1|0,S2=Le+(je<<2)|0,e[S2>>2]=y,Q2=(De+1824|0)+(y<<2)|0,e[Q2>>2]=l2,Z=e[tt>>2]|0,L2=Z,C$=D2}if(G2=(L2+(y$<<4)|0)+12|0,P2=e[G2>>2]|0,p2=(P2|0)==0,K2=P2,p2)NC=C$;else{O2=e[Ni>>2]|0,U2=(O2|0)>0;e:do if(U2)for(mp=0;;){if(H2=(De+1824|0)+(mp<<2)|0,W2=e[H2>>2]|0,A5=(W2|0)==(P2|0),A5){x=mp;break e}if(V2=mp+1|0,N1=(V2|0)<(O2|0),N1)mp=V2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,e5=O2+1|0,e[Ni>>2]=e5,x=O2),F5=C$+1|0,t5=Le+(C$<<2)|0,e[t5>>2]=x,_5=(De+1824|0)+(x<<2)|0,e[_5>>2]=K2,NC=F5}if(b5=y$+1|0,V5=e[Do>>2]|0,g5=(b5|0)<(V5|0),g5)Vr=NC,y$=b5;else break}}else{if(Ug)for(vm=(x7+(ni<<5)|0)+28|0,Sn=e[vm>>2]|0,km=n7+24|0,La=0;;)if(L7=km+(La<<2)|0,bm=Sn+(La<<4)|0,Dm=e[bm>>2]|0,_m=(Dm|0)==0,_m||(xm=e[L7>>2]|0,Lm=xm|1,e[L7>>2]=Lm),Mm=(Sn+(La<<4)|0)+4|0,M7=e[Mm>>2]|0,Rm=(M7|0)==0,Rm||($6=e[L7>>2]|0,n3=$6|2,e[L7>>2]=n3),l3=(Sn+(La<<4)|0)+8|0,U3=e[l3>>2]|0,E6=(U3|0)==0,E6||(b3=e[L7>>2]|0,D3=b3|4,e[L7>>2]=D3),a6=(Sn+(La<<4)|0)+12|0,i6=e[a6>>2]|0,z3=(i6|0)==0,z3||(j5=e[L7>>2]|0,M3=j5|8,e[L7>>2]=M3),h3=La+1|0,J3=e[Do>>2]|0,d6=(h3|0)<(J3|0),d6)La=h3;else{Wg=J3;break}else Wg=e$;Fm=(x7+(ni<<5)|0)+20|0,qg=e[Fm>>2]|0,Q7=De+24|0,ma=e[Q7>>2]|0,t$=(ma|0)>0,Hg=qg;e:do if(t$)for(dp=0;;){if(Vg=(De+1824|0)+(dp<<2)|0,Nm=e[Vg>>2]|0,Yg=(Nm|0)==(qg|0),Yg){B=dp;break e}if(zg=dp+1|0,Gm=(zg|0)<(ma|0),Gm)dp=zg;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,Kg=ma+1|0,e[Q7>>2]=Kg,B=ma),Pm=n7+20|0,e[Pm>>2]=B,Om=(De+1824|0)+(B<<2)|0,e[Om>>2]=Hg,qm=(Wg|0)>0,!qm)break;for(_o=(x7+(ni<<5)|0)+28|0,pa=n7+280|0,Po=0,B$=0;;){if(Ea=e[_o>>2]|0,Hm=Ea+(B$<<4)|0,i$=e[Hm>>2]|0,Ym=(i$|0)==0,Zg=i$,Ym)Lo=Ea,Rn=Po;else{xo=e[Q7>>2]|0,zm=(xo|0)>0;e:do if(zm)for(Qp=0;;){if(Jm=(De+1824|0)+(Qp<<2)|0,r$=e[Jm>>2]|0,n$=(r$|0)==(i$|0),n$){w=Qp;break e}if(Ca=Qp+1|0,o$=(Ca|0)<(xo|0),o$)Qp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,s$=xo+1|0,e[Q7>>2]=s$,w=xo),Gr=Po+1|0,Ur=pa+(Po<<2)|0,e[Ur>>2]=w,a$=(De+1824|0)+(w<<2)|0,e[a$>>2]=Zg,z=e[_o>>2]|0,Lo=z,Rn=Gr}if(A$=(Lo+(B$<<4)|0)+4|0,ur=e[A$>>2]|0,bn=(ur|0)==0,Km=ur,bn)M5=Lo,Ln=Rn;else{y5=e[Q7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(Ep=0;;){if(h5=(De+1824|0)+(Ep<<2)|0,l5=e[h5>>2]|0,j2=(l5|0)==(ur|0),j2){S=Ep;break e}if(h2=Ep+1|0,w5=(h2|0)<(y5|0),w5)Ep=h2;else{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,i5=y5+1|0,e[Q7>>2]=i5,S=y5),s5=Rn+1|0,d5=pa+(Rn<<2)|0,e[d5>>2]=S,J2=(De+1824|0)+(S<<2)|0,e[J2>>2]=Km,j=e[_o>>2]|0,M5=j,Ln=s5}if(f5=(M5+(B$<<4)|0)+8|0,X2=e[f5>>2]|0,c5=(X2|0)==0,F2=X2,c5)f3=M5,Mn=Ln;else{v5=e[Q7>>2]|0,z5=(v5|0)>0;e:do if(z5)for(Cp=0;;){if(i3=(De+1824|0)+(Cp<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(X2|0),I3){b=Cp;break e}if(d3=Cp+1|0,r3=(d3|0)<(v5|0),r3)Cp=d3;else{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=v5+1|0,e[Q7>>2]=a3,b=v5),B3=Ln+1|0,N5=pa+(Ln<<2)|0,e[N5>>2]=b,Z5=(De+1824|0)+(b<<2)|0,e[Z5>>2]=F2,u0=e[_o>>2]|0,f3=u0,Mn=B3}if(x3=(f3+(B$<<4)|0)+12|0,w3=e[x3>>2]|0,X3=(w3|0)==0,H3=w3,X3)q9=Mn;else{_3=e[Q7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(Bp=0;;){if(s6=(De+1824|0)+(Bp<<2)|0,G3=e[s6>>2]|0,V3=(G3|0)==(w3|0),V3){v=Bp;break e}if(c3=Bp+1|0,g3=(c3|0)<(_3|0),g3)Bp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=_3+1|0,e[Q7>>2]=u3,v=_3),Q3=Mn+1|0,J5=pa+(Mn<<2)|0,e[J5>>2]=v,Y5=(De+1824|0)+(v<<2)|0,e[Y5>>2]=H3,q9=Q3}if(S5=B$+1|0,Y3=e[Do>>2]|0,G5=(S5|0)<(Y3|0),G5)Po=q9,B$=S5;else break}}while(!1);nu=De+3480|0,ou=+l1[nu>>3],_a=ou*1e3,To=(De+1056|0)+(y7<<2)|0,Go=e[To>>2]|0,gp=e[Sg>>2]|0,Uo=+(gp|0),dr=Uo*.5,su=De+(y7<<2)|0,Or=e[su>>2]|0,s7=Or>>1,d$=_a>dr,UC=d$?dr:_a,f$=UC/dr,Z7=+(s7|0),m$=Z7*f$,p$=~~m$,qr=Go+1116|0,e[qr>>2]=p$,u6=(x7+(ni<<5)|0)+4|0,xa=e[u6>>2]|0;do if((xa|0)==2)Au=250;else if((xa|0)==1){if(Hr=e[Ng>>2]|0,au=(Hr|0)==0,x4=De+2996|0,E$=De+2968|0,ay=au?E$:x4,sy=e[ay>>2]|0,oy=+(sy|0),PC=oy*1e3,kt=PC>dr,!kt){Au=PC;break}Au=dr}else Au=UC;while(!1);C0=e[Tg>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=De+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(hE=0;;){if(y0=(De+544|0)+(hE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(vp=0;;){W0=(w0+1092|0)+(vp<<2)|0,v0=e[W0>>2]|0,T0=(v0|0)==(ni|0);do if(T0){if(N0=e[bg>>2]|0,P0=(N0|0)>0,P0)GC=0,IE=0;else{hp=0;break}for(;;)if(q0=(w0+4|0)+(IE<<2)|0,k0=e[q0>>2]|0,z0=(k0|0)==(vp|0),F0=z0&1,Y=F0+GC|0,L0=IE+1|0,zQ=(L0|0)==(N0|0),zQ){hp=Y;break}else GC=Y,IE=L0}else hp=0;while(!1);if(G0=vp+1|0,J0=(G0|0)<(B0|0),H0=(hp|0)==0,Z0=J0&H0,Z0)vp=G0;else{cE=hp;break}}else cE=0;if(O0=hE+1|0,V0=(O0|0)<(b0|0),s1=(cE|0)==0,Y0=V0&s1,Y0)hE=O0;else{lE=cE;break}}else lE=0;if(i1=Au/dr,x0=+(lE|0),o1=x0*Z7,g1=o1*i1,m1=e[ZA>>2]|0,d1=+(m1|0),u1=g1/d1,A1=u1+.9,c1=~~A1,a1=n5(c1,m1)|0,$1=n7+4|0,e[$1>>2]=a1,j0=n5(lE,s7)|0,E1=(a1|0)>(j0|0),!E1){q=$1,Z1=a1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,q=$1,Z1=p1,x1=m1}else{if(B1=Au/dr,w1=B1*Z7,v1=e[ZA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,b1=~~M1,_1=n5(b1,v1)|0,F1=n7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){q=F1,Z1=_1,x1=v1;break}D1=(s7|0)%(v1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,q=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[q>>2]=x1),m3=dE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)dE=m3;else break}if(S6=y7+1|0,r6=(S6|0)<(a|0),r6)y7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(v6=e[f0>>2]|0,R3=v6+3396|0,o6=e[R3>>2]|0,C6=v6+3400|0,K3=+l1[C6>>3],F3=~~K3,W3=+(F3|0),e6=K3-W3,R6=o6+4|0,l6=e[R6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(J6=e[bg>>2]|0,B6=l6+(F3<<3)|0,T3=+l1[B6>>3],H6=1-e6,A6=T3*H6,D6=F3+1|0,G6=l6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*e6,X6=Q6+A6,P3=+(J6|0),V6=X6*P3,Ay=~~V6,Q=Ay),o9=t+16|0,e[o9>>2]=Q),g9=n0+3424|0,U6=e[g9>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,s9=e[O3>>2]|0,h9=+(s9|0),n9=+(b6|0),C9=h9/n9,B9=~~C9,g0=B9),Q9=t+24|0,e[Q9>>2]=g0,d9=n0+3420|0,f9=e[d9>>2]|0,V9=(f9|0)==0,V9?(E=0,E|0):(y6=e[f6>>2]|0,a9=n0+3360|0,e[a9>>2]=y6,Y9=e[g9>>2]|0,y9=n0+3364|0,e[y9>>2]=Y9,ye=e[F6>>2]|0,ge=n0+3368|0,e[ge>>2]=ye,pe=n0+3444|0,z9=e[pe>>2]|0,re=n0+3372|0,e[re>>2]=z9,R9=n0+3448|0,w9=+l1[R9>>3],A9=n0+3376|0,l1[A9>>3]=w9,we=n0+3432|0,Me=+l1[we>>3],ue=n0+3384|0,l1[ue>>3]=Me,E=0,E|0)}function Xb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0;if(Y=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,N=m,G=y+3400|0,Q=eD(o,a,N,0,G)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)d=-130;else return tD(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=jb(t)|0,D=(w|0)==0,D?(g=0,g|0):(SC(t),g=w,g|0);return SC(t),g=d,g|0}function oE(t,o,a,$,g,d){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,W=t+28|0,$0=e[W>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,d1=e[Z0>>2]|0,I1=+(d1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),N=F*E,G=($+(B*20|0)|0)+4|0,U=e[G>>2]|0,Y=+(U|0),e0=Y*M,K=e0+N,a0=K,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,z=e[s0>>2]|0,o0=+(z|0),q=o0*E,h0=($+(B*20|0)|0)+8|0,t0=e[h0>>2]|0,j=+(t0|0),u0=j*M,c0=u0+q,l0=c0,Z=N0+20|0,s[Z>>2]=l0,m0=($+(m*20|0)|0)+12|0,g0=+s[m0>>2],f0=g0,n0=f0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,W0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,P0=T0*M,q0=P0+W0,k0=q0,z0=N0+28|0,s[z0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),K0=G0*E,J0=g+(B<<2)|0,H0=e[J0>>2]|0,O0=+(H0|0),V0=O0*M,s1=V0+K0,Y0=s1,i1=N0+496|0,s[i1>>2]=Y0,p1=0;x0=(d+(m*68|0)|0)+(p1<<2)|0,o1=e[x0>>2]|0,h1=+(o1|0),g1=h1*E,m1=(d+(B*68|0)|0)+(p1<<2)|0,u1=e[m1>>2]|0,A1=+(u1|0),c1=A1*M,a1=c1+g1,$1=a1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function sE(t,o,a,$,g,d,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),h0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,b1=e[j0>>2]|0,q1=+(b1|0),D=1-h0,e0=q1*D,K=v+1|0,a0=$+(K<<2)|0,W=e[a0>>2]|0,r0=+(W|0),s0=r0*h0,z=s0+e0,o0=z,q=x0+108|0,s[q>>2]=o0,t0=d+(a*12|0)|0,j=e[t0>>2]|0,u0=x0+120|0,e[u0>>2]=j,c0=(d+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,Z=(d+(a*12|0)|0)+8|0,m0=e[Z>>2]|0,g0=x0+128|0,e[g0>>2]=m0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,d0=e[f0>>2]|0,p0=+(d0|0),C0=p0*D,S0=(g+(K*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*h0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,W0=i2+1|0,K1=(W0|0)==17,K1){c2=0;break}else i2=W0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(c2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*D,U1=((g+(K*204|0)|0)+68|0)+(c2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),Z1=P1*h0,G1=Z1+F1,x1=G1,J1=(x0+200|0)+(c2<<2)|0,s[J1>>2]=x1,H1=c2+1|0,d2=(H1|0)==17,d2){r2=0;break}else c2=H1;for(;V1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,Y1=e[V1>>2]|0,X1=+(Y1|0),o2=X1*D,j1=((g+(K*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,u2=+(O1|0),W1=u2*h0,I2=W1+o2,y=I2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,l2=(M|0)==17,!l2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,N=R,G=N+m,U=G,Y=U>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,P0=N0,q0=P0>2]=$2,z0=M0+1|0,a2=(z0|0)==17,!a2;)M0=z0;for(F0=x0+200|0,G0=+s[F0>>2],K0=G0+6,J0=x0+200|0,H0=G0,Z0=H0+m,O0=Z0,V0=O0>2]=s2,s1=1;E=(x0+200|0)+(s1<<2)|0,S=+s[E>>2],Y0=(x0+200|0)+(s1<<2)|0,i1=S,o1=i1+m,h1=o1,g1=h1>2]=e2,m1=s1+1|0,C2=(m1|0)==17,!C2;)s1=m1;for(d1=x0+268|0,u1=+s[d1>>2],A1=u1+6,c1=x0+268|0,a1=u1,$1=a1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=m2,L1=Q1+1|0,A2=(L1|0)==17,!A2;)Q1=L1}function eD(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(z=26336,j0=0;;){if(s0=e[z>>2]|0,o0=s0+12|0,q=e[o0>>2]|0,h0=(q|0)==-1,j=(q|0)==(t|0),p1=h0|j,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,Z=e[l0>>2]|0,m0=(Z|0)<(o|0),!m0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,W0=t0+12|0,G0=e[W0>>2]|0,o1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=o1|A1,B1&&(c1=t0+16|0,D=e[c1>>2]|0,y=(D|0)>(o|0),!y&&(x=t0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[t0>>2]|0,F=t0+4|0,N=e[F>>2]|0,G=+l1[N>>3],U=Y>3],a0=Y>K,!a0))))){m=Y,I=R,E=d0,Q=N,u1=G;break e}if($1=E1+1|0,W=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else d0=W,E1=$1}return d|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=u1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return P0=(I1|0)==(I|0),P0?(q0=+(I|0),k0=q0+-.001,w1=k0):(z0=Q+(I1<<3)|0,F0=+l1[z0>>3],L0=F0,K0=I1+1|0,J0=Q+(K0<<3)|0,H0=+l1[J0>>3],Z0=H0,O0=L0,V0=m-O0,s1=Z0-L0,Y0=s1,i1=V0/Y0,x0=i1,h1=+(I1|0),g1=x0+h1,m1=g1,w1=m1),l1[g>>3]=w1,d1=e[E>>2]|0,d=d1,d|0}function tD(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,P0=E+3456|0,e[P0>>2]=1,O0=E+3460|0,e[O0>>2]=1,s1=E+3400|0,Y0=+l1[s1>>3],Q=~~Y0,B=+(Q|0),S=Y0-B,b=E+3472|0,l1[b>>3]=Y0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,N=R*F,G=Q+1|0,U=x+(G<<3)|0,Y=+l1[U>>3],e0=Y*S,K=e0+N,a0=E+3480|0,l1[a0>>3]=K,g=G,d=F):($=1-S,m=Q+1|0,g=m,d=$),W=r0+112|0,s0=e[W>>2]|0,z=s0+(Q<<2)|0,o0=e[z>>2]|0,q=+(o0|0),h0=q*d,t0=s0+(g<<2)|0,j=e[t0>>2]|0,u0=+(j|0),c0=u0*S,$0=c0+h0,Z=E+3496|0,l1[Z>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,d0=+(n0|0),p0=d0*d,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=Y0,W0=E+3528|0,l1[W0>>3]=Y0,M0=E+3536|0,l1[M0>>3]=Y0,v0=E+3544|0,l1[v0>>3]=Y0,T0=E+3552|0,l1[T0>>3]=Y0,N0=E+3560|0,l1[N0>>3]=Y0,q0=E+3568|0,l1[q0>>3]=Y0,k0=E+3576|0,l1[k0>>3]=Y0,z0=E+3584|0,l1[z0>>3]=Y0,F0=E+3592|0,l1[F0>>3]=Y0,L0=E+3600|0,l1[L0>>3]=Y0,G0=E+3608|0,l1[G0>>3]=Y0,K0=E+3616|0,l1[K0>>3]=Y0,J0=E+3624|0,l1[J0>>3]=Y0,H0=E+3632|0,l1[H0>>3]=Y0,Z0=E+3640|0,l1[Z0>>3]=Y0,V0=E+3648|0,l1[V0>>3]=Y0}function iD(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0;if(H0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,W0=o+(L<<2)|0,M0=e[W0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,N=(S|0)/2&-1,G=N+y|0,m=(D|0)/-4&-1,U=G+m|0,Y=(D|0)/2&-1,e0=U+Y|0,K=(M|0)>0,K?(a0=y-x|0,W=a0<<2,g4(t|0,0,W|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(z=y+R|0,o0=z-N0|0,q=o0-x|0,P0=N0,z0=0;u0=_0+(z0<<2)|0,c0=+s[u0>>2],$0=t+(P0<<2)|0,Z=+s[$0>>2],m0=Z*c0,s[$0>>2]=m0,g0=P0+1|0,f0=z0+1|0,T0=(f0|0)==(q|0),!T0;)P0=g0,z0=f0;if(h0=(D|0)>1,h0){for(t0=U+1|0,j=(e0|0)>(t0|0),k0=U,L0=Y;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(e0|0),B0;)k0=w0,L0=F0;K0=j?e0:t0,q0=K0}else q0=U;n0=(S|0)>(q0|0),n0&&(G0=t+(q0<<2)|0,d0=S-q0|0,p0=d0<<2,g4(G0|0,0,p0|0)|0)}function rD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,C=C+64|0,$0=Z+32|0,c0=Z,$=M9(688)|0,g=$+408|0,fb(g),D=~~o,Xb(g,t,D,a)|0,e0=$+440|0,ub(e0),hb(e0,553008,553016),o0=$+456|0,VS(o0,g)|0,q=$+568|0,qS(o0,q)|0,h0=AQ(0)|0,lD(h0),t0=cD()|0,MS($,t0)|0,j=$+680|0,e[j>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,Ib(o0,e0,d,$0,c0)|0,rE($,d)|0,rE($,$0)|0,rE($,c0)|0,m=$+392|0,I=lQ($,m)|0,E=(I|0)==0,E)return C=Z,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[j>>2]|0,N=J7(F,x)|0,e[j>>2]=N,G=e[u0>>2]|0,U=N+G|0,Y=e[m>>2]|0,K=e[Q>>2]|0,ce(U|0,Y|0,K|0)|0,a0=K+G|0,e[u0>>2]=a0,W=N+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ce(W|0,r0|0,s0|0)|0,z=s0+a0|0,e[u0>>2]=z),L=lQ($,m)|0,R=(L|0)==0,!R;);return C=Z,$|0}function nD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;E=C,RS(t)|0,o=t+568|0,HS(o)|0,a=t+456|0,hQ(a),$=t+440|0,db($),g=t+408|0,SC(g),d=t+680|0,m=e[d>>2]|0,E2(m),E2(t)}function oD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=dQ(a,o)|0,$|0}function sD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,a=t+456|0,YS(a,o)|0,$=t+568|0,w=fQ(a,$)|0,Y=(w|0)==1,!!Y)for(h0=t+360|0,t0=t+392|0,j=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(GS($,0)|0,OS($)|0,E=uQ(a,h0)|0,Q=(E|0)==0,!Q)for(;;){if(rE(t,h0)|0,b=cQ(t,t0)|0,v=(b|0)==0,!v)for(;D=e[j>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(G=e[$0>>2]|0,U=J7(G,L)|0,e[$0>>2]=U,e0=e[j>>2]|0,K=U+e0|0,a0=e[g>>2]|0,W=e[u0>>2]|0,ce(K|0,a0|0,W|0)|0,r0=W+e0|0,e[j>>2]=r0,s0=U+r0|0,z=e[d>>2]|0,o0=e[c0>>2]|0,ce(s0|0,z|0,o0|0)|0,q=o0+r0|0,e[j>>2]=q),F=cQ(t,t0)|0,N=(F|0)==0,!N;);if(B=uQ(a,h0)|0,S=(B|0)==0,S)break}if(m=fQ(a,$)|0,I=(m|0)==1,!I)break}}function aD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function AD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function aE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+$D(t,o),+a}function Pu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0;if(U3=C,C=C+688|0,n3=U3+424|0,W5=U3+192|0,t3=U3,o0=n5(a,o)|0,q=(o0|0)==0,q){C=U3;return}for(W=o0-a|0,V1=t3+4|0,e[V1>>2]=a,e[t3>>2]=a,t2=a,I5=a,x3=2;A2=t2+a|0,U2=A2+I5|0,T5=t3+(x3<<2)|0,e[T5>>2]=U2,D5=U2>>>0>>0,r5=x3+1|0,D5;)k2=I5,I5=U2,x3=r5,t2=k2;if(h0=0-a|0,n0=t+W|0,_0=(W|0)>0,_0)for(L0=(a|0)==0,x0=n0,b1=1,W2=0,N5=t,H5=1;;){j0=b1&3,J1=(j0|0)==3;do if(J1){e[W5>>2]=N5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=N5,O1=N5,X5=1;;){if(H1=y+h0|0,Y1=B+-2|0,X1=t3+(Y1<<2)|0,o2=e[X1>>2]|0,G5=o2+a|0,r0=0-G5|0,j1=y+r0|0,u2=pi[$&15](O1,j1)|0,W1=(u2|0)>-1,W1&&(I2=pi[$&15](O1,H1)|0,a2=(I2|0)>-1,a2)){f3=X5;break}if(C2=pi[$&15](j1,H1)|0,K1=(C2|0)>-1,d2=X5+1|0,l2=W5+(X5<<2)|0,K1?(e[l2>>2]=j1,i2=B+-1|0,d=j1,E=i2):(e[l2>>2]=H1,d=H1,E=Y1),c2=(E|0)>1,!c2){f3=d2;break}Y=e[W5>>2]|0,B=E,y=d,O1=Y,X5=d2}if(r2=(f3|0)<2,!r2&&($2=W5+(f3<<2)|0,e[$2>>2]=n3,!L0))for(w=a,O2=n3;;){for(p2=w>>>0>256,s2=p2?256:w,K2=e[W5>>2]|0,ce(O2|0,K2|0,s2|0)|0,L2=K2,X3=0;D2=W5+(X3<<2)|0,S2=X3+1|0,Q2=W5+(S2<<2)|0,G2=e[Q2>>2]|0,ce(L2|0,G2|0,s2|0)|0,P2=L2+s2|0,e[D2>>2]=P2,r3=(S2|0)==(f3|0),!r3;)L2=G2,X3=S2;if(e2=(w|0)==(s2|0),e2)break e;m2=w-s2|0,K=e[$2>>2]|0,w=m2,O2=K}}while(!1);z2=b1>>>2,H2=W2<<30,A5=z2|H2,V2=W2>>>2,N1=H5+2|0,l0=A5,x1=V2,Y5=N1}else{if(e5=H5+-1|0,F5=t3+(e5<<2)|0,t5=e[F5>>2]|0,_5=N5,Z2=x0-_5|0,b5=t5>>>0>>0,b5){e[W5>>2]=N5,V5=(H5|0)>1;e:do if(V5){for(S=H5,x=N5,M2=N5,_3=1;;){if(g5=x+h0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,o5=e[B5>>2]|0,$6=o5+a|0,s0=0-$6|0,R2=x+s0|0,y2=pi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=pi[$&15](M2,g5)|0,x5=(m5|0)>-1,x5)){w3=_3;break}if(q5=pi[$&15](R2,g5)|0,L5=(q5|0)>-1,Y2=_3+1|0,p5=W5+(_3<<2)|0,L5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){w3=Y2;break}e0=e[W5>>2]|0,S=Q,x=m,M2=e0,_3=Y2}if(y5=(w3|0)<2,!y5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,X2=n3;;){for(f5=D>>>0>256,l5=f5?256:D,M5=e[W5>>2]|0,ce(X2|0,M5|0,l5|0)|0,d5=M5,H3=0;h2=W5+(H3<<2)|0,w5=H3+1|0,i5=W5+(w5<<2)|0,s5=e[i5>>2]|0,ce(d5|0,s5|0,l5|0)|0,J2=d5+l5|0,e[h2>>2]=J2,a3=(w5|0)==(w3|0),!a3;)d5=s5,H3=w5;if(h5=(D|0)==(l5|0),h5)break e;j2=D-l5|0,a0=e[T1>>2]|0,D=j2,X2=a0}}while(!1)}else AE(N5,a,$,b1,W2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=W2<<1,v5=b1>>>31,z5=v5|F2,i3=b1<<1,l0=i3,x1=z5,Y5=0;break}else{E5=e5>>>0>31,I3=H5+-33|0,g=E5?0:b1,M=E5?b1:W2,L=E5?I3:e5,d3=M<>>t0,u0=j|d3,c0=g<>>0>>0,m0)b1=$0,W2=x1,N5=Z,H5=Y5;else{N=x1,G=$0,B3=Z,J5=Y5;break}}else N=0,G=1,B3=t,J5=1;if(AE(B3,a,$,G,N,J5,0,t3),g0=(J5|0)==1,f0=(G|0)==1,Q3=f0&g0,d0=(N|0)==0,u3=d0&Q3,u3){C=U3;return}else S0=G,v0=N,Z5=B3,S5=J5;for(;;){if(p0=(S5|0)<2,!p0){V0=v0<<2,s1=S0>>>30,Y0=s1|V0,i1=S5+-2|0,o1=S0<<1,h1=o1&2147483646,g1=s1<<31,m1=h1|g1,d1=m1^3,u1=Y0>>>1,A1=t3+(i1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,z=0-Y3|0,a1=Z5+z|0,$1=S5+-1|0,AE(a1,a,$,d1,u1,$1,1,t3),E1=u1<<1,I1=s1&1,Q1=E1|I1,p1=d1<<1,B1=p1|1,w1=Z5+h0|0,AE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,Z5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)O0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,W0=(B0|0)==0,W0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:J0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){O0=64,l3=56;break}if(N0=v0&1,P0=(N0|0)==0,P0)v=v0,G3=0;else{I=0,k1=S0,_1=v0,D1=0;break}for(;;)if(q0=G3+1|0,k0=v>>>1,z0=k0&1,F0=(z0|0)==0,F0)v=k0,G3=q0;else{F=q0,V3=G3;break}if(G0=V3+33|0,K0=(F|0)==0,K0){I=0,k1=S0,_1=v0,D1=0;break}else J0=G0}H0=J0>>>0>31,H0?(O0=J0,l3=56):(I=J0,k1=S0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,Z0=O0+-32|0,I=Z0,k1=v0,_1=0,D1=O0),v1=k1>>>I,L1=32-I|0,M1=_1<>>I,U1=D1+S5|0,U=Z5+h0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,Z5=U,S5=U1}C=U3}function AE(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,H2=y2+228|0,U2=y2,e[U2>>2]=t,q=0-o|0,h0=($|0)!=1,v0=(g|0)!=0,J0=v0|h0;e:do if(J0)if(g1=I+(d<<2)|0,Q1=e[g1>>2]|0,F1=0-Q1|0,Y1=t+F1|0,K1=pi[a&15](Y1,t)|0,k2=(K1|0)<1,k2)B=t,M=d,U=m,V2=1,M2=18;else for(v=t,N=d,Y=m,B0=Y1,V0=g,_5=1,b2=$;;){if(t0=(Y|0)==0,d0=(N|0)>1,g5=t0&d0,g5){if(b0=v+q|0,E0=N+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=pi[a&15](b0,B0)|0,W0=(_0|0)>-1,W0){S=v,L=N,e5=_5;break e}if(B5=w0+o|0,z=0-B5|0,M0=v+z|0,T0=pi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=N,e5=_5;break e}}P0=_5+1|0,q0=U2+(_5<<2)|0,e[q0>>2]=B0,k0=b2+-1|0,z0=(k0|0)==0;do if(z0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,K0=y>>>1,H0=K0&1,Z0=(H0|0)==0,Z0)y=K0,I5=G0;else{e0=G0;break}O0=(e0|0)==0,O0?M2=10:A1=e0}else M2=10;if((M2|0)==10){if(M2=0,s1=(V0|0)==0,s1){$1=64,M2=15;break}if(Y0=V0&1,i1=(Y0|0)==0,i1)x=V0,b5=0;else{Q=0,E1=b2,B1=V0,L1=0;break}for(;;)if(x0=b5+1|0,o1=x>>>1,h1=o1&1,m1=(h1|0)==0,m1)x=o1,b5=x0;else{K=x0,V5=b5;break}if(d1=V5+33|0,u1=(K|0)==0,u1){Q=0,E1=b2,B1=V0,L1=0;break}else A1=d1}c1=A1>>>0>31,c1?($1=A1,M2=15):(Q=A1,E1=b2,B1=V0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,a1=$1+-32|0,Q=a1,E1=V0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+N|0,M1=(w1|0)!=1,b1=(v1|0)!=0,_1=b1|M1,!_1){S=B0,L=k1,e5=P0;break e}if(a0=e[U2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,Z1=pi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,U=0,V2=P0,M2=18;break}else w=B0,N=k1,Y=0,B0=P1,V0=v1,_5=P0,b2=w1,v=w}else B=t,M=d,U=m,V2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(U|0)==0,x1)S=B,L=M,e5=V2;else{C=y2;return}J1=(e5|0)<2;e:do if(!J1&&(q1=U2+(e5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,d2=R2;;){for(C2=F>>>0>256,X1=C2?256:F,A2=e[U2>>2]|0,ce(d2|0,A2|0,X1|0)|0,I2=A2,t5=0;j1=U2+(t5<<2)|0,O1=t5+1|0,u2=U2+(O1<<2)|0,W1=e[u2>>2]|0,ce(I2|0,W1|0,X1|0)|0,a2=I2+X1|0,e[j1>>2]=a2,A5=(O1|0)==(e5|0),!A5;)I2=W1,t5=O1;if(V1=(F|0)==(X1|0),V1)break e;o2=F-X1|0,s0=e[q1>>2]|0,F=o2,d2=s0}while(!1);e[H2>>2]=S,l2=(L|0)>1;e:do if(l2){for(D=L,G=S,s2=S,Z2=1;;){if(i2=G+q|0,c2=D+-2|0,r2=I+(c2<<2)|0,$2=e[r2>>2]|0,o5=$2+o|0,o0=0-o5|0,e2=G+o0|0,m2=pi[a&15](s2,e2)|0,t2=(m2|0)>-1,t2&&(D2=pi[a&15](s2,i2)|0,S2=(D2|0)>-1,S2)){N1=Z2;break}if(Q2=pi[a&15](e2,i2)|0,G2=(Q2|0)>-1,L2=Z2+1|0,P2=H2+(Z2<<2)|0,G2?(e[P2>>2]=e2,p2=D+-1|0,E=e2,b=p2):(e[P2>>2]=i2,E=i2,b=c2),K2=(b|0)>1,!K2){N1=L2;break}W=e[H2>>2]|0,D=b,G=E,s2=W,Z2=L2}if(O2=(N1|0)<2,O2)Q0=R2;else if(z2=H2+(N1<<2)|0,e[z2>>2]=R2,j=(o|0)==0,j)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[H2>>2]|0,ce(S0|0,C0|0,c0|0)|0,f0=C0,F5=0;l0=H2+(F5<<2)|0,Z=F5+1|0,m0=H2+(Z<<2)|0,g0=e[m0>>2]|0,ce(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,W2=(Z|0)==(N1|0),!W2;)f0=g0,F5=Z;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[z2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function z7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,d=t+4503599627370496,m=d+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function TQ(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(d=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=d?I:Q,B=b==0,B?(S=d?-0:0,o=S,+o):(o=b,+o))}function $D(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0;return e0=C,d=(o|0)>1023,d?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,U=M):($=y,U=m)):(F=(o|0)<-1022,F?(N=t*22250738585072014e-324,G=o+1022|0,I=(G|0)<-1022,I?(E=N*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,U=E):($=G,U=N)):($=o,U=t)),S=$+1023|0,b=UQ(S|0,0,52)|0,v=Z6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=U*w,+D}function lD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function cD(){var t=0,o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=dD(E|0,S|0,1284865837,1481765933)|0,v=Z6,w=ns(b|0,v|0,1,0)|0,D=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=D,m=os(w|0,D|0,33)|0,I=Z6,m|0}function M9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,S4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,b4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,D4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,H8=0,W8=0,M8=0,u8=0,R8=0,l4=0,V8=0,Z8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,ei=0,Qi=0,li=0,g7=0,Yi=0,yi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ti=0,ui=0,Y8=0,ii=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,z8=0,Li=0,_4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,vr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,kr=0,$n=0,Bs=0,Qs=0,ln=0,I7=0,ro=0,ys=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,Sr=0,un=0,Ts=0,nr=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,br=0,Io=0,p7=0,fn=0,Dr=0,or=0,_r=0,K7=0,xr=0,mo=0,W7=0,b7=0,D7=0,i7=0,_7=0,Lr=0,sr=0,ar=0,Mr=0,E7=0,Os=0,fi=0,nl=0,In=0,mn=0,Ou=0,ol=0,qs=0,qu=0,sA=0,sl=0,Hu=0,Vu=0,Yu=0,aA=0,al=0,Al=0,AA=0,pn=0,$l=0,zu=0,Hs=0,Ar=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,ll=0,Rr=0,nh=0,oh=0,cl=0,sh=0,$A=0,Vs=0,lA=0,ah=0,Ah=0,cA=0,gl=0,ul=0,hl=0,gA=0,dl=0,Ys=0,$h=0,lh=0,fl=0,ch=0,gh=0,Il=0,uh=0,hh=0,ml=0,pl=0,El=0,Cl=0,Bl=0,En=0,dh=0,Ql=0,fh=0,yl=0,wl=0,Ih=0,mh=0,ph=0,uA=0,vl=0,kl=0,po=0,Sl=0,hA=0,Eh=0,bl=0,Ch=0,Dl=0,Bh=0,Qh=0,_l=0,xl=0,yh=0,zs=0,wh=0,dA=0,Ll=0,Ml=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Js=0,Rl=0,Fl=0,Tl=0,Ks=0,xh=0,Nl=0,Lh=0,Gl=0,Mh=0,Rh=0,Ul=0,fA=0,Fh=0,Th=0,Ws=0,Nh=0,Zs=0,Gh=0,IA=0,Uh=0,Ph=0,Oh=0,Pl=0,qh=0,Hh=0,Vh=0,Yh=0,Ol=0,ql=0,$r=0,Hl=0,js=0,mA=0,pA=0,Cn=0,Vl=0,Bn=0,zh=0,Yl=0,Jh=0,Kh=0,Wh=0,Zh=0,Xs=0,EA=0,Fr=0,jh=0,Xh=0,zl=0,CA=0,Jl=0,Kl=0,ed=0,Wl=0,td=0,BA=0,id=0,rd=0,K9=0,nd=0,Zl=0,od=0,sd=0,QA=0,ad=0,yA=0,jl=0,Ad=0,$d=0,Xl=0,ec=0,ld=0,wA=0,vA=0,tc=0,ic=0,cd=0,rc=0,kA=0,gd=0,nc=0,ud=0,hd=0,dd=0,fd=0,oc=0,sc=0,SA=0,ea=0,ac=0,Id=0,Ac=0,$c=0,md=0,pd=0,Ed=0,lc=0,Cd=0,Bd=0,Qd=0,yd=0,wd=0,vd=0,cc=0,kd=0,gc=0,Sd=0,Qn=0,bd=0,uc=0,Dd=0,Eo=0,hc=0,bA=0,_d=0,ta=0,DA=0,xd=0,_A=0,dc=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,fc=0,Nd=0,Gd=0,Ud=0,ia=0,Co=0,xA=0,Pd=0,LA=0,Od=0,qd=0,Hd=0,Ic=0,Vd=0,Yd=0,zd=0,Jd=0,Kd=0,ra=0,Wd=0,Zd=0,mc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,pc=0,B7=0,Ec=0,MA=0,rf=0,r7=0,Bo=0,nf=0,of=0,sf=0,af=0,Af=0,Cc=0,$f=0,lf=0,Bc=0,cf=0,gf=0,Qo=0,RA=0,uf=0,Qc=0,hf=0,df=0,na=0,ff=0,If=0,yc=0,wc=0,mf=0,pf=0,yn=0,Ef=0,Cf=0,wn=0,Bf=0,vc=0,Qf=0,yf=0,yo=0,kc=0,wf=0,Sc=0,vf=0,lr=0,FA=0,kf=0,bc=0,Dc=0,Sf=0,bf=0,_c=0,Df=0,_f=0,xf=0,xc=0,Lf=0,wo=0,Mf=0,vn=0,Rf=0,Ff=0,TA=0,Tf=0,NA=0,GA=0,Nf=0,Lc=0,Mc=0,Gf=0,Rc=0,Fc=0,Tc=0,Uf=0,Nc=0,Gc=0,Pf=0,Of=0,Uc=0,Pc=0,qf=0,Oc=0,qc=0,Hf=0,Vf=0,Hc=0,UA=0,Vc=0,Yc=0,zc=0,Jc=0,Yf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Kc=0,PA=0,eI=0,tI=0,iI=0,Wc=0,Zc=0,rI=0,jc=0,OA=0,oa=0,Xc=0,nI=0,oI=0,sI=0,aI=0,eg=0,sa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,dI=0,tg=0,fI=0,II=0,mI=0,pI=0,aa=0,ig=0,EI=0,CI=0,kn=0,rg=0,ng=0,qA=0,BI=0,og=0,QI=0,sg=0,ag=0,yI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,HA=0,bI=0,DI=0,_I=0,xI=0,Ag=0,LI=0,$g=0,MI=0,RI=0,lg=0,Tr=0,cg=0,gg=0,FI=0,ug=0,$a=0,TI=0,NI=0,GI=0,la=0,hg=0,UI=0,PI=0,dg=0,OI=0,qI=0,VA=0,ca=0,HI=0,VI=0,YI=0,fg=0,Ig=0,mg=0,zI=0,JI=0,vo=0,KI=0,pg=0,WI=0,YA=0,Eg=0,ZI=0,jI=0,XI=0,em=0,Cg=0,tm=0,im=0,Bg=0,ga=0,rm=0,nm=0,om=0,ko=0,Qg=0,yg=0,sm=0,wg=0,vg=0,x7=0,kg=0,cr=0,am=0,Am=0,$m=0,lm=0,zA=0,ua=0,Sg=0,bg=0,cm=0,ha=0,So=0,gm=0,da=0,JA=0,um=0,KA=0,hm=0,dm=0,Dg=0,fa=0,_g=0,fm=0,Im=0,mm=0,pm=0,xg=0,Em=0,ni=0,De=0,n7=0,Cm=0,Lg=0,Mg=0,WA=0,Bm=0,Nr=0,bo=0,Qm=0,ym=0,Rg=0,ZA=0,wm=0,Fg=0,Tg=0,Ng=0,jA=0,XA=0,Gg=0,Do=0,e$=0,Ug=0,vm=0,Sn=0,km=0,Pg=0,Ia=0,Sm=0,Og=0,L7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,M7=0,Rm=0,Fm=0,Tm=0,qg=0,Q7=0,ma=0,t$=0,Hg=0,Vg=0,Nm=0,Yg=0,zg=0,Gm=0,Um=0,Jg=0,Kg=0,Pm=0,Om=0,Wg=0,qm=0,_o=0,pa=0,Ea=0,Hm=0,i$=0,Vm=0,Ym=0,Zg=0,xo=0,zm=0,Jm=0,r$=0,n$=0,Ca=0,o$=0,s$=0,gr=0,Gr=0,Ur=0,a$=0,A$=0,Lo=0,ur=0,bn=0,Km=0,hr=0,Dn=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,Qa=0,jg=0,Xg=0,ya=0,$$=0,Ni=0,wa=0,Pr=0,l$=0,Zm=0,c$=0,jm=0,g$=0,eu=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,_n=0,tt=0,Le=0,tu=0,ip=0,u$=0,iu=0,rp=0,np=0,ba=0,op=0,sp=0,ap=0,Ap=0,ru=0,$p=0,lp=0,cp=0,o7=0,Da=0,xn=0,h$=0,Mo=0,Ro=0,oi=0,Fo=0,nu=0,ou=0,_a=0,To=0,No=0,Go=0,gp=0,Uo=0,dr=0,su=0,Or=0,s7=0,d$=0,f$=0,Z7=0,I$=0,m$=0,p$=0,qr=0,u6=0,xa=0,Hr=0,au=0,x4=0,E$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Vr=0,je=0,C$=0;C$=C,K1=t>>>0<245;do if(K1){if(d2=t>>>0<11,pe=t+11|0,Ke=pe&-8,_4=d2?16:Ke,qs=_4>>>3,IA=e[138262]|0,ia=IA>>>qs,Yc=ia&3,Bg=(Yc|0)==0,!Bg){l2=ia&1,f3=l2^1,g3=f3+qs|0,l3=g3<<1,h3=553088+(l3<<2)|0,S0=l3+2|0,N6=553088+(S0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,Q9=(h3|0)==(F6|0);do if(Q9)z9=1<>>0>>0,d4&&v2(),Se=F6+12|0,S9=e[Se>>2]|0,Pt=(S9|0)==(R6|0),Pt){e[Se>>2]=h3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,b4=R6+w0|0,We=e[b4>>2]|0,A8=We|1,e[b4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,Z8=_4>>>0>X4>>>0,Z8){if(Hi=(ia|0)==0,!Hi){Yi=ia<>>12,gn=Ss&16,go=ro>>>gn,or=go>>>5,sr=or&8,qu=sr|gn,$l=go>>>sr,th=$l>>>2,lA=th&4,lh=qu|lA,Bl=$l>>>lA,vl=Bl>>>1,_l=vl&2,bh=lh|_l,Gl=Bl>>>_l,Uh=Gl>>>1,Hl=Uh&1,Wh=bh|Hl,ed=Gl>>>Hl,QA=Wh+ed|0,tc=QA<<1,oc=553088+(tc<<2)|0,P1=tc+2|0,lc=553088+(P1<<2)|0,Qn=e[lc>>2]|0,_A=Qn+8|0,Co=e[_A>>2]|0,Jd=(oc|0)==(Co|0);do if(Jd)pc=1<>>0>>0,lr&&v2(),xc=Co+12|0,Nf=e[xc>>2]|0,Of=(Nf|0)==(Qn|0),Of){e[xc>>2]=oc,e[lc>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return zc=QA<<3,PA=zc-_4|0,nI=_4|3,uI=Qn+4|0,e[uI>>2]=nI,CI=Qn+_4|0,wI=PA|1,X1=_4|4,LI=Qn+X1|0,e[LI>>2]=wI,TI=Qn+zc|0,e[TI>>2]=PA,pg=(ca|0)==0,pg||(ga=e[138267]|0,kg=ca>>>3,ha=kg<<1,_g=553088+(ha<<2)|0,Lg=e[138262]|0,Fg=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(U=_o,Ca=i2)),e[U>>2]=ga,g5=Ca+12|0,e[g5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,j2=ga+12|0,e[j2>>2]=_g),e[138264]=PA,e[138267]=CI,tt=_A,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=_4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,X3=w3>>>12,H3=X3&16,X5=w3>>>H3,_3=X5>>>5,t3=_3&8,s6=t3|H3,G3=X5>>>t3,V3=G3>>>2,c3=V3&4,u3=s6|c3,Q3=G3>>>c3,J5=Q3>>>1,H5=J5&2,Y5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,G5=Y3&1,$6=Y5|G5,n3=S5>>>G5,U3=$6+n3|0,E6=553352+(U3<<2)|0,b3=e[E6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,a6=D3&-8,i6=a6-_4|0,Da=i6,f$=b3,E$=b3;;){if(z3=f$+16|0,j5=e[z3>>2]|0,M3=(j5|0)==0,M3)if(J3=f$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){xn=Da,kt=E$;break}else L6=d6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,r6=S6-_4|0,f6=r6>>>0>>0,z=f6?r6:Da,A2=f6?L6:E$,Da=z,f$=L6,E$=A2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+_4|0,R3=kt>>>0>>0,R3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,K3=e[C6>>2]|0,F3=(K3|0)==(kt|0);do if(F3){if(H6=kt+20|0,A6=e[H6>>2]|0,D6=(A6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else ur=Q6,Ba=e9;else ur=A6,Ba=H6;for(;;){if(P3=ur+20|0,r9=e[P3>>2]|0,V6=(r9|0)==0,!V6){ur=r9,Ba=P3;continue}if(o9=ur+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){hr=ur,Xg=Ba;break}else ur=g9,Ba=o9}if(Y6=Xg>>>0>>0,Y6)v2();else{e[Xg>>2]=0,Ri=hr;break}}else if(W3=kt+8|0,e6=e[W3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,J6=e[o3>>2]|0,A3=(J6|0)==(kt|0),A3||v2(),c6=K3+8|0,B6=e[c6>>2]|0,T3=(B6|0)==(kt|0),T3){e[o3>>2]=K3,e[c6>>2]=e6,Ri=K3;break}else v2();while(!1);t9=(o6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[O3>>2]=Ri,Xm=(Ri|0)==0,Xm){h9=1<>>0>>0,f9&&v2(),V9=o6+16|0,y6=e[V9>>2]|0,q6=(y6|0)==(kt|0),q6?e[V9>>2]=Ri:(a9=o6+20|0,e[a9>>2]=Ri),Y9=(Ri|0)==0,Y9)break;y9=e[138266]|0,ye=Ri>>>0>>0,ye&&v2(),ge=Ri+24|0,e[ge>>2]=o6,re=kt+16|0,R9=e[re>>2]|0,w9=(R9|0)==0;do if(!w9)if(K6=R9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=R9,we=R9+24|0,e[we>>2]=Ri;break}while(!1);if(Me=kt+20|0,ue=e[Me>>2]|0,D9=(ue|0)==0,!D9)if(Re=e[138266]|0,Ge=ue>>>0>>0,Ge)v2();else{qe=Ri+20|0,e[qe>>2]=ue,r4=ue+24|0,e[r4>>2]=Ri;break}}while(!1);return ve=xn>>>0<16,ve?(He=xn+_4|0,J9=He|3,Ve=kt+4|0,e[Ve>>2]=J9,Z1=He+4|0,he=kt+Z1|0,Ue=e[he>>2]|0,Ee=Ue|1,e[he>>2]=Ee):(Z9=_4|3,v9=kt+4|0,e[v9>>2]=Z9,v4=xn|1,m0=_4|4,V4=kt+m0|0,e[V4>>2]=v4,f0=xn+_4|0,nt=kt+f0|0,e[nt>>2]=xn,Ye=e[138264]|0,Y4=(Ye|0)==0,Y4||(ze=e[138267]|0,n4=Ye>>>3,R4=n4<<1,ne=553088+(R4<<2)|0,u4=e[138262]|0,Ce=1<>2]|0,h4=e[138266]|0,oe=Te>>>0

>>0,oe?v2():(N=de,n$=Te)),e[N>>2]=ze,f4=n$+12|0,e[f4>>2]=ze,ke=ze+8|0,e[ke>>2]=n$,o4=ze+12|0,e[o4>>2]=ne),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=_4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(k9=t+11|0,I6=k9&-8,z4=e[138263]|0,fe=(z4|0)==0,fe)Le=I6;else{k4=0-I6|0,Ie=k9>>>8,z6=(Ie|0)==0,z6?_n=0:(F4=I6>>>0>16777215,F4?_n=31:(T4=Ie+1048320|0,st=T4>>>16,me=st&8,xe=Ie<>>16,_9=Z3&4,Oe=_9|me,s4=xe<<_9,d8=s4+245760|0,N4=d8>>>16,f8=N4&2,D8=Oe|f8,e8=14-D8|0,I8=s4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,_8=i8|Ot,_n=_8)),Ht=553352+(_n<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ro=k4,I$=0,Mn=0,je=86;else for(_t=(_n|0)==31,xt=_n>>>1,zt=25-xt|0,Jt=_t?0:zt,r8=I6<>2]|0,J4=Et&-8,G4=J4-I6|0,at=G4>>>0>>0,at)if(Lt=(J4|0)==(I6|0),Lt){Fo=G4,qr=Z7,Vr=Z7,je=90;break e}else Mo=G4,Ln=Z7;else Mo=h$,Ln=Po;if(x9=Z7+20|0,S4=e[x9>>2]|0,E8=_a>>>31,x8=(Z7+16|0)+(E8<<2)|0,o8=e[x8>>2]|0,L8=(S4|0)==0,a4=(S4|0)==(o8|0),op=L8|a4,ou=op?nu:S4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,I$=ou,Mn=Ln,je=86;break}else h$=Mo,nu=ou,_a=Kt,Z7=o8,Po=Ln}while(!1);if((je|0)==86){if(Mt=(I$|0)==0,At=(Mn|0)==0,rp=Mt&At,rp){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=z4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,Qt=ct>>>12,p4=Qt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,D4=gt&4,be=P4|D4,yt=E4>>>D4,a8=yt>>>1,E3=a8&2,Z4=be|E3,wt=yt>>>E3,A4=wt>>>1,j9=A4&1,$4=Z4|j9,F9=wt>>>j9,j4=$4+F9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,m$=C8,Rn=0}else m$=I$,Rn=Mn;$8=(m$|0)==0,$8?(oi=Ro,q9=Rn):(Fo=Ro,qr=m$,Vr=Rn,je=90)}if((je|0)==90)for(;;){if(je=0,Zt=qr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,o0=ht?ut:Fo,p$=ht?qr:Vr,Ft=qr+16|0,Ze=e[Ft>>2]|0,c8=(Ze|0)==0,!c8){Fo=o0,qr=Ze,Vr=p$,je=90;continue}if(Tt=qr+20|0,b9=e[Tt>>2]|0,g8=(b9|0)==0,g8){oi=o0,q9=p$;break}else Fo=o0,qr=b9,Vr=p$,je=90}if(et=(q9|0)==0,et)Le=I6;else if(H8=e[138264]|0,W8=H8-I6|0,M8=oi>>>0>>0,M8){u8=e[138266]|0,R8=q9>>>0>>0,R8&&v2(),l4=q9+I6|0,V8=q9>>>0>>0,V8||v2(),dt=q9+24|0,Nt=e[dt>>2]|0,F8=q9+12|0,Xt=e[F8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(X8=q9+20|0,Bi=e[X8>>2]|0,ei=(Bi|0)==0,ei)if(Qi=q9+16|0,li=e[Qi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dn=li,ya=Qi;else Dn=Bi,ya=X8;for(;;){if(yi=Dn+20|0,wi=e[yi>>2]|0,u7=(wi|0)==0,!u7){Dn=wi,ya=yi;continue}if(vi=Dn+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Wm=Dn,$$=ya;break}else Dn=ci,ya=vi}if(zi=$$>>>0>>0,zi)v2();else{e[$$>>2]=0,Ti=Wm;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,T8=Ae>>>0>>0,T8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(q9|0),Vi||v2(),Ei=Xt+8|0,j8=e[Ei>>2]|0,Ci=(j8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ti=(q9|0)==(Zi|0),ti){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(q9|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ri=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,hi=q9+16|0,z8=e[hi>>2]|0,Li=(z8|0)==0;do if(!Li)if(N8=z8>>>0>>0,N8)v2();else{di=Ti+16|0,e[di>>2]=z8,$9=z8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(G8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{vr=Ti+20|0,e[vr>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=oi>>>0<16;e:do if($s)Jn=oi+I6|0,ls=Jn|3,cs=q9+4|0,e[cs>>2]=ls,h1=Jn+4|0,Kn=q9+h1|0,gs=e[Kn>>2]|0,on=gs|1,e[Kn>>2]=on;else{if(us=I6|3,hs=q9+4|0,e[hs>>2]=us,ds=oi|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=ds,C0=oi+I6|0,Zn=q9+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Is=oi>>>0<256,Is){sn=jn<<1,Xn=553088+(sn<<2)|0,an=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,kr=io>>>0>>0,kr?v2():(F=An,s$=io)),e[F>>2]=l4,$n=s$+12|0,e[$n>>2]=l4,V0=I6+8|0,Bs=q9+V0|0,e[Bs>>2]=s$,Y0=I6+12|0,Qs=q9+Y0|0,e[Qs>>2]=Xn;break}if(ln=oi>>>8,I7=(ln|0)==0,I7?Gr=0:(ys=oi>>>0>16777215,ys?Gr=31:(ws=ln+1048320|0,no=ws>>>16,oo=no&8,so=ln<>>16,cn=m7&4,ks=cn|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,Sr=oi>>>Fs,un=Sr&1,Ts=un|Rs,Gr=Ts)),nr=553352+(Gr<<2)|0,d1=I6+28|0,Ns=q9+d1|0,e[Ns>>2]=Gr,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,hn=q9+x1|0,e[hn>>2]=0,e[lo>>2]=0,co=e[138263]|0,dn=1<>2]=l4,V1=I6+24|0,ho=q9+V1|0,e[ho>>2]=nr,o2=I6+12|0,fo=q9+o2|0,e[fo>>2]=l4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=l4;break}br=e[nr>>2]|0,Io=br+4|0,p7=e[Io>>2]|0,fn=p7&-8,Dr=(fn|0)==(oi|0);t:do if(Dr)Ni=br;else{for(_r=(Gr|0)==31,K7=Gr>>>1,xr=25-K7|0,mo=_r?0:xr,W7=oi<>>31,E7=(l$+16|0)+(Mr<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){v=E7,Zm=l$;break}if(b7=a$<<1,D7=i7+4|0,_7=e[D7>>2]|0,Lr=_7&-8,ar=(Lr|0)==(oi|0),ar){Ni=i7;break t}else a$=b7,l$=i7}if(fi=e[138266]|0,nl=v>>>0>>0,nl)v2();else{e[v>>2]=l4,E0=I6+24|0,In=q9+E0|0,e[In>>2]=Zm,q0=I6+12|0,mn=q9+q0|0,e[mn>>2]=l4,H0=I6+8|0,Ou=q9+H0|0,e[Ou>>2]=l4;break e}}while(!1);if(ol=Ni+8|0,sA=e[ol>>2]|0,sl=e[138266]|0,Hu=sA>>>0>=sl>>>0,tu=Ni>>>0>=sl>>>0,Vu=Hu&tu,Vu){Yu=sA+12|0,e[Yu>>2]=l4,e[ol>>2]=l4,u2=I6+8|0,aA=q9+u2|0,e[aA>>2]=sA,I2=I6+12|0,al=q9+I2|0,e[al>>2]=Ni,Q0=I6+24|0,Al=q9+Q0|0,e[Al>>2]=0;break}else v2()}while(!1);return AA=q9+8|0,tt=AA,tt|0}else Le=I6}while(!1);if(pn=e[138264]|0,zu=pn>>>0>>0,!zu)return Hs=pn-Le|0,Ar=e[138267]|0,Ju=Hs>>>0>15,Ju?(Ku=Ar+Le|0,e[138267]=Ku,e[138264]=Hs,Wu=Hs|1,m1=Le+4|0,Zu=Ar+m1|0,e[Zu>>2]=Wu,ju=Ar+pn|0,e[ju>>2]=Hs,Xu=Le|3,eh=Ar+4|0,e[eh>>2]=Xu):(e[138264]=0,e[138267]=0,ih=pn|3,rh=Ar+4|0,e[rh>>2]=ih,g0=pn+4|0,ll=Ar+g0|0,Rr=e[ll>>2]|0,nh=Rr|1,e[ll>>2]=nh),oh=Ar+8|0,tt=oh,tt|0;if(cl=e[138265]|0,sh=cl>>>0>Le>>>0,sh)return $A=cl-Le|0,e[138265]=$A,Vs=e[138268]|0,ah=Vs+Le|0,e[138268]=ah,Ah=$A|1,q=Le+4|0,cA=Vs+q|0,e[cA>>2]=Ah,gl=Le|3,ul=Vs+4|0,e[ul>>2]=gl,hl=Vs+8|0,tt=hl,tt|0;gA=e[138380]|0,dl=(gA|0)==0;do if(dl)if(Ys=yS(30)|0,$h=Ys+-1|0,fl=$h&Ys,ch=(fl|0)==0,ch){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,gh=AQ(0)|0,Il=gh&-16,uh=Il^1431655768,e[138380]=uh;break}else v2();while(!1);if(hh=Le+48|0,ml=e[138382]|0,pl=Le+47|0,El=ml+pl|0,Cl=0-ml|0,En=El&Cl,dh=En>>>0>Le>>>0,!dh||(Ql=e[138372]|0,fh=(Ql|0)==0,!fh&&(yl=e[138370]|0,wl=yl+En|0,Ih=wl>>>0<=yl>>>0,mh=wl>>>0>Ql>>>0,ba=Ih|mh,ba)))return tt=0,tt|0;ph=e[138373]|0,uA=ph&4,kl=(uA|0)==0;e:do if(kl){po=e[138268]|0,Sl=(po|0)==0;t:do if(Sl)je=174;else{for(To=553496;;){if(hA=e[To>>2]|0,Eh=hA>>>0>po>>>0,!Eh&&(bl=To+4|0,Ch=e[bl>>2]|0,Dl=hA+Ch|0,Bh=Dl>>>0>po>>>0,Bh)){S=To,b=bl;break}if(Qh=To+8|0,xl=e[Qh>>2]|0,yh=(xl|0)==0,yh){je=174;break t}else To=xl}if(Fh=e[138265]|0,Th=El-Fh|0,Ws=Th&Cl,Nh=Ws>>>0<2147483647,Nh)if(Zs=Oi(Ws|0)|0,Gh=e[S>>2]|0,Ph=e[b>>2]|0,Oh=Gh+Ph|0,Pl=(Zs|0)==(Oh|0),o=Pl?Ws:0,Pl)if(qh=(Zs|0)==-1,qh)Hr=o;else{u6=Zs,x4=o,je=194;break e}else va=Zs,s7=Ws,xa=o,je=184;else Hr=0}while(!1);do if((je|0)==174)if(zs=Oi(0)|0,wh=(zs|0)==-1,wh)Hr=0;else if(dA=zs,Ll=e[138381]|0,Ml=Ll+-1|0,vh=Ml&dA,kh=(vh|0)==0,kh?Or=En:(Sh=Ml+dA|0,Dh=0-Ll|0,_h=Sh&Dh,Js=En-dA|0,Rl=Js+_h|0,Or=Rl),Fl=e[138370]|0,Tl=Fl+Or|0,Ks=Or>>>0>Le>>>0,xh=Or>>>0<2147483647,np=Ks&xh,np){if(Nl=e[138372]|0,Lh=(Nl|0)==0,!Lh&&(Mh=Tl>>>0<=Fl>>>0,Rh=Tl>>>0>Nl>>>0,sp=Mh|Rh,sp)){Hr=0;break}if(Ul=Oi(Or|0)|0,fA=(Ul|0)==(zs|0),su=fA?Or:0,fA){u6=zs,x4=su,je=194;break e}else va=Ul,s7=Or,xa=su,je=184}else Hr=0;while(!1);t:do if((je|0)==184){Hh=0-s7|0,Vh=(va|0)!=-1,Yh=s7>>>0<2147483647,Ap=Yh&Vh,Ol=hh>>>0>s7>>>0,$p=Ol&Ap;do if($p)if(ql=e[138382]|0,$r=pl-s7|0,js=$r+ql|0,mA=0-ql|0,pA=js&mA,Cn=pA>>>0<2147483647,Cn)if(Vl=Oi(pA|0)|0,Bn=(Vl|0)==-1,Bn){Oi(Hh|0)|0,Hr=xa;break t}else{zh=pA+s7|0,d$=zh;break}else d$=s7;else d$=s7;while(!1);if(Yl=(va|0)==-1,Yl)Hr=xa;else{u6=va,x4=d$,je=194;break e}}while(!1);Jh=e[138373]|0,Kh=Jh|4,e[138373]=Kh,au=Hr,je=191}else au=0,je=191;while(!1);if((je|0)==191&&(Zh=En>>>0<2147483647,Zh&&(Xs=Oi(En|0)|0,EA=Oi(0)|0,Fr=(Xs|0)!=-1,jh=(EA|0)!=-1,ap=Fr&jh,Xh=Xs>>>0>>0,lp=Xh&ap,lp&&(zl=EA,CA=Xs,Jl=zl-CA|0,Kl=Le+40|0,Wl=Jl>>>0>Kl>>>0,C2=Wl?Jl:au,Wl&&(u6=Xs,x4=C2,je=194)))),(je|0)==194){td=e[138370]|0,BA=td+x4|0,e[138370]=BA,id=e[138371]|0,rd=BA>>>0>id>>>0,rd&&(e[138371]=BA),K9=e[138268]|0,nd=(K9|0)==0;e:do if(nd){for(Zl=e[138266]|0,od=(Zl|0)==0,sd=u6>>>0>>0,cp=od|sd,cp&&(e[138266]=u6),e[138374]=u6,e[138375]=x4,e[138377]=0,ad=e[138380]|0,e[138271]=ad,e[138270]=-1,Sa=0;yA=Sa<<1,jl=553088+(yA<<2)|0,h0=yA+3|0,Ad=553088+(h0<<2)|0,e[Ad>>2]=jl,n0=yA+2|0,$d=553088+(n0<<2)|0,e[$d>>2]=jl,Xl=Sa+1|0,tp=(Xl|0)==32,!tp;)Sa=Xl;ec=x4+-40|0,ld=u6+8|0,wA=ld,vA=wA&7,ic=(vA|0)==0,cd=0-wA|0,rc=cd&7,kA=ic?0:rc,gd=u6+kA|0,nc=ec-kA|0,e[138268]=gd,e[138265]=nc,ud=nc|1,j=kA+4|0,hd=u6+j|0,e[hd>>2]=ud,u1=x4+-36|0,dd=u6+u1|0,e[dd>>2]=40,fd=e[138384]|0,e[138269]=fd}else{for(Go=553496;;){if(sc=e[Go>>2]|0,SA=Go+4|0,ea=e[SA>>2]|0,ac=sc+ea|0,Id=(u6|0)==(ac|0),Id){E=sc,Q=SA,B=ea,gp=Go,je=204;break}if(Ac=Go+8|0,$c=e[Ac>>2]|0,md=($c|0)==0,md)break;Go=$c}if((je|0)==204&&(pd=gp+12|0,Ed=e[pd>>2]|0,Cd=Ed&8,Bd=(Cd|0)==0,Bd&&(Qd=K9>>>0>=E>>>0,yd=K9>>>0>>0,ru=yd&Qd,ru))){wd=B+x4|0,e[Q>>2]=wd,vd=e[138265]|0,cc=vd+x4|0,kd=K9+8|0,gc=kd,Sd=gc&7,bd=(Sd|0)==0,uc=0-gc|0,Dd=uc&7,Eo=bd?0:Dd,hc=K9+Eo|0,bA=cc-Eo|0,e[138268]=hc,e[138265]=bA,_d=bA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=_d,a1=cc+4|0,DA=K9+a1|0,e[DA>>2]=40,xd=e[138384]|0,e[138269]=xd;break}for(dc=e[138266]|0,Ld=u6>>>0>>0,Ld?(e[138266]=u6,yo=u6):yo=dc,Md=u6+x4|0,Uo=553496;;){if(Rd=e[Uo>>2]|0,Fd=(Rd|0)==(Md|0),Fd){I=Uo,dr=Uo,je=212;break}if(Td=Uo+8|0,fc=e[Td>>2]|0,Nd=(fc|0)==0,Nd){No=553496;break}else Uo=fc}if((je|0)==212)if(Gd=dr+12|0,Ud=e[Gd>>2]|0,xA=Ud&8,Pd=(xA|0)==0,Pd){e[I>>2]=u6,LA=dr+4|0,Od=e[LA>>2]|0,qd=Od+x4|0,e[LA>>2]=qd,Hd=u6+8|0,Ic=Hd,Vd=Ic&7,Yd=(Vd|0)==0,zd=0-Ic|0,Kd=zd&7,ra=Yd?0:Kd,Wd=u6+ra|0,B0=x4+8|0,Zd=u6+B0|0,mc=Zd,jd=mc&7,Xd=(jd|0)==0,ef=0-mc|0,tf=ef&7,C7=Xd?0:tf,_0=C7+x4|0,B7=u6+_0|0,Ec=B7,MA=Wd,rf=Ec-MA|0,$0=ra+Le|0,r7=u6+$0|0,Bo=rf-Le|0,nf=Le|3,p0=ra+4|0,of=u6+p0|0,e[of>>2]=nf,sf=(B7|0)==(K9|0);t:do if(sf)af=e[138265]|0,Cc=af+Bo|0,e[138265]=Cc,e[138268]=r7,$f=Cc|1,H1=$0+4|0,lf=u6+H1|0,e[lf>>2]=$f;else{if(Bc=e[138267]|0,cf=(B7|0)==(Bc|0),cf){gf=e[138264]|0,Qo=gf+Bo|0,e[138264]=Qo,e[138267]=r7,RA=Qo|1,J1=$0+4|0,uf=u6+J1|0,e[uf>>2]=RA,q1=Qo+$0|0,Qc=u6+q1|0,e[Qc>>2]=Qo;break}if($1=x4+4|0,W0=$1+C7|0,df=u6+W0|0,na=e[df>>2]|0,ff=na&3,If=(ff|0)==1,If){yc=na&-8,wc=na>>>3,mf=na>>>0<256;i:do if(mf){U1=C7|8,K0=U1+x4|0,pf=u6+K0|0,yn=e[pf>>2]|0,D1=x4+12|0,J0=D1+C7|0,Ef=u6+J0|0,wn=e[Ef>>2]|0,Bf=wc<<1,vc=553088+(Bf<<2)|0,Qf=(yn|0)==(vc|0);do if(!Qf){if(yf=yn>>>0>>0,yf&&v2(),kc=yn+12|0,wf=e[kc>>2]|0,Sc=(wf|0)==(B7|0),Sc)break;v2()}while(!1);if(vf=(wn|0)==(yn|0),vf){FA=1<>>0>>0,bf&&v2(),_c=wn+8|0,Df=e[_c>>2]|0,_f=(Df|0)==(B7|0),_f){G=_c;break}v2()}while(!1);xf=yn+12|0,e[xf>>2]=wn,e[G>>2]=yn}else{R1=C7|24,M0=R1+x4|0,Lf=u6+M0|0,wo=e[Lf>>2]|0,Y1=x4+12|0,v0=Y1+C7|0,Mf=u6+v0|0,vn=e[Mf>>2]|0,Rf=(vn|0)==(B7|0);do if(Rf){if(j1=C7|16,L0=$1+j1|0,Fc=u6+L0|0,Tc=e[Fc>>2]|0,Uf=(Tc|0)==0,Uf)if(G0=j1+x4|0,Nc=u6+G0|0,Gc=e[Nc>>2]|0,Pf=(Gc|0)==0,Pf){Fi=0;break}else bn=Gc,Qa=Nc;else bn=Tc,Qa=Fc;for(;;){if(Uc=bn+20|0,Pc=e[Uc>>2]|0,qf=(Pc|0)==0,!qf){bn=Pc,Qa=Uc;continue}if(Oc=bn+16|0,qc=e[Oc>>2]|0,Hf=(qc|0)==0,Hf){Km=bn,jg=Qa;break}else bn=qc,Qa=Oc}if(Vf=jg>>>0>>0,Vf)v2();else{e[jg>>2]=0,Fi=Km;break}}else if(F1=C7|8,T0=F1+x4|0,Ff=u6+T0|0,TA=e[Ff>>2]|0,Tf=TA>>>0>>0,Tf&&v2(),NA=TA+12|0,GA=e[NA>>2]|0,Lc=(GA|0)==(B7|0),Lc||v2(),Mc=vn+8|0,Gf=e[Mc>>2]|0,Rc=(Gf|0)==(B7|0),Rc){e[NA>>2]=vn,e[Mc>>2]=TA,Fi=vn;break}else v2();while(!1);if(Hc=(wo|0)==0,Hc)break;b1=x4+28|0,N0=b1+C7|0,UA=u6+N0|0,Vc=e[UA>>2]|0,Jc=553352+(Vc<<2)|0,Yf=e[Jc>>2]|0,zf=(B7|0)==(Yf|0);do if(zf){if(e[Jc>>2]=Fi,ep=(Fi|0)==0,!ep)break;Jf=1<>>0>>0,Xf&&v2(),Kc=wo+16|0,eI=e[Kc>>2]|0,tI=(eI|0)==(B7|0),tI?e[Kc>>2]=Fi:(iI=wo+20|0,e[iI>>2]=Fi),Wc=(Fi|0)==0,Wc)break i;while(!1);Zc=e[138266]|0,rI=Fi>>>0>>0,rI&&v2(),jc=Fi+24|0,e[jc>>2]=wo,_1=C7|16,P0=_1+x4|0,OA=u6+P0|0,oa=e[OA>>2]|0,Xc=(oa|0)==0;do if(!Xc)if(oI=oa>>>0>>0,oI)v2();else{sI=Fi+16|0,e[sI>>2]=oa,aI=oa+24|0,e[aI>>2]=Fi;break}while(!1);if(z0=$1+_1|0,eg=u6+z0|0,sa=e[eg>>2]|0,AI=(sa|0)==0,AI)break;if($I=e[138266]|0,lI=sa>>>0<$I>>>0,lI)v2();else{cI=Fi+20|0,e[cI>>2]=sa,gI=sa+24|0,e[gI>>2]=Fi;break}}while(!1);a2=yc|C7,F0=a2+x4|0,hI=u6+F0|0,dI=yc+Bo|0,iu=hI,o7=dI}else iu=B7,o7=Bo;if(tg=iu+4|0,fI=e[tg>>2]|0,II=fI&-2,e[tg>>2]=II,mI=o7|1,b0=$0+4|0,pI=u6+b0|0,e[pI>>2]=mI,y0=o7+$0|0,aa=u6+y0|0,e[aa>>2]=o7,ig=o7>>>3,EI=o7>>>0<256,EI){kn=ig<<1,rg=553088+(kn<<2)|0,ng=e[138262]|0,qA=1<>2]|0,yI=e[138266]|0,vI=ag>>>0>>0,!vI){R=sg,o$=ag;break}v2()}while(!1);e[R>>2]=r7,kI=o$+12|0,e[kI>>2]=r7,w1=$0+8|0,SI=u6+w1|0,e[SI>>2]=o$,v1=$0+12|0,Aa=u6+v1|0,e[Aa>>2]=rg;break}HA=o7>>>8,bI=(HA|0)==0;do if(bI)Ur=0;else{if(DI=o7>>>0>16777215,DI){Ur=31;break}_I=HA+1048320|0,xI=_I>>>16,Ag=xI&8,$g=HA<>>16,lg=RI&4,Tr=lg|Ag,cg=$g<>>16,ug=FI&2,$a=Tr|ug,NI=14-$a|0,GI=cg<>>15,hg=NI+la|0,UI=hg<<1,PI=hg+7|0,dg=o7>>>PI,OI=dg&1,qI=OI|UI,Ur=qI}while(!1);if(VA=553352+(Ur<<2)|0,k0=$0+28|0,HI=u6+k0|0,e[HI>>2]=Ur,Z0=$0+16|0,VI=u6+Z0|0,O0=$0+20|0,YI=u6+O0|0,e[YI>>2]=0,e[VI>>2]=0,fg=e[138263]|0,Ig=1<>2]=r7,s1=$0+24|0,vo=u6+s1|0,e[vo>>2]=VA,i1=$0+12|0,KI=u6+i1|0,e[KI>>2]=r7,o1=$0+8|0,WI=u6+o1|0,e[WI>>2]=r7;break}YA=e[VA>>2]|0,Eg=YA+4|0,ZI=e[Eg>>2]|0,jI=ZI&-8,XI=(jI|0)==(o7|0);i:do if(XI)Pr=YA;else{for(em=(Ur|0)==31,Cg=Ur>>>1,tm=25-Cg|0,im=em?0:tm,rm=o7<>>31,vg=(c$+16|0)+(wg<<2)|0,ko=e[vg>>2]|0,x7=(ko|0)==0,x7){a=vg,jm=c$;break}if(nm=Lo<<1,om=ko+4|0,Qg=e[om>>2]|0,yg=Qg&-8,sm=(yg|0)==(o7|0),sm){Pr=ko;break i}else Lo=nm,c$=ko}if(cr=e[138266]|0,am=a>>>0>>0,am)v2();else{e[a>>2]=r7,Q1=$0+24|0,Am=u6+Q1|0,e[Am>>2]=jm,p1=$0+12|0,$m=u6+p1|0,e[$m>>2]=r7,B1=$0+8|0,lm=u6+B1|0,e[lm>>2]=r7;break t}}while(!1);if(zA=Pr+8|0,ua=e[zA>>2]|0,Sg=e[138266]|0,bg=ua>>>0>=Sg>>>0,u$=Pr>>>0>=Sg>>>0,cm=bg&u$,cm){So=ua+12|0,e[So>>2]=r7,e[zA>>2]=r7,j0=$0+8|0,gm=u6+j0|0,e[gm>>2]=ua,E1=$0+12|0,da=u6+E1|0,e[da>>2]=Pr,I1=$0+24|0,JA=u6+I1|0,e[JA>>2]=0;break}else v2()}while(!1);return g1=ra|8,um=u6+g1|0,tt=um,tt|0}else No=553496;for(;;){if(KA=e[No>>2]|0,hm=KA>>>0>K9>>>0,!hm&&(dm=No+4|0,Dg=e[dm>>2]|0,fa=KA+Dg|0,fm=fa>>>0>K9>>>0,fm)){g=KA,d=Dg,m=fa;break}Im=No+8|0,mm=e[Im>>2]|0,No=mm}if(u0=d+-47|0,d0=d+-39|0,pm=g+d0|0,xg=pm,Em=xg&7,ni=(Em|0)==0,De=0-xg|0,n7=De&7,Cm=ni?0:n7,c1=u0+Cm|0,Mg=g+c1|0,WA=K9+16|0,Bm=Mg>>>0>>0,Nr=Bm?K9:Mg,bo=Nr+8|0,Qm=x4+-40|0,ym=u6+8|0,Rg=ym,ZA=Rg&7,wm=(ZA|0)==0,Tg=0-Rg|0,Ng=Tg&7,jA=wm?0:Ng,XA=u6+jA|0,Gg=Qm-jA|0,e[138268]=XA,e[138265]=Gg,Do=Gg|1,t0=jA+4|0,e$=u6+t0|0,e[e$>>2]=Do,A1=x4+-36|0,Ug=u6+A1|0,e[Ug>>2]=40,vm=e[138384]|0,e[138269]=vm,Sn=Nr+4|0,e[Sn>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=u6,e[138375]=x4,e[138377]=0,e[138376]=bo,Pg=Nr+28|0,e[Pg>>2]=7,Ia=Nr+32|0,Sm=Ia>>>0>>0,Sm)for(L7=Pg;Og=L7+4|0,e[Og>>2]=7,bm=L7+8|0,Dm=bm>>>0>>0,Dm;)L7=Og;if(_m=(Nr|0)==(K9|0),!_m){if(xm=Nr,Lm=K9,M7=xm-Lm|0,Rm=e[Sn>>2]|0,Fm=Rm&-2,e[Sn>>2]=Fm,Tm=M7|1,qg=K9+4|0,e[qg>>2]=Tm,e[Nr>>2]=M7,Q7=M7>>>3,ma=M7>>>0<256,ma){t$=Q7<<1,Hg=553088+(t$<<2)|0,Vg=e[138262]|0,Yg=1<>2]|0,Pm=e[138266]|0,Om=Kg>>>0>>0,Om?v2():(L=Jg,r$=Kg)),e[L>>2]=K9,Wg=r$+12|0,e[Wg>>2]=K9,qm=K9+8|0,e[qm>>2]=r$,pa=K9+12|0,e[pa>>2]=Hg;break}if(Ea=M7>>>8,Hm=(Ea|0)==0,Hm?gr=0:(i$=M7>>>0>16777215,i$?gr=31:(Vm=Ea+1048320|0,Ym=Vm>>>16,Zg=Ym&8,xo=Ea<>>16,c2=Jm&4,r2=c2|Zg,$2=xo<>>16,m2=s2&2,t2=r2|m2,k2=14-t2|0,D2=$2<>>15,G2=k2+S2|0,L2=G2<<1,P2=G2+7|0,p2=M7>>>P2,K2=p2&1,O2=K2|L2,gr=O2)),z2=553352+(gr<<2)|0,U2=K9+28|0,e[U2>>2]=gr,H2=K9+20|0,e[H2>>2]=0,e[WA>>2]=0,W2=e[138263]|0,V2=1<>2]=K9,t5=K9+24|0,e[t5>>2]=z2,_5=K9+12|0,e[_5>>2]=K9,Z2=K9+8|0,e[Z2>>2]=K9;break}I5=e[z2>>2]|0,b5=I5+4|0,V5=e[b5>>2]|0,b2=V5&-8,B5=(b2|0)==(M7|0);t:do if(B5)wa=I5;else{for(o5=(gr|0)==31,R2=gr>>>1,M2=25-R2|0,y2=o5?0:M2,Q5=M7<>>31,u5=(g$+16|0)+($5<<2)|0,x5=e[u5>>2]|0,y5=(x5|0)==0,y5){$=u5,eu=g$;break}if(T5=A$<<1,m5=x5+4|0,L5=e[m5>>2]|0,Y2=L5&-8,p5=(Y2|0)==(M7|0),p5){wa=x5;break t}else A$=T5,g$=x5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=K9,h5=K9+24|0,e[h5>>2]=eu,l5=K9+12|0,e[l5>>2]=K9,h2=K9+8|0,e[h2>>2]=K9;break e}}while(!1);if(w5=wa+8|0,i5=e[w5>>2]|0,s5=e[138266]|0,d5=i5>>>0>=s5>>>0,ip=wa>>>0>=s5>>>0,J2=d5&ip,J2){f5=i5+12|0,e[f5>>2]=K9,e[w5>>2]=K9,r5=K9+8|0,e[r5>>2]=i5,M5=K9+12|0,e[M5>>2]=wa,X2=K9+24|0,e[X2>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return z5=F2-Le|0,e[138265]=z5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=z5|1,Z=Le+4|0,d3=i3+Z|0,e[d3>>2]=I3,W5=Le|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return N5=aQ()|0,e[N5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){q=t+-8|0,K2=e[138266]|0,v6=q>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,re=f9&3,Ge=(re|0)==1,Ge&&v2(),Z9=f9&-8,Q=Z9+-8|0,ne=t+Q|0,h0=f9&1,n0=(h0|0)==0;do if(n0){if(_0=e[q>>2]|0,L0=(re|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+Z9|0,b1=x0>>>0>>0,b1&&v2(),q1=e[138267]|0,a2=(x0|0)==(q1|0),a2){if(e0=Z9+-4|0,c0=t+e0|0,$0=e[c0>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){Z3=x0,_9=j0;break}e[138264]=j0,m0=$0&-2,e[c0>>2]=m0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[ne>>2]=j0;return}if(s2=_0>>>3,O2=_0>>>0<256,O2){if(K=y+8|0,_5=t+K|0,y2=e[_5>>2]|0,a0=y+12|0,y5=t+a0|0,J2=e[y5>>2]|0,I3=s2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),d6=y2+12|0,R3=e[d6>>2]|0,J6=(R3|0)==(x0|0),J6||v2()),X6=(J2|0)==(y2|0),X6){V6=1<>>0>>0,F6&&v2(),t9=J2+8|0,P6=e[t9>>2]|0,O3=(P6|0)==(x0|0),O3?g=t9:v2()),O6=y2+12|0,e[O6>>2]=J2,e[g>>2]=y2,Z3=x0,_9=j0;break}M=y+24|0,s9=t+M|0,h9=e[s9>>2]|0,L=y+12|0,n9=t+L|0,C9=e[n9>>2]|0,B9=(C9|0)==(x0|0);do if(B9){if(F=y+20|0,ge=t+F|0,pe=e[ge>>2]|0,z9=(pe|0)==0,z9)if(R=y+16|0,R9=t+R|0,w9=e[R9>>2]|0,K6=(w9|0)==0,K6){k9=0;break}else Pe=w9,k4=R9;else Pe=pe,k4=ge;for(;;){if(A9=Pe+20|0,we=e[A9>>2]|0,Me=(we|0)==0,!Me){Pe=we,k4=A9;continue}if(ue=Pe+16|0,D9=e[ue>>2]|0,Re=(D9|0)==0,Re){I4=Pe,Se=k4;break}else Pe=D9,k4=ue}if(Fe=Se>>>0>>0,Fe)v2();else{e[Se>>2]=0,k9=I4;break}}else if(Y=y+8|0,Q9=t+Y|0,d9=e[Q9>>2]|0,V9=d9>>>0>>0,V9&&v2(),y6=d9+12|0,q6=e[y6>>2]|0,a9=(q6|0)==(x0|0),a9||v2(),Y9=C9+8|0,y9=e[Y9>>2]|0,ye=(y9|0)==(x0|0),ye){e[y6>>2]=C9,e[Y9>>2]=d9,k9=C9;break}else v2();while(!1);if(qe=(h9|0)==0,qe)Z3=x0,_9=j0;else{if(N=y+28|0,r4=t+N|0,ve=e[r4>>2]|0,He=553352+(ve<<2)|0,J9=e[He>>2]|0,Ve=(x0|0)==(J9|0),Ve){if(e[He>>2]=k9,me=(k9|0)==0,me){he=1<>>0>>0,v4&&v2(),V4=h9+16|0,nt=e[V4>>2]|0,Ye=(nt|0)==(x0|0),Ye?e[V4>>2]=k9:(Y4=h9+20|0,e[Y4>>2]=k9),ze=(k9|0)==0,ze){Z3=x0,_9=j0;break}n4=e[138266]|0,R4=k9>>>0>>0,R4&&v2(),ot=k9+24|0,e[ot>>2]=h9,G=y+16|0,u4=t+G|0,Ce=e[u4>>2]|0,T6=(Ce|0)==0;do if(!T6)if(Je=Ce>>>0>>0,Je)v2();else{O9=k9+16|0,e[O9>>2]=Ce,de=Ce+24|0,e[de>>2]=k9;break}while(!1);if(U=y+20|0,Te=t+U|0,h4=e[Te>>2]|0,oe=(h4|0)==0,oe)Z3=x0,_9=j0;else if(d4=e[138266]|0,t0=h4>>>0>>0,t0)v2();else{j=k9+20|0,e[j>>2]=h4,u0=h4+24|0,e[u0>>2]=k9,Z3=x0,_9=j0;break}}}else Z3=q,_9=Z9;while(!1);if(d0=Z3>>>0>>0,d0||v2(),D=Z9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(ne|0)==(y0|0),w0){if(B0=e[138265]|0,W0=B0+_9|0,e[138265]=W0,e[138268]=Z3,M0=W0|1,v0=Z3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(Z3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(P0=e[138267]|0,q0=(ne|0)==(P0|0),q0){k0=e[138264]|0,z0=k0+_9|0,e[138264]=z0,e[138267]=Z3,F0=z0|1,G0=Z3+4|0,e[G0>>2]=F0,K0=Z3+z0|0,e[K0>>2]=z0;return}J0=C0&-8,H0=J0+_9|0,Z0=C0>>>3,O0=C0>>>0<256;do if(O0){if(V0=t+Z9|0,s1=e[V0>>2]|0,w=Z9|4,Y0=t+w|0,i1=e[Y0>>2]|0,o1=Z0<<1,h1=553088+(o1<<2)|0,g1=(s1|0)==(h1|0),g1||(m1=e[138266]|0,d1=s1>>>0>>0,d1&&v2(),u1=s1+12|0,A1=e[u1>>2]|0,c1=(A1|0)==(ne|0),c1||v2()),a1=(i1|0)==(s1|0),a1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(ne|0),L1?$=v1:v2()),M1=s1+12|0,e[M1>>2]=i1,e[$>>2]=s1}else{W=Z9+16|0,_1=t+W|0,R1=e[_1>>2]|0,r0=Z9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(ne|0);do if(D1){if(z=Z9+12|0,j1=t+z|0,O1=e[j1>>2]|0,u2=(O1|0)==0,u2)if(s0=Z9+8|0,W1=t+s0|0,I2=e[W1>>2]|0,C2=(I2|0)==0,C2){fe=0;break}else I6=I2,Ie=W1;else I6=O1,Ie=j1;for(;;){if(A2=I6+20|0,K1=e[A2>>2]|0,d2=(K1|0)==0,!d2){I6=K1,Ie=A2;continue}if(l2=I6+16|0,i2=e[l2>>2]|0,c2=(i2|0)==0,c2){z4=I6,z6=Ie;break}else I6=i2,Ie=l2}if(r2=e[138266]|0,$2=z6>>>0>>0,$2)v2();else{e[z6>>2]=0,fe=z4;break}}else if(P1=t+Z9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),J1=Z1+12|0,H1=e[J1>>2]|0,V1=(H1|0)==(ne|0),V1||v2(),Y1=U1+8|0,X1=e[Y1>>2]|0,o2=(X1|0)==(ne|0),o2){e[J1>>2]=U1,e[Y1>>2]=Z1,fe=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=Z9+20|0,m2=t+S|0,t2=e[m2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(ne|0)==(D2|0),S2){if(e[k2>>2]=fe,xe=(fe|0)==0,xe){Q2=1<>>0>>0,z2&&v2(),U2=R1+16|0,H2=e[U2>>2]|0,W2=(H2|0)==(ne|0),W2?e[U2>>2]=fe:(A5=R1+20|0,e[A5>>2]=fe),V2=(fe|0)==0,V2)break;N1=e[138266]|0,e5=fe>>>0>>0,e5&&v2(),F5=fe+24|0,e[F5>>2]=R1,b=Z9+8|0,t5=t+b|0,Z2=e[t5>>2]|0,I5=(Z2|0)==0;do if(!I5)if(b5=Z2>>>0>>0,b5)v2();else{V5=fe+16|0,e[V5>>2]=Z2,g5=Z2+24|0,e[g5>>2]=fe;break}while(!1);if(v=Z9+12|0,b2=t+v|0,B5=e[b2>>2]|0,o5=(B5|0)==0,!o5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=fe+20|0,e[Q5>>2]=B5,T5=B5+24|0,e[T5>>2]=fe;break}}}while(!1);if(m5=H0|1,x5=Z3+4|0,e[x5>>2]=m5,q5=Z3+H0|0,e[q5>>2]=H0,L5=e[138267]|0,Y2=(Z3|0)==(L5|0),Y2){e[138264]=H0;return}else S9=H0}else p5=C0&-2,e[p0>>2]=p5,$5=_9|1,u5=Z3+4|0,e[u5>>2]=$5,T1=Z3+_9|0,e[T1>>2]=_9,S9=_9;if(D5=S9>>>3,h5=S9>>>0<256,h5){l5=D5<<1,j2=553088+(l5<<2)|0,h2=e[138262]|0,w5=1<>2]|0,M5=e[138266]|0,X2=r5>>>0>>0,X2?v2():(d=f5,f4=r5)),e[d>>2]=Z3,c5=f4+12|0,e[c5>>2]=Z3,F2=Z3+8|0,e[F2>>2]=f4,v5=Z3+12|0,e[v5>>2]=j2;return}z5=S9>>>8,i3=(z5|0)==0,i3?ke=0:(E5=S9>>>0>16777215,E5?ke=31:(d3=z5+1048320|0,W5=d3>>>16,r3=W5&8,a3=z5<>>16,Z5=N5&4,x3=Z5|r3,f3=a3<>>16,X5=H3&2,_3=x3|X5,t3=14-_3|0,s6=f3<>>15,V3=t3+G3|0,c3=V3<<1,g3=V3+7|0,u3=S9>>>g3,J5=u3&1,H5=J5|c3,ke=H5)),Y5=553352+(ke<<2)|0,S5=Z3+28|0,e[S5>>2]=ke,Y3=Z3+16|0,G5=Z3+20|0,e[G5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=Z3,L3=Z3+24|0,e[L3>>2]=Y5,D3=Z3+12|0,e[D3>>2]=Z3,a6=Z3+8|0,e[a6>>2]=Z3;else{i6=e[Y5>>2]|0,z3=i6+4|0,j5=e[z3>>2]|0,M3=j5&-8,h3=(M3|0)==(S9|0);t:do if(h3)F4=i6;else{for(J3=(ke|0)==31,m3=ke>>>1,x6=25-m3|0,L6=J3?0:x6,M6=S9<>>31,o6=(T4+16|0)+(n6<<2)|0,f6=e[o6>>2]|0,C6=(f6|0)==0,C6){o=o6,st=T4;break}if(S6=o4<<1,r6=f6+4|0,b6=e[r6>>2]|0,N6=b6&-8,j6=(N6|0)==(S9|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(K3=e[138266]|0,F3=o>>>0>>0,F3)v2();else{e[o>>2]=Z3,W3=Z3+24|0,e[W3>>2]=st,e6=Z3+12|0,e[e6>>2]=Z3,R6=Z3+8|0,e[R6>>2]=Z3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){T3=o3+12|0,e[T3>>2]=Z3,e[l6>>2]=Z3,H6=Z3+8|0,e[H6>>2]=o3,A6=Z3+12|0,e[A6>>2]=F4,D6=Z3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)s4=553504;else return;for(;Oe=e[s4>>2]|0,P3=(Oe|0)==0,r9=Oe+8|0,!P3;)s4=r9;e[138270]=-1}}function le(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=n5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=M9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,d=w&3,m=(d|0)==0,m)||g4(S|0,0,D|0)|0,S|0}function J7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0;return K=C,a=(t|0)==0,a?($=M9(o)|0,Y=$,Y|0):(w=o>>>0>4294967231,w?(M=aQ()|0,e[M>>2]=12,Y=0,Y|0):(L=o>>>0<11,R=o+11|0,F=R&-8,N=L?16:F,G=t+-8|0,U=gD(G,N)|0,g=(U|0)==0,g?(m=M9(o)|0,I=(m|0)==0,I?(Y=0,Y|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ce(m|0,t|0,x|0)|0,E2(t),Y=m,Y|0)):(d=U+8|0,Y=d,Y|0)))}function gD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0;if(Z5=C,G=t+4|0,U=e[G>>2]|0,D1=U&-8,o2=t+D1|0,l2=e[138266]|0,S2=U&3,I3=t>>>0>=l2>>>0,d3=(S2|0)!=1,W5=d3&I3,W2=t>>>0>>0,r3=W5&W2,r3||v2(),x=D1|4,V5=t+x|0,x5=e[V5>>2]|0,l5=x5&1,Y=(l5|0)==0,Y&&v2(),t0=(S2|0)==0,t0)return d0=o>>>0<256,d0?(E5=0,E5|0):(W0=o+4|0,G0=D1>>>0>>0,!G0&&(o1=D1-o|0,E1=e[138382]|0,_1=E1<<1,F1=o1>>>0>_1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=U&1,J1=x1|o,q1=J1|2,e[G>>2]=q1,y=o+4|0,H1=t+y|0,V1=P1|3,e[H1>>2]=V1,Y1=e[V5>>2]|0,X1=Y1|1,e[V5>>2]=X1,NQ(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(o2|0)==(j1|0),O1)return u2=e[138265]|0,W1=u2+D1|0,I2=W1>>>0>o>>>0,I2?(a2=W1-o|0,C2=t+o|0,A2=U&1,K1=A2|o,d2=K1|2,e[G>>2]=d2,D=o+4|0,i2=t+D|0,c2=a2|1,e[i2>>2]=c2,e[138268]=C2,e[138265]=a2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,$2=(o2|0)==(r2|0),$2)return e2=e[138264]|0,s2=e2+D1|0,m2=s2>>>0>>0,m2?(E5=0,E5|0):(t2=s2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+s2|0,G2=U&1,L2=G2|o,P2=L2|2,e[G>>2]=P2,b=o+4|0,p2=t+b|0,K2=t2|1,e[p2>>2]=K2,e[Q2>>2]=t2,w=s2+4|0,O2=t+w|0,z2=e[O2>>2]|0,U2=z2&-2,e[O2>>2]=U2,a3=D2,B3=t2):(H2=U&1,A5=H2|s2,V2=A5|2,e[G>>2]=V2,S=s2+4|0,N1=t+S|0,e5=e[N1>>2]|0,F5=e5|1,e[N1>>2]=F5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(t5=x5&2,_5=(t5|0)==0,!_5||(Z2=x5&-8,I5=Z2+D1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=x5>>>3,B5=x5>>>0<256;do if(B5){if(Q=D1+8|0,o5=t+Q|0,R2=e[o5>>2]|0,B=D1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,T5=553088+(Q5<<2)|0,m5=(R2|0)==(T5|0),m5||(q5=R2>>>0>>0,q5&&v2(),L5=R2+12|0,Y2=e[L5>>2]|0,p5=(Y2|0)==(o2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0>>0,j2&&v2(),h2=y2+8|0,w5=e[h2>>2]|0,i5=(w5|0)==(o2|0),i5?$=h2:v2()),s5=R2+12|0,e[s5>>2]=y2,e[$>>2]=R2}else{g=D1+24|0,d5=t+g|0,J2=e[d5>>2]|0,v=D1+12|0,f5=t+v|0,r5=e[f5>>2]|0,M5=(r5|0)==(o2|0);do if(M5){if(L=D1+20|0,h0=t+L|0,j=e[h0>>2]|0,u0=(j|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else X2=$0,v5=c0;else X2=j,v5=h0;for(;;){if(Z=X2+20|0,m0=e[Z>>2]|0,g0=(m0|0)==0,!g0){X2=m0,v5=Z;continue}if(f0=X2+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=X2,z5=v5;break}else X2=n0,v5=f0}if(C0=z5>>>0>>0,C0)v2();else{e[z5>>2]=0,F2=c5;break}}else if(E=D1+8|0,e0=t+E|0,K=e[e0>>2]|0,a0=K>>>0>>0,a0&&v2(),W=K+12|0,r0=e[W>>2]|0,s0=(r0|0)==(o2|0),s0||v2(),z=r5+8|0,o0=e[z>>2]|0,q=(o0|0)==(o2|0),q){e[W>>2]=r5,e[z>>2]=K,F2=r5;break}else v2();while(!1);if(S0=(J2|0)==0,!S0){if(d=D1+28|0,Q0=t+d|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(o2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),P0=J2+16|0,q0=e[P0>>2]|0,k0=(q0|0)==(o2|0),k0?e[P0>>2]=F2:(z0=J2+20|0,e[z0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,K0=F2>>>0>>0,K0&&v2(),J0=F2+24|0,e[J0>>2]=J2,m=D1+16|0,H0=t+m|0,Z0=e[H0>>2]|0,O0=(Z0|0)==0;do if(!O0)if(V0=Z0>>>0>>0,V0)v2();else{s1=F2+16|0,e[s1>>2]=Z0,Y0=Z0+24|0,e[Y0>>2]=F2;break}while(!1);if(I=D1+20|0,i1=t+I|0,x0=e[i1>>2]|0,h1=(x0|0)==0,!h1)if(g1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{d1=F2+20|0,e[d1>>2]=x0,u1=x0+24|0,e[u1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(c1=U&1,a1=I5|c1,$1=a1|2,e[G>>2]=$1,N=I5|4,j0=t+N|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=U&1,w1=B1|o,v1=w1|2,e[G>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,NQ(p1,g5),E5=t,E5|0)}function NQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0,G0=0,K0=0,J0=0,H0=0,Z0=0,O0=0,V0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,J1=0,q1=0,H1=0,V1=0,Y1=0,X1=0,o2=0,j1=0,O1=0,u2=0,W1=0,I2=0,a2=0,C2=0,A2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,$2=0,e2=0,s2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,G2=0,L2=0,P2=0,p2=0,K2=0,O2=0,z2=0,U2=0,H2=0,W2=0,A5=0,V2=0,N1=0,e5=0,F5=0,t5=0,_5=0,Z2=0,I5=0,b5=0,V5=0,g5=0,b2=0,B5=0,o5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,j2=0,h2=0,w5=0,i5=0,s5=0,d5=0,J2=0,f5=0,r5=0,M5=0,X2=0,c5=0,F2=0,v5=0,z5=0,i3=0,E5=0,I3=0,d3=0,W5=0,r3=0,a3=0,B3=0,N5=0,Z5=0,x3=0,f3=0,w3=0,X3=0,H3=0,X5=0,_3=0,t3=0,s6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,U3=0,E6=0,b3=0,L3=0,D3=0,a6=0,i6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,n6=0,o6=0,C6=0,K3=0,F3=0,W3=0,e6=0,R6=0,l6=0,o3=0,J6=0,A3=0,c6=0,B6=0,T3=0,H6=0,A6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,V9=0,y6=0,q6=0,a9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,w4=0,Z9=0,v9=0,v4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,k4=0,Se=0;Se=C,j=t+o|0,u0=t+4|0,H2=e[u0>>2]|0,C6=H2&1,X6=(C6|0)==0;do if(X6){if(P6=e[t>>2]|0,V9=H2&3,R9=(V9|0)==0,R9)return;if(qe=0-P6|0,v9=t+qe|0,c0=P6+o|0,S0=e[138266]|0,T0=v9>>>0>>0,T0&&v2(),H0=e[138267]|0,m1=(v9|0)==(H0|0),m1){if(v=o+4|0,ne=t+v|0,$0=e[ne>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){a=v9,$=c0;break}e[138264]=c0,m0=$0&-2,e[ne>>2]=m0,g0=c0|1,L=4-P6|0,f0=t+L|0,e[f0>>2]=g0,e[j>>2]=c0;return}if(p1=P6>>>3,U1=P6>>>0<256,U1){if(W=8-P6|0,X1=t+W|0,d2=e[X1>>2]|0,r0=12-P6|0,D2=t+r0|0,W2=e[D2>>2]|0,V5=p1<<1,x5=553088+(V5<<2)|0,l5=(d2|0)==(x5|0),l5||(X2=d2>>>0>>0,X2&&v2(),a3=d2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(v9|0),S5||v2()),a6=(W2|0)==(d2|0),a6){M6=1<>>0>>0,H6&&v2(),A6=W2+8|0,D6=e[A6>>2]|0,G6=(D6|0)==(v9|0),G6?E=A6:v2()),e9=d2+12|0,e[e9>>2]=W2,e[E>>2]=d2,a=v9,$=c0;break}R=24-P6|0,Q6=t+R|0,P3=e[Q6>>2]|0,F=12-P6|0,r9=t+F|0,V6=e[r9>>2]|0,o9=(V6|0)==(v9|0);do if(o9){if(N=16-P6|0,G=N+4|0,h9=t+G|0,n9=e[h9>>2]|0,C9=(n9|0)==0,C9)if(B9=t+N|0,Q9=e[B9>>2]|0,d9=(Q9|0)==0,d9){de=0;break}else Je=Q9,d4=B9;else Je=n9,d4=h9;for(;;){if(f9=Je+20|0,y6=e[f9>>2]|0,q6=(y6|0)==0,!q6){Je=y6,d4=f9;continue}if(a9=Je+16|0,Y9=e[a9>>2]|0,y9=(Y9|0)==0,y9){O9=Je,f4=d4;break}else Je=Y9,d4=a9}if(ye=f4>>>0>>0,ye)v2();else{e[f4>>2]=0,de=O9;break}}else if(a0=8-P6|0,g9=t+a0|0,U6=e[g9>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(v9|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,s9=(O6|0)==(v9|0),s9){e[F6>>2]=V6,e[O3>>2]=U6,de=V6;break}else v2();while(!1);if(ge=(P3|0)==0,ge)a=v9,$=c0;else{if(Y=28-P6|0,pe=t+Y|0,z9=e[pe>>2]|0,re=553352+(z9<<2)|0,w9=e[re>>2]|0,K6=(v9|0)==(w9|0),K6){if(e[re>>2]=de,I6=(de|0)==0,I6){A9=1<>>0>>0,Re&&v2(),Fe=P3+16|0,Ge=e[Fe>>2]|0,r4=(Ge|0)==(v9|0),r4?e[Fe>>2]=de:(ve=P3+20|0,e[ve>>2]=de),He=(de|0)==0,He){a=v9,$=c0;break}J9=e[138266]|0,Ve=de>>>0>>0,Ve&&v2(),he=de+24|0,e[he>>2]=P3,e0=16-P6|0,Ue=t+e0|0,Ee=e[Ue>>2]|0,w4=(Ee|0)==0;do if(!w4)if(Z9=Ee>>>0>>0,Z9)v2();else{v4=de+16|0,e[v4>>2]=Ee,V4=Ee+24|0,e[V4>>2]=de;break}while(!1);if(K=e0+4|0,nt=t+K|0,Ye=e[nt>>2]|0,Y4=(Ye|0)==0,Y4)a=v9,$=c0;else if(ze=e[138266]|0,n4=Ye>>>0>>0,n4)v2();else{R4=de+20|0,e[R4>>2]=Ye,ot=Ye+24|0,e[ot>>2]=de,a=v9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,d0=j>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(j|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,W0=a+4|0,e[W0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,P0=(j|0)==(N0|0),P0){q0=e[138264]|0,k0=q0+$|0,e[138264]=k0,e[138267]=a,z0=k0|1,F0=a+4|0,e[F0>>2]=z0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,K0=G0+$|0,J0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,O0=t+x|0,V0=e[O0>>2]|0,M=o+12|0,s1=t+M|0,Y0=e[s1>>2]|0,i1=J0<<1,x0=553088+(i1<<2)|0,o1=(V0|0)==(x0|0),o1||(h1=V0>>>0>>0,h1&&v2(),g1=V0+12|0,d1=e[g1>>2]|0,u1=(d1|0)==(j|0),u1||v2()),A1=(Y0|0)==(V0|0),A1){c1=1<>>0>>0,I1&&v2(),Q1=Y0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(j|0),w1?I=Q1:v2()),v1=V0+12|0,e[v1>>2]=Y0,e[I>>2]=V0}else{U=o+24|0,k1=t+U|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(j|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,Y1)if(z=o+16|0,o2=t+z|0,j1=e[o2>>2]|0,O1=(j1|0)==0,O1){oe=0;break}else Te=j1,ke=o2;else Te=V1,ke=H1;for(;;){if(u2=Te+20|0,W1=e[u2>>2]|0,I2=(W1|0)==0,!I2){Te=W1,ke=u2;continue}if(a2=Te+16|0,C2=e[a2>>2]|0,A2=(C2|0)==0,A2){h4=Te,o4=ke;break}else Te=C2,ke=a2}if(K1=o4>>>0>>0,K1)v2();else{e[o4>>2]=0,oe=h4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(j|0),G1||v2(),x1=b1+8|0,J1=e[x1>>2]|0,q1=(J1|0)==(j|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(l2=(L1|0)==0,!l2){if(h0=o+28|0,i2=t+h0|0,c2=e[i2>>2]|0,r2=553352+(c2<<2)|0,$2=e[r2>>2]|0,e2=(j|0)==($2|0),e2){if(e[r2>>2]=oe,z4=(oe|0)==0,z4){s2=1<>>0>>0,Q2&&v2(),G2=L1+16|0,L2=e[G2>>2]|0,P2=(L2|0)==(j|0),P2?e[G2>>2]=oe:(p2=L1+20|0,e[p2>>2]=oe),K2=(oe|0)==0,K2)break;O2=e[138266]|0,z2=oe>>>0>>0,z2&&v2(),U2=oe+24|0,e[U2>>2]=L1,t0=o+16|0,A5=t+t0|0,V2=e[A5>>2]|0,N1=(V2|0)==0;do if(!N1)if(e5=V2>>>0>>0,e5)v2();else{F5=oe+16|0,e[F5>>2]=V2,t5=V2+24|0,e[t5>>2]=oe;break}while(!1);if(D=o+20|0,_5=t+D|0,Z2=e[_5>>2]|0,I5=(Z2|0)==0,!I5)if(b5=e[138266]|0,g5=Z2>>>0>>0,g5)v2();else{b2=oe+20|0,e[b2>>2]=Z2,B5=Z2+24|0,e[B5>>2]=oe;break}}}while(!1);if(o5=K0|1,R2=a+4|0,e[R2>>2]=o5,M2=a+K0|0,e[M2>>2]=K0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=K0;return}else g=K0}else T5=C0&-2,e[p0>>2]=T5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,L5=a+$|0,e[L5>>2]=$,g=$;if(Y2=g>>>3,p5=g>>>0<256,p5){$5=Y2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,i5=e[138266]|0,s5=w5>>>0>>0,s5?v2():(Q=h2,u4=w5)),e[Q>>2]=a,d5=u4+12|0,e[d5>>2]=a,J2=a+8|0,e[J2>>2]=u4,f5=a+12|0,e[f5>>2]=u5;return}if(r5=g>>>8,M5=(r5|0)==0,M5?Ce=0:(c5=g>>>0>16777215,c5?Ce=31:(F2=r5+1048320|0,v5=F2>>>16,z5=v5&8,i3=r5<>>16,d3=I3&4,W5=d3|z5,r3=i3<>>16,Z5=N5&2,x3=W5|Z5,f3=14-x3|0,w3=r3<>>15,H3=f3+X3|0,X5=H3<<1,_3=H3+7|0,s6=g>>>_3,G3=s6&1,V3=G3|X5,Ce=V3)),c3=553352+(Ce<<2)|0,g3=a+28|0,e[g3>>2]=Ce,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,J5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}U3=e[c3>>2]|0,E6=U3+4|0,b3=e[E6>>2]|0,L3=b3&-8,D3=(L3|0)==(g|0);e:do if(D3)Pe=U3;else{for(i6=(Ce|0)==31,z3=Ce>>>1,j5=25-z3|0,M3=i6?0:j5,h3=g<>>31,f6=(I4+16|0)+(r6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){d=f6,k9=I4;break}if(J3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Pe=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=k9,R3=a+12|0,e[R3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Pe+8|0,F3=e[o6>>2]|0,W3=e[138266]|0,e6=F3>>>0>=W3>>>0,fe=Pe>>>0>=W3>>>0,R6=e6&fe,R6||v2(),l6=F3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=F3,J6=a+12|0,e[J6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function uD(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function il(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function GQ(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(il(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function UQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ce(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return QS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function oA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ce(t,o,a)|0;return t|0}function xC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function G_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function PQ(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function hD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=n5($,a)|0,d=t>>>16,m=(g>>>16)+(n5($,d)|0)|0,I=o>>>16,E=n5(I,a)|0,Z6=((m>>>16)+(n5(I,d)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function U_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,d^o,g,d)|0,Q=Z6,B=ss(m^a,I^$,m,I)|0,S=m^g,b=I^d,v=$E(E,Q,B,Z6,0)|0,w=ss(v^S,Z6^b,S,b)|0,w|0}function P_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=ss(d^t,m^o,d,m)|0,B=Z6,S=ss(I^a,E^$,I,E)|0,$E(Q,B,S,Z6,g)|0,b=ss(e[g>>2]^d,e[g+4>>2]^m,d,m)|0,v=Z6,C=w,Z6=v,b|0}function dD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0;return g=t,d=a,m=hD(g,d)|0,I=Z6,E=n5(o,d)|0,Z6=((n5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function O_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=$E(t,o,a,$,0)|0,g|0}function q_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,$E(t,o,a,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function $E(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,N=0,G=0,U=0,Y=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,z=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,m0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,W0=0,M0=0,v0=0,T0=0,N0=0,P0=0,q0=0,k0=0,z0=0,F0=0,L0=0;if(d=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0):(S&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(d>>>0)/(E>>>0)>>>0,Z6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(K=rs(B|0)|0,a0=K-(rs(I|0)|0)|0,a0>>>0<=31){W=a0+1|0,r0=31-a0|0,s0=a0-31>>31,t0=W,h0=d>>>(W>>>0)&s0|I<>>(W>>>0)&s0,o0=0,z=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(rs(E|0)|0)+33|0,F=R-(rs(I|0)|0)|0,N=64-F|0,G=32-F|0,U=G>>31,Y=F-32|0,e0=Y>>31,t0=F,h0=G-1>>31&I>>>(Y>>>0)|(I<>>(F>>>0))&e0,q=e0&I>>>(F>>>0),o0=d<>>(Y>>>0))&U|d<>31;break}return g|0&&(e[g>>2]=M&d,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,Z6=L0,F0|0):(L=PQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|d>>>(L>>>0)|0,Z6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,Z6=L0,F0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,Z6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((PQ(B|0)|0)>>>0),Z6=L0,F0|0;if(w=rs(B|0)|0,D=w-(rs(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,t0=y,h0=I<>>(y>>>0),q=I>>>(y>>>0),o0=0,z=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,Z6=L0,F0|0):(L0=0,F0=0,Z6=L0,F0|0)}while(!1);if(!(t0|0))P0=z,N0=o0,T0=q,v0=h0,M0=0,W0=0;else{for(j=0|a&-1,u0=Q|$&0,c0=ns(j|0,u0|0,-1,-1)|0,$0=Z6,n0=z,f0=o0,g0=q,m0=h0,Z=t0,l0=0;d0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(m0<<1|n0>>>31),S0=m0>>>31|g0<<1|0,ss(c0,$0,C0,S0)|0,Q0=Z6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=ss(C0,S0,b0&j,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=Z6,_0=Z-1|0,_0|0;)n0=d0,f0=p0,g0=B0,m0=w0,Z=_0,l0=E0;P0=d0,N0=p0,T0=B0,v0=w0,M0=0,W0=E0}return q0=N0,k0=0,z0=P0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|q0)>>>31|z0<<1|(k0<<1|q0>>>31)&0|M0,F0=(q0<<1|0)&-2|W0,Z6=L0,F0|0}function fD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,RC[t&3](o|0,a|0,$|0,g|0)|0}function ID(t,o){t=t|0,o=o|0,as[t&7](o|0)}function mD(t,o,a){t=t|0,o=o|0,a=a|0,FC[t&3](o|0,a|0)}function pD(t,o){return t=t|0,o=o|0,HQ[t&1](o|0)|0}function ED(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,VQ[t&1](o|0,a|0,$|0)}function CD(t,o,a,$,g,d,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,YQ[t&3](o|0,a|0,$|0,g|0,d|0,m|0,I|0,E|0)|0}function BD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function QD(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,TC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function yD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function LC(t){t=t|0,rn(1)}function OQ(t,o){t=t|0,o=o|0,rn(2)}function wD(t){return t=t|0,rn(3),0}function vD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function qQ(t,o,a,$,g,d,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,rn(5),0}function rl(t,o){return t=t|0,o=o|0,rn(6),0}function MC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var RC=[yD,cb,KS,WS],as=[LC,Ab,$b,Cb,Mb,Rb,LC,LC],FC=[OQ,ob,Fb,OQ],HQ=[wD,Bb],VQ=[vD,pb],YQ=[qQ,Ub,Hb,qQ],pi=[rl,sb,ab,lb,Eb,Qb,Tb,Nb,gb,Lb,Wb,rl,rl,rl,rl,rl],TC=[MC,Gb,Pb,Ob,qb,Vb,MC,MC];return{_memmove:oA,_strlen:il,_strcat:GQ,_free:E2,_i64Add:ns,_encoder_clear:nD,_encoder_transfer_data:AD,_encoder_data_len:aD,_memset:g4,_malloc:M9,_memcpy:ce,_encoder_init:rD,_encoder_process:sD,_bitshift64Lshr:os,_bitshift64Shl:UQ,_strcpy:xC,_encoder_analysis_buffer:oD,runPostSets:uD,stackAlloc:vS,stackSave:kS,stackRestore:SS,establishStackSpace:bS,setThrew:DS,setTempRet0:_S,getTempRet0:xS,dynCall_iiiii:fD,dynCall_vi:ID,dynCall_vii:mD,dynCall_ii:pD,dynCall_viii:ED,dynCall_iiiiiiiii:CD,dynCall_iii:BD,dynCall_iiiiii:QD}}(n.asmGlobalArg,n.asmLibraryArg,P7),h_=n.runPostSets=te.runPostSets,aS=n._strlen=te._strlen,AS=n._strcat=te._strcat,EC=n._free=te._free,d_=n._encoder_init=te._encoder_init,$S=n._i64Add=te._i64Add,lS=n._memmove=te._memmove,f_=n._encoder_transfer_data=te._encoder_transfer_data,I_=n._encoder_process=te._encoder_process,m_=n._encoder_data_len=te._encoder_data_len,cS=n._memset=te._memset,Ru=n._malloc=te._malloc,gS=n._memcpy=te._memcpy,p_=n._encoder_clear=te._encoder_clear,uS=n._bitshift64Lshr=te._bitshift64Lshr,E_=n._encoder_analysis_buffer=te._encoder_analysis_buffer,hS=n._strcpy=te._strcpy,dS=n._bitshift64Shl=te._bitshift64Shl,C_=n.dynCall_iiiii=te.dynCall_iiiii,B_=n.dynCall_vi=te.dynCall_vi,Q_=n.dynCall_vii=te.dynCall_vii,y_=n.dynCall_ii=te.dynCall_ii,w_=n.dynCall_viii=te.dynCall_viii,v_=n.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,k_=n.dynCall_iii=te.dynCall_iii,S_=n.dynCall_iiiiii=te.dynCall_iiiiii;_.stackAlloc=te.stackAlloc,_.stackSave=te.stackSave,_.stackRestore=te.stackRestore,_.establishStackSpace=te.establishStackSpace,_.setTempRet0=te.setTempRet0,_.getTempRet0=te.getTempRet0;var b_=function(){var r={math:{}};r.math.Long=function(J,D0){this.low_=J|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(J){if(-128<=J&&J<128){var D0=r.math.Long.IntCache_[J];if(D0)return D0}var e1=new r.math.Long(J|0,J<0?-1:0);return-128<=J&&J<128&&(r.math.Long.IntCache_[J]=e1),e1},r.math.Long.fromNumber=function(J){return isNaN(J)||!isFinite(J)?r.math.Long.ZERO:J<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:J+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:J<0?r.math.Long.fromNumber(-J).negate():new r.math.Long(J%r.math.Long.TWO_PWR_32_DBL_|0,J/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(J,D0){return new r.math.Long(J,D0)},r.math.Long.fromString=function(J,D0){if(J.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+J);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var J=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(J&1<0},r.math.Long.prototype.greaterThanOrEqual=function(J){return this.compare(J)>=0},r.math.Long.prototype.compare=function(J){if(this.equals(J))return 0;var D0=this.isNegative(),e1=J.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(J).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(J){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=J.high_>>>16,N3=J.high_&65535,i9=J.low_>>>16,H9=J.low_&65535,P9=0,t4=0,Ai=0,rr=0;return rr+=e3+H9,Ai+=rr>>>16,rr&=65535,Ai+=B2+i9,t4+=Ai>>>16,Ai&=65535,t4+=e1+N3,P9+=t4>>>16,t4&=65535,P9+=D0+O5,P9&=65535,r.math.Long.fromBits(Ai<<16|rr,P9<<16|t4)},r.math.Long.prototype.subtract=function(J){return this.add(J.negate())},r.math.Long.prototype.multiply=function(J){if(this.isZero())return r.math.Long.ZERO;if(J.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return J.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(J.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return J.isNegative()?this.negate().multiply(J.negate()):this.negate().multiply(J).negate();if(J.isNegative())return this.multiply(J.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&J.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*J.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=J.high_>>>16,N3=J.high_&65535,i9=J.low_>>>16,H9=J.low_&65535,P9=0,t4=0,Ai=0,rr=0;return rr+=e3*H9,Ai+=rr>>>16,rr&=65535,Ai+=B2*H9,t4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,t4+=Ai>>>16,Ai&=65535,t4+=e1*H9,P9+=t4>>>16,t4&=65535,t4+=B2*i9,P9+=t4>>>16,t4&=65535,t4+=e3*N3,P9+=t4>>>16,t4&=65535,P9+=D0*H9+e1*i9+B2*N3+e3*O5,P9&=65535,r.math.Long.fromBits(Ai<<16|rr,P9<<16|t4)},r.math.Long.prototype.div=function(J){if(J.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(J.equals(r.math.Long.ONE)||J.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(J.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(J).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return J.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(J.multiply(e1)),B2=e1.add(O5.div(J));return B2}else if(J.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return J.isNegative()?this.negate().div(J.negate()):this.negate().div(J).negate();if(J.isNegative())return this.div(J.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(J);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/J.toNumber())),N3=Math.ceil(Math.log(e1)/Math.LN2),i9=N3<=48?1:Math.pow(2,N3-48),H9=r.math.Long.fromNumber(e1),P9=H9.multiply(J);P9.isNegative()||P9.greaterThan(O5);)e1-=i9,H9=r.math.Long.fromNumber(e1),P9=H9.multiply(J);H9.isZero()&&(H9=r.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}return e3},r.math.Long.prototype.modulo=function(J){return this.subtract(this.div(J).multiply(J))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(J){return r.math.Long.fromBits(this.low_&J.low_,this.high_&J.high_)},r.math.Long.prototype.or=function(J){return r.math.Long.fromBits(this.low_|J.low_,this.high_|J.high_)},r.math.Long.prototype.xor=function(J){return r.math.Long.fromBits(this.low_^J.low_,this.high_^J.high_)},r.math.Long.prototype.shiftLeft=function(J){if(J&=63,J==0)return this;var D0=this.low_;if(J<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-J)}else return r.math.Long.fromBits(0,D0<>>J|D0<<32-J,D0>>J)}else return r.math.Long.fromBits(D0>>J-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(J){if(J&=63,J==0)return this;var D0=this.high_;if(J<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>J|D0<<32-J,D0>>>J)}else return J==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>J-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,V=(f&16777215)==15715070;function e(J,D0,e1){J!=null&&(typeof J=="number"?this.fromNumber(J,D0,e1):D0==null&&typeof J!="string"?this.fromString(J,256):this.fromString(J,D0))}function X0(){return new e(null)}function r1(J,D0,e1,B2,e3,O5){for(;--O5>=0;){var N3=D0*this[J++]+e1[B2]+e3;e3=Math.floor(N3/67108864),e1[B2++]=N3&67108863}return e3}function x2(J,D0,e1,B2,e3,O5){for(var N3=D0&32767,i9=D0>>15;--O5>=0;){var H9=this[J]&32767,P9=this[J++]>>15,t4=i9*H9+P9*N3;H9=N3*H9+((t4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(H9>>>30)+(t4>>>15)+i9*P9+(e3>>>30),e1[B2++]=H9&1073741823}return e3}function s(J,D0,e1,B2,e3,O5){for(var N3=D0&16383,i9=D0>>14;--O5>=0;){var H9=this[J]&16383,P9=this[J++]>>14,t4=i9*H9+P9*N3;H9=N3*H9+((t4&16383)<<14)+e1[B2]+e3,e3=(H9>>28)+(t4>>14)+i9*P9,e1[B2++]=H9&268435455}return e3}V&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):V&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)J[D0]=this[D0];J.t=this.t,J.s=this.s}function Dt(J){this.t=1,this.s=J<0?-1:0,J>0?this[0]=J:J<-1?this[0]=J+DV:this.t=0}function ie(J){var D0=X0();return D0.fromInt(J),D0}function It(J,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(J,D0);return}this.t=0,this.s=0;for(var B2=J.length,e3=!1,O5=0;--B2>=0;){var N3=e1==8?J[B2]&255:W9(J,B2);if(N3<0){J.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=N3:O5+e1>this.DB?(this[this.t-1]|=(N3&(1<>this.DB-O5):this[this.t-1]|=N3<=this.DB&&(O5-=this.DB)}e1==8&&J[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==J;)--this.t}function V7(J){if(this.s<0)return"-"+this.negate().toString(J);var D0;if(J==16)D0=4;else if(J==8)D0=3;else if(J==2)D0=1;else if(J==32)D0=5;else if(J==4)D0=2;else return this.toRadix(J);var e1=(1<0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));N3>=0;)i9>(i9+=this.DB-D0)):(B2=this[N3]>>(i9-=D0)&e1,i9<=0&&(i9+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function Y7(){var J=X0();return e.ZERO.subTo(this,J),J}function wr(){return this.s<0?this.negate():this}function X$(J){var D0=this.s-J.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-J.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-J[e1])!=0)return D0;return 0}function tE(J){var D0=1,e1;return(e1=J>>>16)!=0&&(J=e1,D0+=16),(e1=J>>8)!=0&&(J=e1,D0+=8),(e1=J>>4)!=0&&(J=e1,D0+=4),(e1=J>>2)!=0&&(J=e1,D0+=2),(e1=J>>1)!=0&&(J=e1,D0+=1),D0}function UB(){return this.t<=0?0:this.DB*(this.t-1)+tE(this[this.t-1]^this.s&this.DM)}function PB(J,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+J]=this[e1];for(e1=J-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+J,D0.s=this.s}function OB(J,D0){for(var e1=J;e1=0;--i9)D0[i9+O5+1]=this[i9]>>B2|N3,N3=(this[i9]&e3)<=0;--i9)D0[i9]=0;D0[O5]=N3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function HB(J,D0){D0.s=this.s;var e1=Math.floor(J/this.DB);if(e1>=this.t){D0.t=0;return}var B2=J%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var N3=e1+1;N3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(J.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=J.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function VB(J,D0){var e1=this.abs(),B2=J.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)J[e1]=0;for(e1=0;e1=D0.DV&&(J[e1+D0.t]-=D0.DV,J[e1+D0.t+1]=1)}J.t>0&&(J[J.t-1]+=D0.am(e1,D0[e1],J,2*e1,0,1)),J.s=0,J.clamp()}function zB(J,D0,e1){var B2=J.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var P9=O5.t,t4=O5[P9-1];if(t4!=0){var Ai=t4*(1<1?O5[P9-2]>>this.F2:0),rr=this.FV/Ai,oQ=(1<=0&&(e1[e1.t++]=1,e1.subTo(Oi,e1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var iE=e1[--nA]==t4?this.DM:Math.floor(e1[nA]*rr+(e1[nA-1]+sQ)*oQ);if((e1[nA]+=O5.am(0,iE,e1,Tu,0,P9))0&&e1.rShiftTo(H9,e1),N3<0&&e.ZERO.subTo(e1,e1)}}}function JB(J){var D0=X0();return this.abs().divRemTo(J,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&J.subTo(D0,D0),D0}function tA(J){this.m=J}function KB(J){return J.s<0||J.compareTo(this.m)>=0?J.mod(this.m):J}function WB(J){return J}function ZB(J){J.divRemTo(this.m,null,J)}function jB(J,D0,e1){J.multiplyTo(D0,e1),this.reduce(e1)}function iA(J,D0){J.squareTo(D0),this.reduce(D0)}tA.prototype.convert=KB,tA.prototype.revert=WB,tA.prototype.reduce=ZB,tA.prototype.mulTo=jB,tA.prototype.sqrTo=iA;function ir(){if(this.t<1)return 0;var J=this[0];if(!(J&1))return 0;var D0=J&3;return D0=D0*(2-(J&15)*D0)&15,D0=D0*(2-(J&255)*D0)&255,D0=D0*(2-((J&65535)*D0&65535))&65535,D0=D0*(2-J*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function Hn(J){this.m=J,this.mp=J.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function rA(J){var D0=X0();return J.copyTo(D0),this.reduce(D0),D0}function Vn(J){for(;J.t<=this.mt2;)J[J.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&J.DM;for(e1=D0+this.m.t,J[e1]+=this.m.am(0,B2,J,D0,0,this.m.t);J[e1]>=J.DV;)J[e1]-=J.DV,J[++e1]++}J.clamp(),J.drShiftTo(this.m.t,J),J.compareTo(this.m)>=0&&J.subTo(this.m,J)}function XB(J,D0){J.squareTo(D0),this.reduce(D0)}function eQ(J,D0,e1){J.multiplyTo(D0,e1),this.reduce(e1)}Hn.prototype.convert=Fu,Hn.prototype.revert=rA,Hn.prototype.reduce=Vn,Hn.prototype.mulTo=eQ,Hn.prototype.sqrTo=XB;function tQ(){return(this.t>0?this[0]&1:this.s)==0}function is(J,D0){if(J>4294967295||J<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=tE(J)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(J&1<0)D0.mulTo(B2,e3,e1);else{var N3=e1;e1=B2,B2=N3}return D0.revert(e1)}function iQ(J,D0){var e1;return J<256||D0.isEven()?e1=new tA(D0):e1=new Hn(D0),this.exp(J,e1)}e.prototype.copyTo=Qe,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=e4,e.prototype.dlShiftTo=PB,e.prototype.drShiftTo=OB,e.prototype.lShiftTo=qB,e.prototype.rShiftTo=HB,e.prototype.subTo=Z6,e.prototype.multiplyTo=VB,e.prototype.squareTo=YB,e.prototype.divRemTo=zB,e.prototype.invDigit=ir,e.prototype.isEven=tQ,e.prototype.exp=is,e.prototype.toString=V7,e.prototype.negate=Y7,e.prototype.abs=wr,e.prototype.compareTo=X$,e.prototype.bitLength=UB,e.prototype.mod=JB,e.prototype.modPowInt=iQ,e.ZERO=ie(0),e.ONE=ie(1);function Yn(J,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,N3=0,i9=0;i9=e1&&(this.dMultiply(B2),this.dAddOffset(N3,0),O5=0,N3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(N3,0)),e3&&e.ZERO.subTo(this,this)}function tn(J){return Math.floor(Math.LN2*this.DB/Math.log(J))}function BC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function n5(J){this[this.t]=this.am(0,J-1,this,0,0,this.t),++this.t,this.clamp()}function rQ(J,D0){if(J!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=J;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function rs(J){if(J==null&&(J=10),this.signum()==0||J<2||J>36)return"0";var D0=this.chunkSize(J),e1=Math.pow(J,D0),B2=ie(e1),e3=X0(),O5=X0(),N3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)N3=(e1+O5.intValue()).toString(J).substr(1)+N3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(J)+N3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(J.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=J.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=tn,e.prototype.signum=BC,e.prototype.dMultiply=n5,e.prototype.dAddOffset=rQ,e.prototype.toRadix=rs,e.prototype.intValue=rn,e.prototype.addTo=nQ;var c7={abs:function(J,D0){var e1=new r.math.Long(J,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,G9[bt>>2]=B2.low_,G9[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(J,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(J.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(J,D0,e1){var B2=new r.math.Long(J,D0).toString();if(e1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(J,D0,e1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(J,D0);var N3=new e;N3.fromString(e1,10);var i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(N3)<0?(O5=N3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var t4=r.math.Long.fromString(O5.toString());if(G9[bt>>2]=t4.low_,G9[bt+4>>2]=t4.high_,P9)throw"range error"}};return c7}();function eA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}eA.prototype=new Error,eA.prototype.constructor=eA;var FB,eE=null,fS=!1;q7=function r(){n.calledRun||CC(),n.calledRun||(q7=r)},n.callMain=n.callMain=function(l){Ne(v8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ne(Jp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)V.push(0)}var V=[C3(en(n.thisProgram),"i8",Za)];f();for(var e=0;e0||(Lu(),v8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!i0&&(Zo(),kB(),c&&eE!==null&&n.printErr("pre-main prep time: "+(Date.now()-eE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&GB&&n.callMain(r),Y$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=CC;function TB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(i0=!0,n1=r,k7=FB,Kp(),n.onExit&&n.onExit(r)),h?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):T&&typeof quit=="function"&&quit(r),new eA(r)}n.exit=n.exit=TB;var NB=[];function ts(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",i0=!0,n1=1;var l=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+Vp()+l;throw NB&&NB.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=ts,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var GB=!0;n.noInitialRun&&(GB=!1),CC();var IS=n._encoder_init,mS=n._encoder_clear,pS=n._encoder_analysis_buffer,ES=n._encoder_process,CS=n._encoder_data_len,BS=n._encoder_transfer_data,S7=n.HEAPU8,W$=n.HEAPU32,Z$=n.HEAPF32,j$=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=IS(this.numChannels,r,u)};j$.prototype.encode=function(r){for(var l=r[0].length,u=pS(this.encoder,l)>>2,f=0;f>2);this.process(l)},j$.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},j$.prototype.cancel=j$.prototype.cleanup=function(){mS(this.encoder),delete this.encoder,delete this.oggBuffers},j$.prototype.process=function(r){ES(this.encoder,r);var l=CS(this.encoder);if(l>0){var u=BS(this.encoder);this.oggBuffers.push(new Uint8Array(S7.subarray(u,u+l)))}},$C.OggVorbisEncoder=j$}};typeof window<"u"&&window===self&&$C.init();function wk(n,i,A,c){let h=new $C.OggVorbisEncoder(A,i,c);h.encode(n);let p=h.finish(),T=p.reduce((X,U0)=>X+U0.length,0),H=new Uint8Array(T),O=0;for(let X of p)H.set(X,O),O+=X.length;return H}var lC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",h=>{h.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async h=>{h.preventDefault(),c.classList.add("hidden");let p=h.dataTransfer.files[0];if(!p)return;let T=p.name,H=await p.arrayBuffer(),O=H.slice(0,4),X=new TextDecoder;if(X.decode(O)==="RIFF"){let U0=H.slice(8,12);if(X.decode(U0)==="RMID"){i({buf:H,name:T});return}A(H);return}i({buf:H,name:T})})}};async function vk(){let n="locale.exportAudio.formats.formats.dls.warning.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;_e(i.id),R7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),h=Vo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&Cu(h,c);let p=h.writeDLS(),T=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(T,`${h.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var a_=!1,Er=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,h=a_){this.localeManager=c,this.context=i,this.enableDebug=h,this.isExporting=!1,this.compressionFunc=wk;let p;this.ready=new Promise(T=>p=T),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),h=document.createElement("a");h.href=c,h.download=A,h.click(),U5(h)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let P of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path"));for(let P of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(P,"innerText",P.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(P,"title",P.getAttribute("translate-path-title")+".description");this.soundFont=A;let h=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":yk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+h,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let T=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),O=await(await fetch(T)).arrayBuffer();this.impulseResponseRaw=O,this.impulseResponse=await i.decodeAudioData(O.slice(0,O.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new hu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",P=>{this.sfError&&this.sfError(P.message)}),await this.synth.isReady,this.midHandler=new HE,this.wml=new VE(this.synth),this.keyboard=new Dp(this.channelColors,this.synth);let X=document.getElementById("note_canvas");X.width=window.innerWidth*window.devicePixelRatio,X.height=window.innerHeight*window.devicePixelRatio,this.renderer=new T7(this.channelColors,this.synth,X,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let U0=!1,_=()=>{if(X.width=window.innerWidth*window.devicePixelRatio,X.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),mr){if(window.innerWidth/window.innerHeight>1){if(!U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!0,P.parentElement.insertBefore(i0,P)}}else if(U0){let P=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");U0=!1,P.parentElement.insertBefore(P,i0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),mr&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Kr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new WE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Oo(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new lC(P=>{this.play([{binary:P.buf,altName:P.name}]),P.name.length>20&&(P.name=P.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P.name},P=>{this.reloadSf(P)}),document.addEventListener("keydown",P=>{switch(P.key.toLowerCase()){case si.cinematicMode:this.seq&&this.seq.pause();let i0=window.prompt(`Cinematic mode activated! Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),i0===null)return;X.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${i0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case si.videoMode:this.seq&&this.seq.pause();let n1=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(n1===null)return;let S1=document.createElement("video");S1.src=n1,S1.classList.add("secret_video"),X.parentElement.appendChild(S1),S1.play(),window.video=S1,this.seq&&(S1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),S1.play(),this.seq.currentTime=0),document.addEventListener("keydown",f1=>{f1.key===" "&&(S1.paused?S1.play():S1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);Q4(new K5(i),4).toLowerCase()==="dls "&&c4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{_e(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{_e(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new TE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),A=Yo(this.soundFont),c=FE(A.writeDLS(),i,A),h=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(h,`${i.midiName}.rmi`)}downloadDesfont(){let i=Yo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};pr.prototype.exportSong=Ck;pr.prototype._exportAudioData=xv;pr.prototype._doExportAudioData=_v;pr.prototype.exportMidi=Lv;pr.prototype._exportSoundfont=Ek;pr.prototype._exportDLS=wk;pr.prototype._exportRMIDI=Bk;var a_=44100;gy(!0,!0,!0,!0);var Wr=document.getElementById("title"),vk=document.getElementById("progress_bar"),L$=document.getElementById("midi_file_input");L$.value="";L$.focus();var uB=document.getElementById("export_button");uB.style.display="none";var dB=!1;window.loadedSoundfonts=[];var A_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=A_;async function $_(n,i){let A=await fetch(`${n}`);if(!A.ok)throw Wr.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),h=await(await A.body).getReader(),p=!1,U;try{U=new Uint8Array(parseInt(c))}catch(O){let X="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(X=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),c4("Warning",[{type:"text",textContent:X}]),O}let j=0;do{let O=await h.read();O.value&&(U.set(O.value,j),j+=O.value.length),p=O.done;let X=Math.round(j/c*100);i(X)}while(!p);return U.buffer}async function hB(n){if(!dB){setTimeout(()=>hB(n),100);return}await manager.ready;let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});Wr.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(A):manager.play(A),uB.style.display="flex",uB.onclick=window.manager.exportSong.bind(window.manager)}async function kk(n){async function i(){if(!window.audioContextMain){Wr.innerText="Press anywhere to start the app";return}window.manager?(window.manager.seq&&window.manager.seq.pause(),await window.manager.reloadSf(window.soundFontParser),window.manager.seq&&(window.manager.seq.currentTime-=.1)):(window.manager=new pr(audioContextMain,soundFontParser,Sk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Wr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),dB=!0}if(window.loadedSoundfonts.find(c=>c.name===n)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===n).sf,await i();return}Wr.innerText="Downloading soundfont...";let A=await $_(n,c=>vk.style.width=`${c/100*Wr.offsetWidth}px`);Wr.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=A,vk.style.width="0",window.loadedSoundfonts.push({name:n,sf:window.soundFontParser}),i()}),Wr.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let n=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new n({sampleRate:a_}),window.soundFontParser&&(window.manager=new pr(audioContextMain,soundFontParser,Sk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Wr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),dB=!0)}document.body.onclick=null};var gB=[],Sk=new JE(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async n=>{if(!n.ok)throw Wr.innerText="Error fetching soundfonts!",n.statusText;let i=document.getElementById("sf_selector");gB=JSON.parse(await n.text());for(let A of gB){let c=document.createElement("option");c.value=A.name;let h=A.name;h.length>29&&(h=h.substring(0,30)+"..."),c.innerText=h,i.appendChild(c)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),kk(i.value),window.manager.seq&&(Wr.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await kk(gB[0].name),L$.files[0]&&await hB(L$.files),L$.onchange=async()=>{L$.files[0]&&await hB(L$.files)}});function l_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=l_;window.savedSettings=new Promise(n=>{fetch("/getsettings").then(i=>i.json().then(A=>{n(A)}))});window.isLocalEdition=!0; +Note: the video will be available in console as 'video'`,"");if(n1===null)return;let S1=document.createElement("video");S1.src=n1,S1.classList.add("secret_video"),X.parentElement.appendChild(S1),S1.play(),window.video=S1,this.seq&&(S1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),S1.play(),this.seq.currentTime=0),document.addEventListener("keydown",f1=>{f1.key===" "&&(S1.paused?S1.play():S1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);Q4(new K5(i),4).toLowerCase()==="dls "&&c4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{_e(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{_e(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new UE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),A=Vo(this.soundFont),c=GE(A.writeDLS(),i,A),h=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(h,`${i.midiName}.rmi`)}downloadDesfont(){let i=Vo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Er.prototype.exportSong=Bk;Er.prototype._exportAudioData=Lv;Er.prototype._doExportAudioData=xv;Er.prototype.exportMidi=Mv;Er.prototype._exportSoundfont=Ck;Er.prototype._exportDLS=vk;Er.prototype._exportRMIDI=Qk;var A_=44100;uy(!0,!0,!0,!0);var X7=document.getElementById("title"),kk=document.getElementById("progress_bar"),L$=document.getElementById("midi_file_input");L$.value="";L$.focus();var hB=document.getElementById("export_button");hB.style.display="none";var fB=!1;window.loadedSoundfonts=[];var $_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=$_;async function l_(n,i){let A=await fetch(`${n}`);if(!A.ok)throw X7.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),h=await(await A.body).getReader(),p=!1,T;try{T=new Uint8Array(parseInt(c))}catch(O){let X="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(X=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),c4("Warning",[{type:"text",textContent:X}]),O}let H=0;do{let O=await h.read();O.value&&(T.set(O.value,H),H+=O.value.length),p=O.done;let X=Math.round(H/c*100);i(X)}while(!p);return T.buffer}async function dB(n){if(!fB){setTimeout(()=>dB(n),100);return}await manager.ready;let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});X7.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(A):manager.play(A),hB.style.display="flex",hB.onclick=window.manager.exportSong.bind(window.manager)}async function Sk(n){async function i(){if(!window.audioContextMain){X7.innerText="Press anywhere to start the app";return}window.manager?(window.manager.seq&&window.manager.seq.pause(),await window.manager.reloadSf(window.soundFontParser),window.manager.seq&&(window.manager.seq.currentTime-=.1)):(window.manager=new Er(audioContextMain,soundFontParser,bk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"),fB=!0}if(window.loadedSoundfonts.find(c=>c.name===n)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===n).sf,await i();return}X7.innerText="Downloading soundfont...";let A=await l_(n,c=>kk.style.width=`${c/100*X7.offsetWidth}px`);X7.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=A,kk.style.width="0",window.loadedSoundfonts.push({name:n,sf:window.soundFontParser}),i()}),X7.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let n=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new n({sampleRate:A_}),window.soundFontParser&&(window.manager=new Er(audioContextMain,soundFontParser,bk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),fB=!0,X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"))}document.body.onclick=null};var uB=[],bk=new ZE(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async n=>{if(!n.ok)throw X7.innerText="Error fetching soundfonts!",n.statusText;let i=document.getElementById("sf_selector");uB=JSON.parse(await n.text());for(let A of uB){let c=document.createElement("option");c.value=A.name;let h=A.name;h.length>29&&(h=h.substring(0,30)+"..."),c.innerText=h,i.appendChild(c)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),Sk(i.value),window.manager.seq&&(X7.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Sk(uB[0].name),L$.files[0]&&await dB(L$.files),L$.onchange=async()=>{L$.files[0]&&await dB(L$.files)}});function c_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=c_;window.savedSettings=new Promise(n=>{fetch("/getsettings").then(i=>i.json().then(A=>{n(A)}))});window.isLocalEdition=!0;